]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-1830 new metric type 'rating'
authorsimonbrandhof <simon.brandhof@gmail.com>
Tue, 19 Oct 2010 15:31:17 +0000 (15:31 +0000)
committersimonbrandhof <simon.brandhof@gmail.com>
Tue, 19 Oct 2010 15:31:17 +0000 (15:31 +0000)
sonar-batch/src/main/java/org/sonar/batch/indexer/DefaultSonarIndex.java
sonar-plugin-api/src/main/java/org/sonar/api/measures/Metric.java
sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb
sonar-server/src/main/webapp/WEB-INF/app/models/drilldown.rb
sonar-server/src/main/webapp/WEB-INF/app/models/metric.rb
sonar-server/src/main/webapp/WEB-INF/app/models/project_measure.rb

index 14b6f015d4a61b4f5ab75ab9fa15ed0a30723a03..b49d877b590e99586f7d5ac4bf20eb8f708287f4 100644 (file)
@@ -311,7 +311,7 @@ public class DefaultSonarIndex extends SonarIndex {
         ResourceUtils.isEntity(resource) &&
             metric.isOptimizedBestValue() == Boolean.TRUE &&
             metric.getBestValue() != null &&
-            metric.getBestValue().equals(measure.getValue()) &&
+            Double.compare(metric.getBestValue(), measure.getValue())==0 &&
             !measure.hasOptionalData());
   }
 
index 27dcf62e07ad7a23bb38b5299da2d4fa5fe728e0..87ff5bd61dc0d332833890a70a1f13e0a44d1fcc 100644 (file)
@@ -47,7 +47,7 @@ public class Metric extends BaseIdentifiable implements ServerExtension, BatchEx
   public final static int DIRECTION_NONE = 0;
 
   public enum ValueType {
-    INT, FLOAT, PERCENT, BOOL, STRING, MILLISEC, DATA, LEVEL, DISTRIB
+    INT, FLOAT, PERCENT, BOOL, STRING, MILLISEC, DATA, LEVEL, DISTRIB, RATING
   }
 
   public enum Level {
@@ -441,7 +441,8 @@ public class Metric extends BaseIdentifiable implements ServerExtension, BatchEx
         || ValueType.FLOAT.equals(type)
         || ValueType.PERCENT.equals(type)
         || ValueType.BOOL.equals(type)
-        || ValueType.MILLISEC.equals(type);
+        || ValueType.MILLISEC.equals(type)
+        || ValueType.RATING.equals(type);
   }
 
   /**
index d728ba39ec76e6a607d1ce7efe0e0ebdf1887e49..266997f087ef22f117d73a12c5d717e82f450d96 100644 (file)
@@ -129,7 +129,7 @@ module ApplicationHelper
         end
         html="<a href='#{url}' style='#{alert_link ? "cursor : default" : ""}' class='#{link_class}' rel='#{link_rel}' title='#{link_rel}'>#{html}</a>"
       end
-      no_tendency_img=true if (measure.metric.val_type==Metric::VALUE_TYPE_LEVEL || measure.metric.val_type==Metric::VALUE_TYPE_BOOLEAN)
+      no_tendency_img=true if (measure.metric.val_type==Metric::VALUE_TYPE_LEVEL || measure.metric.val_type==Metric::VALUE_TYPE_BOOLEAN || measure.metric.val_type==Metric::VALUE_TYPE_RATING)
       html="#{html} #{tendency_icon(measure, small, no_tendency_img)} #{suffix}"
     end
     html
index 59943c0a7cfcc1435c8ecf6edc61bc7ead26747a..7b761c6ddd364aa8815844304bca091ba3f8da02 100644 (file)
@@ -91,7 +91,7 @@ class DrilldownColumn
     end
 
     @measures=ProjectMeasure.find(:all,
-      :select => 'project_measures.id,project_measures.metric_id,project_measures.value,project_measures.snapshot_id',
+      :select => 'project_measures.id,project_measures.metric_id,project_measures.value,project_measures.text_value,project_measures.snapshot_id',
       :joins => :snapshot,
       :conditions => [conditions,values],
       :order => order,
index 9ccca7d3f1e2aaa3d5ddbf069d4ec20cc68a2859..fe23e7eb177eeac6fca4b4ceeac44b2d70325982 100644 (file)
@@ -30,6 +30,7 @@ class Metric < ActiveRecord::Base
   VALUE_TYPE_MILLISEC = 'MILLISEC'
   VALUE_TYPE_LEVEL = 'LEVEL'
   VALUE_TYPE_DISTRIB = 'DISTRIB'
+  VALUE_TYPE_RATING = 'RATING'
 
   TYPE_LEVEL_OK = 'OK'
   TYPE_LEVEL_WARN = 'WARN'
@@ -78,7 +79,7 @@ class Metric < ActiveRecord::Base
   end
 
   def numeric?
-    val_type==VALUE_TYPE_INT || val_type==VALUE_TYPE_FLOAT || val_type==VALUE_TYPE_PERCENT || val_type==VALUE_TYPE_MILLISEC
+    val_type==VALUE_TYPE_INT || val_type==VALUE_TYPE_FLOAT || val_type==VALUE_TYPE_PERCENT || val_type==VALUE_TYPE_MILLISEC || val_type==VALUE_TYPE_RATING
   end
 
   def data?
index 860a8258ce99f13984d4f1668b74f3ea6905259a..ffbea749e583a06c03d2dfccd8dd9c1e05164ecb 100644 (file)
@@ -94,6 +94,8 @@ class ProjectMeasure < ActiveRecord::Base
       text_value
     when Metric::VALUE_TYPE_STRING
       text_value
+    when Metric::VALUE_TYPE_RATING
+      text_value || value.to_i.to_s
     else
       value().to_s
     end