]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4996 Display debt variation
authorJulien Lancelot <julien.lancelot@gmail.com>
Fri, 21 Feb 2014 14:38:40 +0000 (15:38 +0100)
committerJulien Lancelot <julien.lancelot@gmail.com>
Tue, 25 Feb 2014 18:00:14 +0000 (19:00 +0100)
sonar-plugin-api/src/main/java/org/sonar/api/measures/Metric.java
sonar-server/src/main/webapp/WEB-INF/app/models/project_measure.rb

index 051556e0aeed59550855d8425a8565855cfc0b5f..4104dd60cb3a6c850a825a3575db06c799a1f347 100644 (file)
@@ -503,7 +503,8 @@ public class Metric implements ServerExtension, BatchExtension {
       || ValueType.PERCENT.equals(type)
       || ValueType.BOOL.equals(type)
       || ValueType.MILLISEC.equals(type)
-      || ValueType.RATING.equals(type);
+      || ValueType.RATING.equals(type)
+      || ValueType.WORK_DUR.equals(type);
   }
 
   /**
index cc5c7adf07f0d64fa6fedfe2b16a279f2c176127..f00e6089c2bc4c939d9583d2ad378dbc900c375b 100644 (file)
@@ -86,7 +86,7 @@ class ProjectMeasure < ActiveRecord::Base
       when Metric::VALUE_TYPE_MILLISEC
         millisecs_formatted_value( value() )
       when Metric::VALUE_TYPE_WORK_DUR
-        Internal.work_duration_formatter.abbreviation(value())
+        work_duration_formatted_value(value())
       when Metric::VALUE_TYPE_BOOLEAN
         value() == 1 ? 'Yes' : 'No'
       when Metric::VALUE_TYPE_LEVEL
@@ -118,6 +118,8 @@ class ProjectMeasure < ActiveRecord::Base
         end
       when Metric::VALUE_TYPE_MILLISEC
         millisecs_formatted_value(val)
+      when Metric::VALUE_TYPE_WORK_DUR
+        work_duration_formatted_value(val)
       else
         val.to_s
     end
@@ -161,6 +163,15 @@ class ProjectMeasure < ActiveRecord::Base
     end
   end
 
+  def work_duration_formatted_value(value)
+    if value == 0
+      '0'
+    else
+      duration = Internal.work_duration_formatter.abbreviation(value.abs).to_s
+      value > 0 ? duration : '-' + duration
+    end
+  end
+
   def color
     @color ||=
       begin