diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2015-02-17 16:24:28 +0100 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2015-02-17 18:56:28 +0100 |
commit | 40c0a83d32c1d27b3a9cfe64bff9c24597684035 (patch) | |
tree | 83463eba461839eec334d30375f9b83b7a18bd78 /sonar-batch | |
parent | 6502e10afdef698a148be3ec8181467bc5fd3d5f (diff) | |
download | sonarqube-40c0a83d32c1d27b3a9cfe64bff9c24597684035.tar.gz sonarqube-40c0a83d32c1d27b3a9cfe64bff9c24597684035.zip |
SONAR-6176 Display DSM even when there is no dependency
Diffstat (limited to 'sonar-batch')
4 files changed, 9 insertions, 17 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/design/DsmDecorator.java b/sonar-batch/src/main/java/org/sonar/batch/design/DsmDecorator.java index 3569ba9a913..0fdae1a037b 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/design/DsmDecorator.java +++ b/sonar-batch/src/main/java/org/sonar/batch/design/DsmDecorator.java @@ -75,9 +75,7 @@ public abstract class DsmDecorator implements Decorator { } Dsm<Resource> dsm = getDsm(children, feedbackEdges); // Optimization, don't save DSM if there is no dependency at all - if (dsm.hasAtLeastOneDependency()) { - saveDsm(context, dsm); - } + saveDsm(context, dsm); } } diff --git a/sonar-batch/src/test/java/org/sonar/batch/design/DirectoryDsmDecoratorTest.java b/sonar-batch/src/test/java/org/sonar/batch/design/DirectoryDsmDecoratorTest.java index fa3ceecc3a5..7cc8ca87bc1 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/design/DirectoryDsmDecoratorTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/design/DirectoryDsmDecoratorTest.java @@ -97,12 +97,16 @@ public class DirectoryDsmDecoratorTest { public void testDirectoryDsmDecoratorNoDependency() { decorator.decorate(dir, dirContext); - verify(dirContext, times(4)).saveMeasure(any(Measure.class)); + verify(dirContext, times(5)).saveMeasure(any(Measure.class)); verify(dirContext).saveMeasure(isMeasureWithValue(CoreMetrics.FILE_CYCLES, 0.0)); verify(dirContext).saveMeasure(isMeasureWithValue(CoreMetrics.FILE_FEEDBACK_EDGES, 0.0)); verify(dirContext).saveMeasure(isMeasureWithValue(CoreMetrics.FILE_TANGLES, 0.0)); verify(dirContext).saveMeasure(isMeasureWithValue(CoreMetrics.FILE_EDGES_WEIGHT, 0.0)); + verify(dirContext).saveMeasure( + isMeasureWithValue(CoreMetrics.DEPENDENCY_MATRIX, + "[{\"i\":1,\"n\":\"Foo1.java\",\"q\":\"FIL\",\"v\":[{},{}]},{\"i\":2,\"n\":\"Foo2.java\",\"q\":\"FIL\",\"v\":[{},{}]}]")); + } @Test diff --git a/sonar-batch/src/test/java/org/sonar/batch/design/ProjectDsmDecoratorTest.java b/sonar-batch/src/test/java/org/sonar/batch/design/ProjectDsmDecoratorTest.java index c18da1fdde9..0d78693fa59 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/design/ProjectDsmDecoratorTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/design/ProjectDsmDecoratorTest.java @@ -19,7 +19,6 @@ */ package org.sonar.batch.design; -import edu.emory.mathcs.backport.java.util.Collections; import org.apache.commons.lang.ObjectUtils; import org.junit.Before; import org.junit.Test; @@ -87,17 +86,6 @@ public class ProjectDsmDecoratorTest { Project child = new Project("child").setParent(p); decorator.decorate(p, rootContext); - // Should not do anything if module has no dir - when(rootContext.getChildren()).thenReturn(Collections.emptyList()); - decorator.decorate(root, rootContext); - - verify(rootContext, never()).saveMeasure(any(Measure.class)); - } - - @Test - public void testProjectDsmDecoratorNoDependency() { - decorator.decorate(root, rootContext); - verify(rootContext, never()).saveMeasure(any(Measure.class)); } diff --git a/sonar-batch/src/test/java/org/sonar/batch/design/SubProjectDsmDecoratorTest.java b/sonar-batch/src/test/java/org/sonar/batch/design/SubProjectDsmDecoratorTest.java index a9a41264adf..bc65050aab2 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/design/SubProjectDsmDecoratorTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/design/SubProjectDsmDecoratorTest.java @@ -96,12 +96,14 @@ public class SubProjectDsmDecoratorTest { public void testSubProjectDsmDecoratorNoDependency() { decorator.decorate(module, moduleContext); - verify(moduleContext, times(4)).saveMeasure(any(Measure.class)); + verify(moduleContext, times(5)).saveMeasure(any(Measure.class)); verify(moduleContext).saveMeasure(isMeasureWithValue(CoreMetrics.DIRECTORY_CYCLES, 0.0)); verify(moduleContext).saveMeasure(isMeasureWithValue(CoreMetrics.DIRECTORY_FEEDBACK_EDGES, 0.0)); verify(moduleContext).saveMeasure(isMeasureWithValue(CoreMetrics.DIRECTORY_TANGLES, 0.0)); verify(moduleContext).saveMeasure(isMeasureWithValue(CoreMetrics.DIRECTORY_EDGES_WEIGHT, 0.0)); + verify(moduleContext).saveMeasure(isMeasureWithValue(CoreMetrics.DEPENDENCY_MATRIX, + "[{\"i\":1,\"n\":\"src/foo1\",\"q\":\"DIR\",\"v\":[{},{}]},{\"i\":2,\"n\":\"src/foo2\",\"q\":\"DIR\",\"v\":[{},{}]}]")); } @Test |