]> source.dussan.org Git - sonarqube.git/commitdiff
Add Optional<Measure> getNewRawMeasure(int componentRef, String metricKey) in Measure...
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 17 Jul 2015 07:57:25 +0000 (09:57 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 17 Jul 2015 14:01:23 +0000 (16:01 +0200)
server/sonar-server/src/test/java/org/sonar/server/computation/measure/MeasureRepositoryRule.java

index ac3c6f110f9bd93f327730a04ebc9b2d92114684..b1e30387e1bf095594d6e92b0a98aa5da4c980bb 100644 (file)
@@ -26,6 +26,7 @@ import com.google.common.collect.SetMultimap;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
 import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -133,6 +134,18 @@ public class MeasureRepositoryRule extends ExternalResource implements MeasureRe
     return getNewRawMeasures(componentProvider.getByRef(componentRef));
   }
 
+  public Optional<Measure> getNewRawMeasure(int componentRef, String metricKey) {
+    checkAndInitProvidersState();
+
+    Set<Measure> measures = getNewRawMeasures(componentProvider.getByRef(componentRef)).get(metricKey);
+    if (measures.isEmpty()) {
+      return Optional.absent();
+    } else if (measures.size() != 1) {
+      throw new IllegalArgumentException(String.format("There is more than one measure on metric '%s' for component '%s'", metricKey, componentRef));
+    }
+    return Optional.of(measures.iterator().next());
+  }
+
   public SetMultimap<String, Measure> getNewRawMeasures(Component component) {
     checkAndInitProvidersState();