diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2019-07-30 15:45:06 -0500 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2019-09-04 20:21:04 +0200 |
commit | bc3f8a1cb0b0cb62da450496c66200373c8abe83 (patch) | |
tree | be21aa607fb0ecac282551bf53ae39667352665f /server/sonar-ce-task-projectanalysis | |
parent | 1d02b47100a7193552b794235ed49ab83a2a3192 (diff) | |
download | sonarqube-bc3f8a1cb0b0cb62da450496c66200373c8abe83.tar.gz sonarqube-bc3f8a1cb0b0cb62da450496c66200373c8abe83.zip |
Use CompactMap instead of HashMap for Measures
Diffstat (limited to 'server/sonar-ce-task-projectanalysis')
-rw-r--r-- | server/sonar-ce-task-projectanalysis/build.gradle | 1 | ||||
-rw-r--r-- | server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MapBasedRawMeasureRepository.java | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/server/sonar-ce-task-projectanalysis/build.gradle b/server/sonar-ce-task-projectanalysis/build.gradle index b801b25a684..97914e8b00b 100644 --- a/server/sonar-ce-task-projectanalysis/build.gradle +++ b/server/sonar-ce-task-projectanalysis/build.gradle @@ -30,6 +30,7 @@ dependencies { compile 'com.googlecode.java-diff-utils:diffutils' compile 'org.mybatis:mybatis' compile 'org.picocontainer:picocontainer' + compile 'com.github.vlsi.compactmap:compactmap:1.3.0' compile project(':sonar-core') compile project(':server:sonar-ce-task') diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MapBasedRawMeasureRepository.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MapBasedRawMeasureRepository.java index ee8b6207b65..36bc9643707 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MapBasedRawMeasureRepository.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MapBasedRawMeasureRepository.java @@ -22,7 +22,6 @@ package org.sonar.ce.task.projectanalysis.measure; import com.google.common.collect.ImmutableSetMultimap; import com.google.common.collect.SetMultimap; import java.util.Collections; -import java.util.HashMap; import java.util.Map; import java.util.Optional; import java.util.Set; @@ -33,6 +32,7 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.sonar.ce.task.projectanalysis.component.Component; import org.sonar.ce.task.projectanalysis.metric.Metric; +import vlsi.utils.CompactHashMap; import static com.google.common.base.Preconditions.checkArgument; import static java.lang.String.format; @@ -44,7 +44,7 @@ import static java.util.Objects.requireNonNull; */ public final class MapBasedRawMeasureRepository<T> implements MeasureRepository { private final Function<Component, T> componentToKey; - private final Map<T, Map<MeasureKey, Measure>> measures = new HashMap<>(); + private final Map<T, Map<MeasureKey, Measure>> measures = new CompactHashMap<>(); public MapBasedRawMeasureRepository(Function<Component, T> componentToKey) { this.componentToKey = requireNonNull(componentToKey); @@ -152,7 +152,7 @@ public final class MapBasedRawMeasureRepository<T> implements MeasureRepository requireNonNull(overridePolicy); T componentKey = componentToKey.apply(component); - Map<MeasureKey, Measure> measuresPerMetric = measures.computeIfAbsent(componentKey, key -> new HashMap<>()); + Map<MeasureKey, Measure> measuresPerMetric = measures.computeIfAbsent(componentKey, key -> new CompactHashMap<>()); MeasureKey key = new MeasureKey(metric.getKey()); if (!measuresPerMetric.containsKey(key) || overridePolicy == OverridePolicy.OVERRIDE) { measuresPerMetric.put(key, measure); |