Commit 1f61651826585bf48310b2dde58e106689a9ceac

Authored by João M. M. da Silva
Committed by Paulo Meireles
1 parent c5e6187f

[Mezuro] refactored clone configuration.

plugins/mezuro/lib/mezuro_plugin/configuration_content.rb
@@ -32,18 +32,15 @@ class MezuroPlugin::ConfigurationContent < Article @@ -32,18 +32,15 @@ class MezuroPlugin::ConfigurationContent < Article
32 end 32 end
33 33
34 def configuration_names_and_ids 34 def configuration_names_and_ids
35 - all_names_and_ids = {}  
36 begin 35 begin
37 all_configurations = Kalibro::Configuration.all 36 all_configurations = Kalibro::Configuration.all
38 - if(!all_configurations.empty?)  
39 - all_configurations.each do |configuration|  
40 - all_names_and_ids[configuration.id] = configuration.name  
41 - end  
42 - end 37 + all_names_and_ids = all_configurations.map { |configuration| [configuration.name, configuration.id] }
  38 + [["None", -1]] + (all_names_and_ids.sort { |x,y| x.first.downcase <=> y.first.downcase })
43 rescue Exception => exception 39 rescue Exception => exception
44 errors.add_to_base(exception.message) 40 errors.add_to_base(exception.message)
  41 + [["None", -1]]
45 end 42 end
46 - all_names_and_ids 43 +
47 end 44 end
48 45
49 def description=(value) 46 def description=(value)
@@ -59,16 +56,16 @@ class MezuroPlugin::ConfigurationContent &lt; Article @@ -59,16 +56,16 @@ class MezuroPlugin::ConfigurationContent &lt; Article
59 @description 56 @description
60 end 57 end
61 58
62 - def configuration_to_clone_name 59 + def configuration_to_clone_id
63 begin 60 begin
64 - @configuration_to_clone_name 61 + @configuration_to_clone_id
65 rescue Exception => exception 62 rescue Exception => exception
66 nil 63 nil
67 end 64 end
68 end 65 end
69 66
70 - def configuration_to_clone_name=(value)  
71 - @configuration_to_clone_name = (value == "None") ? nil : value 67 + def configuration_to_clone_id=(value)
  68 + @configuration_to_clone_id = (value == -1) ? nil : value
72 end 69 end
73 70
74 def metric_configurations 71 def metric_configurations
@@ -93,7 +90,7 @@ class MezuroPlugin::ConfigurationContent &lt; Article @@ -93,7 +90,7 @@ class MezuroPlugin::ConfigurationContent &lt; Article
93 end 90 end
94 91
95 def validate_configuration_name 92 def validate_configuration_name
96 - existing = configuration_names_and_ids.values.map { |a| a.downcase} 93 + existing = configuration_names_and_ids.map { |a| a.first.downcase}
97 94
98 if existing.include?(name.downcase) 95 if existing.include?(name.downcase)
99 errors.add_to_base("Configuration name already exists in Kalibro") 96 errors.add_to_base("Configuration name already exists in Kalibro")
@@ -111,11 +108,6 @@ class MezuroPlugin::ConfigurationContent &lt; Article @@ -111,11 +108,6 @@ class MezuroPlugin::ConfigurationContent &lt; Article
111 clone_configuration if cloning_configuration? 108 clone_configuration if cloning_configuration?
112 end 109 end
113 110
114 - def configuration_to_clone_id  
115 - @configuration_to_clone_id ||= (configuration_to_clone_name.nil?) ? nil : configuration_names_and_ids.index(configuration_to_clone_name)  
116 - @configuration_to_clone_id  
117 - end  
118 -  
119 def cloning_configuration? 111 def cloning_configuration?
120 !configuration_to_clone_id.nil? 112 !configuration_to_clone_id.nil?
121 end 113 end
plugins/mezuro/test/fixtures/metric_configuration_fixtures.rb
@@ -18,7 +18,7 @@ class MetricConfigurationFixtures @@ -18,7 +18,7 @@ class MetricConfigurationFixtures
18 Kalibro::MetricConfiguration.new({ 18 Kalibro::MetricConfiguration.new({
19 :code => 'amloc', 19 :code => 'amloc',
20 :metric => MetricFixtures.amloc_hash, 20 :metric => MetricFixtures.amloc_hash,
21 - :base_tool_name => MetricFixtures.amloc_hash[:origin], 21 + :base_tool_name => "Analizo",
22 :weight => "1.0", 22 :weight => "1.0",
23 :aggregation_form => 'AVERAGE', 23 :aggregation_form => 'AVERAGE',
24 :reading_group_id => "31", 24 :reading_group_id => "31",
@@ -31,7 +31,7 @@ class MetricConfigurationFixtures @@ -31,7 +31,7 @@ class MetricConfigurationFixtures
31 :id => "42", 31 :id => "42",
32 :code => 'amloc', 32 :code => 'amloc',
33 :metric => MetricFixtures.amloc_hash, 33 :metric => MetricFixtures.amloc_hash,
34 - :base_tool_name => MetricFixtures.amloc_hash[:origin], 34 + :base_tool_name => "Analizo",
35 :weight => "1.0", 35 :weight => "1.0",
36 :aggregation_form => 'AVERAGE', 36 :aggregation_form => 'AVERAGE',
37 :reading_group_id => "31", 37 :reading_group_id => "31",
plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb
@@ -59,10 +59,9 @@ class ConfigurationContentTest &lt; ActiveSupport::TestCase @@ -59,10 +59,9 @@ class ConfigurationContentTest &lt; ActiveSupport::TestCase
59 end 59 end
60 60
61 should 'clone configuration' do 61 should 'clone configuration' do
62 - clone_name = @configuration.name  
63 - @content.configuration_to_clone_name = clone_name 62 + clone_id = @configuration.id
  63 + @content.configuration_to_clone_id = clone_id
64 Kalibro::Configuration.expects(:create).with(:id => @content.configuration_id, :name => @content.name, :description => @content.description).returns(@configuration) 64 Kalibro::Configuration.expects(:create).with(:id => @content.configuration_id, :name => @content.name, :description => @content.description).returns(@configuration)
65 - Kalibro::Configuration.expects(:all).returns([@configuration])  
66 Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@metric_configuration]) 65 Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@metric_configuration])
67 Kalibro::MetricConfiguration.expects(:request).returns(:metric_configuration_id => @metric_configuration.id) 66 Kalibro::MetricConfiguration.expects(:request).returns(:metric_configuration_id => @metric_configuration.id)
68 Kalibro::Range.expects(:ranges_of).with(@metric_configuration.id).returns([@range]) 67 Kalibro::Range.expects(:ranges_of).with(@metric_configuration.id).returns([@range])
plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 2
3 <% 3 <%
4 kalibro_configuration = @article.title.nil? ? nil : @article.kalibro_configuration 4 kalibro_configuration = @article.title.nil? ? nil : @article.kalibro_configuration
5 - kalibro_configuration_names = ["None"] + @article.configuration_names_and_ids.values.sort 5 + configuration_names_and_ids = @article.configuration_names_and_ids
6 %> 6 %>
7 7
8 <%= error_messages_for 'kalibro_configuration' %> 8 <%= error_messages_for 'kalibro_configuration' %>
@@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
20 20
21 <%= if kalibro_configuration.nil? 21 <%= if kalibro_configuration.nil?
22 required labelled_form_field _('Clone Configuration'), 22 required labelled_form_field _('Clone Configuration'),
23 - f.select(:configuration_to_clone_name, kalibro_configuration_names) 23 + f.select(:configuration_to_clone_id, configuration_names_and_ids)
24 end %> 24 end %>
25 <br/> 25 <br/>
26 26