Commit 70dac10aa6114eb1559b7860c6f8c03ddd1f48f3

Authored by Alessandro Palmeira + João M. M. da Silva
Committed by João M. M. da Silva
1 parent 2b575ca8

sending correct save metric configuration request

plugins/mezuro/lib/kalibro/client/configuration_client.rb
@@ -4,7 +4,7 @@ class Kalibro::Client::ConfigurationClient @@ -4,7 +4,7 @@ class Kalibro::Client::ConfigurationClient
4 configuration = Kalibro::Entities::Configuration.new 4 configuration = Kalibro::Entities::Configuration.new
5 configuration.name = configuration_content.name 5 configuration.name = configuration_content.name
6 configuration.description = configuration_content.description 6 configuration.description = configuration_content.description
7 - configuration.metric_ids = configuration_content.metric_ids 7 + configuration.create_metric_configurations(configuration_content.metrics)
8 new.save(configuration) 8 new.save(configuration)
9 end 9 end
10 10
plugins/mezuro/lib/kalibro/entities/configuration.rb
1 class Kalibro::Entities::Configuration < Kalibro::Entities::Entity 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 def metric_configuration=(value) 5 def metric_configuration=(value)
6 @metric_configuration = to_entity_array(value, Kalibro::Entities::MetricConfiguration) 6 @metric_configuration = to_entity_array(value, Kalibro::Entities::MetricConfiguration)
@@ -14,4 +14,19 @@ class Kalibro::Entities::Configuration &lt; Kalibro::Entities::Entity @@ -14,4 +14,19 @@ class Kalibro::Entities::Configuration &lt; Kalibro::Entities::Entity
14 @metric_configuration = metric_configurations 14 @metric_configuration = metric_configurations
15 end 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 end 32 end
plugins/mezuro/lib/kalibro/entities/metric_configuration.rb
@@ -2,6 +2,14 @@ class Kalibro::Entities::MetricConfiguration &lt; Kalibro::Entities::Entity @@ -2,6 +2,14 @@ class Kalibro::Entities::MetricConfiguration &lt; Kalibro::Entities::Entity
2 2
3 attr_accessor :metric, :code, :weight, :aggregation_form, :range 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 def metric=(value) 13 def metric=(value)
6 if value.kind_of?(Hash) 14 if value.kind_of?(Hash)
7 @metric = to_entity(value, Kalibro::Entities::CompoundMetric) if value.has_key?(:script) 15 @metric = to_entity(value, Kalibro::Entities::CompoundMetric) if value.has_key?(:script)
@@ -23,4 +31,4 @@ class Kalibro::Entities::MetricConfiguration &lt; Kalibro::Entities::Entity @@ -23,4 +31,4 @@ class Kalibro::Entities::MetricConfiguration &lt; Kalibro::Entities::Entity
23 @range = ranges 31 @range = ranges
24 end 32 end
25 33
26 -end  
27 \ No newline at end of file 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 &lt; Kalibro::Entities::Metric @@ -10,4 +10,11 @@ class Kalibro::Entities::NativeMetric &lt; Kalibro::Entities::Metric
10 @language = languages 10 @language = languages
11 end 11 end
12 12
13 -end  
14 \ No newline at end of file 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 &lt; Article @@ -8,7 +8,7 @@ class MezuroPlugin::ConfigurationContent &lt; Article
8 'Sets of thresholds to interpret metrics' 8 'Sets of thresholds to interpret metrics'
9 end 9 end
10 10
11 - settings_items :description 11 + settings_items :description, :metrics
12 12
13 include ActionView::Helpers::TagHelper 13 include ActionView::Helpers::TagHelper
14 def to_html(options = {}) 14 def to_html(options = {})
plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
@@ -26,12 +26,13 @@ end @@ -26,12 +26,13 @@ end
26 <table> 26 <table>
27 <% 27 <%
28 @collector = @tool_names.base_tool(collector_name) 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 <tr class="metric" title="<%= metric.description %>"> 32 <tr class="metric" title="<%= metric.description %>">
32 <td> 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 </td> 36 </td>
36 </tr> 37 </tr>
37 38