diff options
author | Fabrice Bellingard <bellingard@gmail.com> | 2012-01-31 16:06:20 +0100 |
---|---|---|
committer | Fabrice Bellingard <bellingard@gmail.com> | 2012-01-31 16:06:20 +0100 |
commit | 682d97d4d7b8aee7a323285661074f867eb93341 (patch) | |
tree | 25231ab5f675fb88fe7143fc3179895defd58407 /plugins | |
parent | b4505ed334468dfea58d04d9ccc8ec8019d668ea (diff) | |
download | sonarqube-682d97d4d7b8aee7a323285661074f867eb93341.tar.gz sonarqube-682d97d4d7b8aee7a323285661074f867eb93341.zip |
SONAR-3228 Some metrics are not persisted if value 0
=> whereas they can be used in Sonar Web UI
Diffstat (limited to 'plugins')
3 files changed, 21 insertions, 25 deletions
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/WeightedViolationsDecorator.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/WeightedViolationsDecorator.java index d5abe69b322..d29503f9ef0 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/WeightedViolationsDecorator.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/WeightedViolationsDecorator.java @@ -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); } } diff --git a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/WeightedViolationsDecoratorTest.java b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/WeightedViolationsDecoratorTest.java index 4b65c02e74e..0628860fe0a 100644 --- a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/WeightedViolationsDecoratorTest.java +++ b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/WeightedViolationsDecoratorTest.java @@ -19,6 +19,13 @@ */ 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 diff --git a/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/bridges/DesignBridge.java b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/bridges/DesignBridge.java index fc561421c0a..9e1175faee8 100644 --- a/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/bridges/DesignBridge.java +++ b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/bridges/DesignBridge.java @@ -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)); |