diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2014-04-11 17:52:17 +0200 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2014-04-11 17:52:17 +0200 |
commit | 53fc70e961eceebd1524e4a8df96e3321b80b9ee (patch) | |
tree | 3d7f7167313d7e3b7b009887eab28e731273352b /sonar-batch/src | |
parent | d251cdd677a72845a4c3beaf8ee9eefd1e8ca47f (diff) | |
download | sonarqube-53fc70e961eceebd1524e4a8df96e3321b80b9ee.tar.gz sonarqube-53fc70e961eceebd1524e4a8df96e3321b80b9ee.zip |
SONAR-5212 Fix tests metric in multi-language projects
Diffstat (limited to 'sonar-batch/src')
-rw-r--r-- | sonar-batch/src/main/java/org/sonar/batch/index/Bucket.java | 4 | ||||
-rw-r--r-- | sonar-batch/src/main/java/org/sonar/batch/index/MeasurePersister.java | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/Bucket.java b/sonar-batch/src/main/java/org/sonar/batch/index/Bucket.java index 551c25327f3..af6a87ae8a6 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/Bucket.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/Bucket.java @@ -22,6 +22,7 @@ package org.sonar.batch.index; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Lists; +import org.sonar.api.measures.CoreMetrics; import org.sonar.api.measures.Measure; import org.sonar.api.measures.MeasuresFilter; import org.sonar.api.measures.MeasuresFilters; @@ -87,6 +88,9 @@ public final class Bucket { if (index > -1) { if (metricMeasures.get(index) == measure) { add = false; + } else if (measure.getMetric().equals(CoreMetrics.TESTS)) { + // Hack for SONAR-5212 + measuresByMetric.remove(measure.getMetric().getKey(), metricMeasures.get(index)); } else { throw new SonarException("Can not add twice the same measure on " + resource + ": " + measure); } diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/MeasurePersister.java b/sonar-batch/src/main/java/org/sonar/batch/index/MeasurePersister.java index 564ee82ec72..8e61a931bd0 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/MeasurePersister.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/MeasurePersister.java @@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory; import org.sonar.api.database.model.MeasureMapper; import org.sonar.api.database.model.MeasureModel; import org.sonar.api.database.model.Snapshot; +import org.sonar.api.measures.CoreMetrics; import org.sonar.api.measures.Measure; import org.sonar.api.measures.RuleMeasure; import org.sonar.api.resources.Resource; @@ -73,6 +74,10 @@ public final class MeasurePersister { public void saveMeasure(Resource resource, Measure measure) { if (shouldSaveLater(measure)) { + if (measure.getMetric().equals(CoreMetrics.TESTS) && unsavedMeasuresByResource.get(resource).contains(measure)) { + // Hack for SONAR-5212 + unsavedMeasuresByResource.remove(resource, measure); + } unsavedMeasuresByResource.put(resource, measure); return; } |