Commit 70dac10aa6114eb1559b7860c6f8c03ddd1f48f3
Committed by
João M. M. da Silva
1 parent
2b575ca8
Exists in
master
and in
29 other branches
sending correct save metric configuration request
Showing
6 changed files
with
40 additions
and
9 deletions
Show diff stats
plugins/mezuro/lib/kalibro/client/configuration_client.rb
| ... | ... | @@ -4,7 +4,7 @@ class Kalibro::Client::ConfigurationClient |
| 4 | 4 | configuration = Kalibro::Entities::Configuration.new |
| 5 | 5 | configuration.name = configuration_content.name |
| 6 | 6 | configuration.description = configuration_content.description |
| 7 | - configuration.metric_ids = configuration_content.metric_ids | |
| 7 | + configuration.create_metric_configurations(configuration_content.metrics) | |
| 8 | 8 | new.save(configuration) |
| 9 | 9 | end |
| 10 | 10 | ... | ... |
plugins/mezuro/lib/kalibro/entities/configuration.rb
| 1 | 1 | class Kalibro::Entities::Configuration < Kalibro::Entities::Entity |
| 2 | 2 | |
| 3 | - attr_accessor :name, :description, :metric_configuration, :metric_ids | |
| 3 | + attr_accessor :name, :description, :metric_configuration | |
| 4 | 4 | |
| 5 | 5 | def metric_configuration=(value) |
| 6 | 6 | @metric_configuration = to_entity_array(value, Kalibro::Entities::MetricConfiguration) |
| ... | ... | @@ -14,4 +14,19 @@ class Kalibro::Entities::Configuration < Kalibro::Entities::Entity |
| 14 | 14 | @metric_configuration = metric_configurations |
| 15 | 15 | end |
| 16 | 16 | |
| 17 | + def create_metric_configurations(metrics) | |
| 18 | + @metric_configurations = [] | |
| 19 | + metrics.each do |metric| | |
| 20 | + @metric_configurations << create_metric_configuration(metric) | |
| 21 | + end | |
| 22 | + end | |
| 23 | + | |
| 24 | + def create_metric_configuration(metric) | |
| 25 | + splitted_metric = metric.split(/:/) | |
| 26 | + origin = splitted_metric[0] | |
| 27 | + name = splitted_metric[1] | |
| 28 | + metric = Kalibro::Entities::NativeMetric.new_with_origin_and_name(origin, name) | |
| 29 | + Kalibro::Entities::MetricConfiguration.new_with_metric_and_code(metric, name) | |
| 30 | + end | |
| 31 | + | |
| 17 | 32 | end | ... | ... |
plugins/mezuro/lib/kalibro/entities/metric_configuration.rb
| ... | ... | @@ -2,6 +2,14 @@ class Kalibro::Entities::MetricConfiguration < Kalibro::Entities::Entity |
| 2 | 2 | |
| 3 | 3 | attr_accessor :metric, :code, :weight, :aggregation_form, :range |
| 4 | 4 | |
| 5 | + | |
| 6 | + def self.new_with_metric_and_code(metric, code) | |
| 7 | + configuration = new | |
| 8 | + configuration.metric = metric | |
| 9 | + configuration.code = code | |
| 10 | + configuration | |
| 11 | + end | |
| 12 | + | |
| 5 | 13 | def metric=(value) |
| 6 | 14 | if value.kind_of?(Hash) |
| 7 | 15 | @metric = to_entity(value, Kalibro::Entities::CompoundMetric) if value.has_key?(:script) |
| ... | ... | @@ -23,4 +31,4 @@ class Kalibro::Entities::MetricConfiguration < Kalibro::Entities::Entity |
| 23 | 31 | @range = ranges |
| 24 | 32 | end |
| 25 | 33 | |
| 26 | -end | |
| 27 | 34 | \ No newline at end of file |
| 35 | +end | ... | ... |
plugins/mezuro/lib/kalibro/entities/native_metric.rb
| ... | ... | @@ -10,4 +10,11 @@ class Kalibro::Entities::NativeMetric < Kalibro::Entities::Metric |
| 10 | 10 | @language = languages |
| 11 | 11 | end |
| 12 | 12 | |
| 13 | -end | |
| 14 | 13 | \ No newline at end of file |
| 14 | + def self.new_with_origin_and_name(origin, name) | |
| 15 | + metric = new | |
| 16 | + metric.name = name | |
| 17 | + metric.origin = origin | |
| 18 | + metric | |
| 19 | + end | |
| 20 | + | |
| 21 | +end | ... | ... |
plugins/mezuro/lib/mezuro_plugin/configuration_content.rb
| ... | ... | @@ -8,7 +8,7 @@ class MezuroPlugin::ConfigurationContent < Article |
| 8 | 8 | 'Sets of thresholds to interpret metrics' |
| 9 | 9 | end |
| 10 | 10 | |
| 11 | - settings_items :description | |
| 11 | + settings_items :description, :metrics | |
| 12 | 12 | |
| 13 | 13 | include ActionView::Helpers::TagHelper |
| 14 | 14 | def to_html(options = {}) | ... | ... |
plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
| ... | ... | @@ -26,12 +26,13 @@ end |
| 26 | 26 | <table> |
| 27 | 27 | <% |
| 28 | 28 | @collector = @tool_names.base_tool(collector_name) |
| 29 | - @collector.supported_metrics.each do |metric| %> | |
| 30 | - | |
| 29 | + @collector.supported_metrics.each do |metric| | |
| 30 | + | |
| 31 | + metric_id = collector_name + ":" + metric.name %> | |
| 31 | 32 | <tr class="metric" title="<%= metric.description %>"> |
| 32 | 33 | <td> |
| 33 | - <%= check_box_tag collector_name + ":" + metric.name, collector_name + ":" + metric.name, true %> | |
| 34 | - <%= label_tag metric.name %> | |
| 34 | + <%= check_box_tag "article[metrics][]", metric_id, true, {:id => metric_id.gsub(/[\/ ]/, '_')} %> | |
| 35 | + <%= label_tag metric_id, metric.name %> | |
| 35 | 36 | </td> |
| 36 | 37 | </tr> |
| 37 | 38 | ... | ... |