From 6840dc54995084e8410b5b6903353a94034cad34 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Wed, 25 Jan 2017 13:58:31 +0100 Subject: SONAR-8701 Lines measures are computed using lines from CE Component --- .../main/java/org/sonar/core/metric/ScannerMetrics.java | 15 ++++++--------- .../java/org/sonar/core/metric/ScannerMetricsTest.java | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) (limited to 'sonar-core') diff --git a/sonar-core/src/main/java/org/sonar/core/metric/ScannerMetrics.java b/sonar-core/src/main/java/org/sonar/core/metric/ScannerMetrics.java index e847647d54c..295cd8416d9 100644 --- a/sonar-core/src/main/java/org/sonar/core/metric/ScannerMetrics.java +++ b/sonar-core/src/main/java/org/sonar/core/metric/ScannerMetrics.java @@ -20,11 +20,10 @@ package org.sonar.core.metric; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; import java.util.Arrays; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; +import java.util.stream.Stream; import org.sonar.api.batch.ScannerSide; import org.sonar.api.ce.ComputeEngineSide; import org.sonar.api.measures.Metric; @@ -49,7 +48,6 @@ import static org.sonar.api.measures.CoreMetrics.FUNCTIONS; import static org.sonar.api.measures.CoreMetrics.FUNCTION_COMPLEXITY_DISTRIBUTION; import static org.sonar.api.measures.CoreMetrics.GENERATED_LINES; import static org.sonar.api.measures.CoreMetrics.GENERATED_NCLOC; -import static org.sonar.api.measures.CoreMetrics.LINES; import static org.sonar.api.measures.CoreMetrics.LINES_TO_COVER; import static org.sonar.api.measures.CoreMetrics.NCLOC; import static org.sonar.api.measures.CoreMetrics.NCLOC_DATA; @@ -64,6 +62,7 @@ import static org.sonar.api.measures.CoreMetrics.TEST_EXECUTION_TIME; import static org.sonar.api.measures.CoreMetrics.TEST_FAILURES; import static org.sonar.api.measures.CoreMetrics.UNCOVERED_CONDITIONS; import static org.sonar.api.measures.CoreMetrics.UNCOVERED_LINES; +import static org.sonar.core.util.stream.Collectors.toSet; /** * This class is used to know the list of metrics that can be sent in the analysis report. @@ -74,8 +73,7 @@ import static org.sonar.api.measures.CoreMetrics.UNCOVERED_LINES; @ScannerSide public class ScannerMetrics { - private static final Set ALLOWED_CORE_METRICS = ImmutableSet.of( - LINES, + private static final Set ALLOWED_CORE_METRICS = ImmutableSet.of( GENERATED_LINES, NCLOC, NCLOC_DATA, @@ -123,17 +121,16 @@ public class ScannerMetrics { } public ScannerMetrics(Metrics[] metricsRepositories) { - this.metrics = ImmutableSet.copyOf(Iterables.concat(getPluginMetrics(metricsRepositories), ALLOWED_CORE_METRICS)); + this.metrics = Stream.concat(getPluginMetrics(metricsRepositories), ALLOWED_CORE_METRICS.stream()).collect(toSet()); } public Set getMetrics() { return metrics; } - private static Iterable getPluginMetrics(Metrics[] metricsRepositories) { + private static Stream getPluginMetrics(Metrics[] metricsRepositories) { return Arrays.stream(metricsRepositories) .map(Metrics::getMetrics) - .flatMap(List::stream) - .collect(Collectors.toList()); + .flatMap(List::stream); } } diff --git a/sonar-core/src/test/java/org/sonar/core/metric/ScannerMetricsTest.java b/sonar-core/src/test/java/org/sonar/core/metric/ScannerMetricsTest.java index 80c9231b2c1..fc44410de8d 100644 --- a/sonar-core/src/test/java/org/sonar/core/metric/ScannerMetricsTest.java +++ b/sonar-core/src/test/java/org/sonar/core/metric/ScannerMetricsTest.java @@ -36,7 +36,7 @@ public class ScannerMetricsTest { @Test public void check_number_of_allowed_core_metrics() throws Exception { - assertThat(SENSOR_METRICS_WITHOUT_METRIC_PLUGIN.getMetrics()).hasSize(34); + assertThat(SENSOR_METRICS_WITHOUT_METRIC_PLUGIN.getMetrics()).hasSize(33); } @Test -- cgit v1.2.3