]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3228 Some metrics are not persisted if value 0
authorFabrice Bellingard <bellingard@gmail.com>
Tue, 31 Jan 2012 15:06:20 +0000 (16:06 +0100)
committerFabrice Bellingard <bellingard@gmail.com>
Tue, 31 Jan 2012 15:06:20 +0000 (16:06 +0100)
=> whereas they can be used in Sonar Web UI

plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/WeightedViolationsDecorator.java
plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/WeightedViolationsDecoratorTest.java
plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/bridges/DesignBridge.java

index d5abe69b322877f7491338db20c1295383322268..d29503f9ef0302513c478034945497b9e1fecf2c 100644 (file)
@@ -116,14 +116,7 @@ public class WeightedViolationsDecorator implements Decorator {
     }
 
     Measure debtMeasure = new Measure(CoreMetrics.WEIGHTED_VIOLATIONS, debt, KeyValueFormat.format(distribution));
-    saveMeasure(context, debtMeasure);
-  }
-
-
-  private void saveMeasure(DecoratorContext context, Measure debtMeasure) {
-    if (debtMeasure.getValue() > 0.0) {
-      context.saveMeasure(debtMeasure);
-    }
+    context.saveMeasure(debtMeasure);
   }
 
 }
index 4b65c02e74e3bc13a177a15636e8b77a8b7b6426..0628860fe0a1c0eecf0834cd841623634d38fb2f 100644 (file)
  */
 package org.sonar.plugins.core.sensors;
 
+import static org.junit.Assert.assertThat;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import org.hamcrest.core.Is;
 import org.junit.Test;
 import org.sonar.api.CoreProperties;
@@ -29,11 +36,6 @@ import org.sonar.api.measures.Measure;
 import org.sonar.api.rules.RulePriority;
 import org.sonar.api.test.IsMeasure;
 
-import java.util.Map;
-
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.*;
-
 public class WeightedViolationsDecoratorTest {
 
   @Test
@@ -53,8 +55,9 @@ public class WeightedViolationsDecoratorTest {
     verify(context).saveMeasure(argThat(new IsMeasure(CoreMetrics.WEIGHTED_VIOLATIONS, "INFO=50;CRITICAL=80;BLOCKER=100")));
   }
 
+  // SONAR-3092
   @Test
-  public void doNotSaveZero() {
+  public void doSaveZero() {
     Settings settings = new Settings();
     settings.setProperty(CoreProperties.CORE_RULE_WEIGHTS_PROPERTY, "BLOCKER=10;CRITICAL=5;MAJOR=2;MINOR=1;INFO=0");
     DecoratorContext context = mock(DecoratorContext.class);
@@ -63,7 +66,7 @@ public class WeightedViolationsDecoratorTest {
     decorator.start();
     decorator.decorate(context);
 
-    verify(context, never()).saveMeasure((Measure) anyObject());
+    verify(context).saveMeasure((Measure) anyObject());
   }
 
   @Test
index fc561421c0af66be1e7b1c8bd5b7ba87065acdfc..9e1175faee877b508706496ba4de42e2eff2be2a 100644 (file)
@@ -70,10 +70,10 @@ public class DesignBridge extends Bridge {
       LOG.debug("{} feedback edges", feedbackEdges.size());
       int tangles = cyclesAndFESSolver.getWeightOfFeedbackEdgeSet();
 
-      savePositiveMeasure(sonarProject, CoreMetrics.PACKAGE_CYCLES, (double) cyclesAndFESSolver.getCycles().size(), true);
-      savePositiveMeasure(sonarProject, CoreMetrics.PACKAGE_FEEDBACK_EDGES, (double) feedbackEdges.size(), true);
-      savePositiveMeasure(sonarProject, CoreMetrics.PACKAGE_TANGLES, (double) tangles, true);
-      savePositiveMeasure(sonarProject, CoreMetrics.PACKAGE_EDGES_WEIGHT, getEdgesWeight(squidPackages), false);
+      savePositiveMeasure(sonarProject, CoreMetrics.PACKAGE_CYCLES, (double) cyclesAndFESSolver.getCycles().size());
+      savePositiveMeasure(sonarProject, CoreMetrics.PACKAGE_FEEDBACK_EDGES, (double) feedbackEdges.size());
+      savePositiveMeasure(sonarProject, CoreMetrics.PACKAGE_TANGLES, (double) tangles);
+      savePositiveMeasure(sonarProject, CoreMetrics.PACKAGE_EDGES_WEIGHT, getEdgesWeight(squidPackages));
 
       String dsmJson = serializeDsm(squid, squidPackages, feedbackEdges);
       Measure dsmMeasure = new Measure(CoreMetrics.DEPENDENCY_MATRIX, dsmJson).setPersistenceMode(PersistenceMode.DATABASE);
@@ -83,8 +83,8 @@ public class DesignBridge extends Bridge {
     }
   }
 
-  private void savePositiveMeasure(Resource sonarResource, Metric metric, double value, boolean strict) {
-    if ((strict && value > 0.0) || ( !strict && value >= 0.0)) {
+  private void savePositiveMeasure(Resource sonarResource, Metric metric, double value) {
+    if (value >= 0.0) {
       context.saveMeasure(sonarResource, metric, value);
     }
   }
@@ -103,10 +103,10 @@ public class DesignBridge extends Bridge {
       Set<Edge> feedbackEdges = solver.getEdges();
       int tangles = solver.getWeightOfFeedbackEdgeSet();
 
-      savePositiveMeasure(sonarPackage, CoreMetrics.FILE_CYCLES, (double) cycles.size(), false);
-      savePositiveMeasure(sonarPackage, CoreMetrics.FILE_FEEDBACK_EDGES, (double) feedbackEdges.size(), false);
-      savePositiveMeasure(sonarPackage, CoreMetrics.FILE_TANGLES, (double) tangles, false);
-      savePositiveMeasure(sonarPackage, CoreMetrics.FILE_EDGES_WEIGHT, getEdgesWeight(squidFiles), false);
+      savePositiveMeasure(sonarPackage, CoreMetrics.FILE_CYCLES, (double) cycles.size());
+      savePositiveMeasure(sonarPackage, CoreMetrics.FILE_FEEDBACK_EDGES, (double) feedbackEdges.size());
+      savePositiveMeasure(sonarPackage, CoreMetrics.FILE_TANGLES, (double) tangles);
+      savePositiveMeasure(sonarPackage, CoreMetrics.FILE_EDGES_WEIGHT, getEdgesWeight(squidFiles));
 
       String dsmJson = serializeDsm(squid, squidFiles, feedbackEdges);
       context.saveMeasure(sonarPackage, new Measure(CoreMetrics.DEPENDENCY_MATRIX, dsmJson));