From 30734ee5a6ae18d18ace3f0e9c29c0e13cce36bf Mon Sep 17 00:00:00 2001 From: Alessandro Palmeira + João M. M. da Silva Date: Fri, 30 Mar 2012 17:13:20 -0300 Subject: [PATCH] [Mezuro]Saving Metric configuration on Configuration in KalibroService --- plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb | 23 ++++++++++++++++++++--- plugins/mezuro/test/fixtures/range_fixtures.rb | 2 +- plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb | 17 +++++++++++------ 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb index dabffd7..ade99b7 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb @@ -48,15 +48,18 @@ class MezuroPluginProfileController < ProfileController end def new_metric_configuration - @metric_name = params[:metric_name] + + metric_name = params[:metric_name] @configuration_name = params[:configuration_name] - @collector_name = params[:collector_name] + collector_name = params[:collector_name] + + collector = Kalibro::Client::BaseToolClient.new.base_tool(collector_name) + @metric = collector.supported_metrics.find {|metric| metric.name == metric_name} end def edit_metric_configuration @metric_configuration_code = params[:metric_code] @configuration_name = params[:configuration_name] - @metric_configuration = Kalibro::Entities::MetricConfiguration.new @metric_configuration.code = @metric_configuration_code @metric_configuration.aggregation_form = "MEDIAN" @@ -75,6 +78,19 @@ class MezuroPluginProfileController < ProfileController def create_metric_configuration @configuration_name = params[:configuration_name] + metric_configuration = Kalibro::Entities::MetricConfiguration.new + metric_configuration.metric = Kalibro::Entities::NativeMetric.new + metric_configuration.metric.name = params[:metric][:name] + metric_configuration.metric.description = params[:description] + metric_configuration.metric.origin = params[:metric][:origin] + metric_configuration.metric.scope = params[:scope] + metric_configuration.metric.language = params[:language] + metric_configuration.code = params[:metric_configuration][:code] + metric_configuration.weight = params[:metric_configuration][:weight] + metric_configuration.aggregation_form = params[:metric_configuration][:aggregation] + + Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name) + redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" end @@ -96,3 +112,4 @@ class MezuroPluginProfileController < ProfileController @range.comments = params[:range][:comments] end end + diff --git a/plugins/mezuro/test/fixtures/range_fixtures.rb b/plugins/mezuro/test/fixtures/range_fixtures.rb index 0b61583..0abbe41 100644 --- a/plugins/mezuro/test/fixtures/range_fixtures.rb +++ b/plugins/mezuro/test/fixtures/range_fixtures.rb @@ -27,7 +27,7 @@ class RangeFixtures end def self.amloc_bad_hash - {:beginning => 19.5, :end => Infinity, :label => 'Bad',:grade => 0.0, :color => 'ffff0000'} + {:beginning => 19.5, :end => "INF", :label => 'Bad',:grade => 0.0, :color => 'ffff0000'} end end diff --git a/plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb index 3ecba2b..ad68a89 100644 --- a/plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb @@ -2,19 +2,23 @@ <% form_for :metric_configuration, :url => {:action =>"create_metric_configuration", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %> <%= hidden_field_tag :configuration_name, @configuration_name %> + <%= hidden_field_tag :scope, @metric.scope %> + <%= hidden_field_tag :language, @metric.language %> +

- <%= f.label :collector_name, "Collector Name:" %> - <%= @collector_name %> - <%= f.hidden_field :collector_name, :value => @collector_name %> + <%= f.label :origin, "Collector Name:" %> + <%= @metric.origin %> + <%= hidden_field_tag "metric[origin]", @metric.origin %>

<%= f.label :metric_name, "Metric Name:" %> - <%= @metric_name %> - <%= f.hidden_field :metric_name, :value => @metric_name %> + <%= @metric.name %> + <%= hidden_field_tag "metric[name]", @metric.name %>

<%= f.label :description, "Description:" %> - <%= f.text_field :description %> + <%= @metric.description %> + <%= text_field_tag :description %>

<%= f.label :code, "Code:" %> @@ -29,6 +33,7 @@ <%= f.label :weight, "Weight:" %> <%= f.text_field :weight %>

+

<%= f.submit "Add" %>

-- libgit2 0.21.2