aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2015-02-17 16:24:28 +0100
committerJulien HENRY <julien.henry@sonarsource.com>2015-02-17 18:56:28 +0100
commit40c0a83d32c1d27b3a9cfe64bff9c24597684035 (patch)
tree83463eba461839eec334d30375f9b83b7a18bd78 /sonar-batch
parent6502e10afdef698a148be3ec8181467bc5fd3d5f (diff)
downloadsonarqube-40c0a83d32c1d27b3a9cfe64bff9c24597684035.tar.gz
sonarqube-40c0a83d32c1d27b3a9cfe64bff9c24597684035.zip
SONAR-6176 Display DSM even when there is no dependency
Diffstat (limited to 'sonar-batch')
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/design/DsmDecorator.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/design/DirectoryDsmDecoratorTest.java6
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/design/ProjectDsmDecoratorTest.java12
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/design/SubProjectDsmDecoratorTest.java4
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