From af5d5ff485d1cd76e76543477488b97695209b8c Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Tue, 10 Nov 2015 10:55:57 +0100 Subject: [PATCH] SONAR-6991 remove batch code generating duplicate_* measures --- .../org/sonar/batch/cpd/JavaCpdEngine.java | 44 ------------------- .../sonar/batch/cpd/JavaCpdEngineTest.java | 17 ------- .../batch/mediumtest/cpd/CpdMediumTest.java | 16 +------ 3 files changed, 1 insertion(+), 76 deletions(-) diff --git a/sonar-batch/src/main/java/org/sonar/batch/cpd/JavaCpdEngine.java b/sonar-batch/src/main/java/org/sonar/batch/cpd/JavaCpdEngine.java index 1adca4f11ca..21bec46e794 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/cpd/JavaCpdEngine.java +++ b/sonar-batch/src/main/java/org/sonar/batch/cpd/JavaCpdEngine.java @@ -27,9 +27,7 @@ import java.io.FileNotFoundException; import java.io.InputStreamReader; import java.io.Reader; import java.util.Collection; -import java.util.HashSet; import java.util.List; -import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; @@ -48,9 +46,7 @@ import org.sonar.api.batch.fs.internal.DefaultInputFile; import org.sonar.api.batch.sensor.SensorContext; import org.sonar.api.batch.sensor.duplication.NewDuplication; import org.sonar.api.batch.sensor.duplication.internal.DefaultDuplication; -import org.sonar.api.batch.sensor.measure.internal.DefaultMeasure; import org.sonar.api.config.Settings; -import org.sonar.api.measures.CoreMetrics; import org.sonar.batch.cpd.index.SonarDuplicationsIndex; import org.sonar.batch.index.BatchComponentCache; import org.sonar.batch.report.ReportPublisher; @@ -188,33 +184,10 @@ public class JavaCpdEngine extends CpdEngine { if (duplications == null || Iterables.isEmpty(duplications)) { return; } - computeBlockAndLineCount(context, inputFile, duplications); saveDuplications(context, inputFile, duplications); } - private static void saveMeasures(org.sonar.api.batch.sensor.SensorContext context, InputFile inputFile, int duplicatedLines, int duplicatedBlocks) { - // Save - ((DefaultMeasure) context.newMeasure() - .forMetric(CoreMetrics.DUPLICATED_FILES) - .on(inputFile) - .withValue(1)) - .setFromCore() - .save(); - ((DefaultMeasure) context.newMeasure() - .forMetric(CoreMetrics.DUPLICATED_LINES) - .on(inputFile) - .withValue(duplicatedLines)) - .setFromCore() - .save(); - ((DefaultMeasure) context.newMeasure() - .forMetric(CoreMetrics.DUPLICATED_BLOCKS) - .on(inputFile) - .withValue(duplicatedBlocks)) - .setFromCore() - .save(); - } - private static void saveDuplications(org.sonar.api.batch.sensor.SensorContext context, InputFile inputFile, Iterable duplications) { int cloneGroupCount = 0; for (CloneGroup duplication : duplications) { @@ -242,21 +215,4 @@ public class JavaCpdEngine extends CpdEngine { } } - private static void computeBlockAndLineCount(org.sonar.api.batch.sensor.SensorContext context, InputFile inputFile, Iterable duplications) { - int duplicatedBlocks = 0; - Set duplicatedLines = new HashSet<>(); - for (CloneGroup clone : duplications) { - ClonePart origin = clone.getOriginPart(); - for (ClonePart part : clone.getCloneParts()) { - if (part.getResourceId().equals(origin.getResourceId())) { - duplicatedBlocks++; - for (int duplicatedLine = part.getStartLine(); duplicatedLine < part.getStartLine() + part.getLines(); duplicatedLine++) { - duplicatedLines.add(duplicatedLine); - } - } - } - } - saveMeasures(context, inputFile, duplicatedLines.size(), duplicatedBlocks); - } - } diff --git a/sonar-batch/src/test/java/org/sonar/batch/cpd/JavaCpdEngineTest.java b/sonar-batch/src/test/java/org/sonar/batch/cpd/JavaCpdEngineTest.java index f3b802da8e6..ea02cec1064 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/cpd/JavaCpdEngineTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/cpd/JavaCpdEngineTest.java @@ -36,7 +36,6 @@ import org.sonar.api.batch.sensor.duplication.internal.DefaultDuplication; import org.sonar.api.batch.sensor.internal.SensorStorage; import org.sonar.api.batch.sensor.measure.Measure; import org.sonar.api.batch.sensor.measure.internal.DefaultMeasure; -import org.sonar.api.measures.CoreMetrics; import org.sonar.duplications.index.CloneGroup; import org.sonar.duplications.index.ClonePart; @@ -87,10 +86,6 @@ public class JavaCpdEngineTest { List groups = Arrays.asList(newCloneGroup(new ClonePart("key1", 0, 2, 4), new ClonePart("key2", 0, 15, 17))); JavaCpdEngine.save(context, inputFile, groups); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_FILES).on(inputFile).withValue(1)); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_BLOCKS).on(inputFile).withValue(1)); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_LINES).on(inputFile).withValue(3)); - verify(storage).store(new DefaultDuplication() .originBlock(inputFile, 2, 4) .isDuplicatedBy("key2", 15, 17)); @@ -101,10 +96,6 @@ public class JavaCpdEngineTest { List groups = Arrays.asList(newCloneGroup(new ClonePart("key1", 0, 5, 204), new ClonePart("key1", 0, 215, 414))); JavaCpdEngine.save(context, inputFile, groups); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_FILES).on(inputFile).withValue(1)); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_BLOCKS).on(inputFile).withValue(2)); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_LINES).on(inputFile).withValue(400)); - verify(storage).store(new DefaultDuplication() .originBlock(inputFile, 5, 204) .isDuplicatedBy("key1", 215, 414)); @@ -115,10 +106,6 @@ public class JavaCpdEngineTest { List groups = Arrays.asList(newCloneGroup(new ClonePart("key1", 0, 5, 204), new ClonePart("key2", 0, 15, 214), new ClonePart("key3", 0, 25, 224))); JavaCpdEngine.save(context, inputFile, groups); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_FILES).on(inputFile).withValue(1)); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_BLOCKS).on(inputFile).withValue(1)); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_LINES).on(inputFile).withValue(200)); - verify(storage).store(new DefaultDuplication() .originBlock(inputFile, 5, 204) .isDuplicatedBy("key2", 15, 214) @@ -132,10 +119,6 @@ public class JavaCpdEngineTest { newCloneGroup(new ClonePart("key1", 0, 15, 214), new ClonePart("key3", 0, 15, 214))); JavaCpdEngine.save(context, inputFile, groups); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_FILES).on(inputFile).withValue(1)); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_BLOCKS).on(inputFile).withValue(2)); - verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_LINES).on(inputFile).withValue(210)); - verify(storage).store(new DefaultDuplication() .originBlock(inputFile, 5, 204) .isDuplicatedBy("key2", 15, 214)); diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/cpd/CpdMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/cpd/CpdMediumTest.java index 7a0c260e4f7..2e734e0063d 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/cpd/CpdMediumTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/cpd/CpdMediumTest.java @@ -42,7 +42,6 @@ import org.sonar.batch.protocol.output.BatchReport.Measure; import org.sonar.xoo.XooPlugin; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.tuple; public class CpdMediumTest { @@ -105,10 +104,6 @@ public class CpdMediumTest { assertThat(result.inputFiles()).hasSize(2); Map> allMeasures = result.allMeasures(); - assertThat(allMeasures.get("com.foo.project:src/sample1.xoo")).extracting("metricKey", "intValue") - .contains(tuple("duplicated_blocks", 1), - tuple("duplicated_files", 1), - tuple("duplicated_lines", 17)); InputFile inputFile1 = result.inputFile("src/sample1.xoo"); InputFile inputFile2 = result.inputFile("src/sample2.xoo"); @@ -208,10 +203,7 @@ public class CpdMediumTest { "[{\"key\":\"Sonar Way\",\"language\":\"xoo\",\"name\":\"Sonar Way\",\"rulesUpdatedAt\":\"2009-02-13T23:31:31+0000\"}]")); assertThat(allMeasures.get("com.foo.project:src/sample.xoo")).extracting("metricKey", "intValue").containsOnly( - Tuple.tuple(CoreMetrics.LINES_KEY, blockCount * 2 + 1), - Tuple.tuple(CoreMetrics.DUPLICATED_FILES_KEY, 1), - Tuple.tuple(CoreMetrics.DUPLICATED_BLOCKS_KEY, blockCount), - Tuple.tuple(CoreMetrics.DUPLICATED_LINES_KEY, blockCount)); + Tuple.tuple(CoreMetrics.LINES_KEY, blockCount * 2 + 1)); List duplicationGroups = result.duplicationsFor(result.inputFile("src/sample.xoo")); assertThat(duplicationGroups).hasSize(1); @@ -239,12 +231,6 @@ public class CpdMediumTest { .build()) .start(); - Map> allMeasures = result.allMeasures(); - assertThat(allMeasures.get("com.foo.project:src/sample.xoo")).extracting("metricKey", "intValue") - .contains(tuple("duplicated_blocks", 2), - tuple("duplicated_files", 1), - tuple("duplicated_lines", 4)); - InputFile inputFile = result.inputFile("src/sample.xoo"); // One clone group List duplicationGroups = result.duplicationsFor(inputFile); -- 2.39.5