]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6730 Improve error message when adding measure on not allowed metric
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 26 Aug 2015 14:43:26 +0000 (16:43 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Mon, 31 Aug 2015 07:49:15 +0000 (09:49 +0200)
server/sonar-server/src/main/java/org/sonar/server/computation/measure/api/MeasureComputerImplementationContext.java
server/sonar-server/src/test/java/org/sonar/server/computation/measure/api/MeasureComputerImplementationContextTest.java
sonar-plugin-api/src/test/java/org/sonar/api/test/ce/measure/MeasureComputerImplementationContext.java

index 44516db373a0a62a602debace43de539ca9ae2ec..237846ed19350631694e74818deacf0706839bb2 100644 (file)
@@ -164,7 +164,8 @@ public class MeasureComputerImplementationContext implements MeasureComputer.Imp
   }
 
   private void validateAddMeasure(Metric metric) {
-    checkArgument(measureComputer.getOutputMetrics().contains(metric.getKey()), "Only metrics in %s can be used to add measures", measureComputer.getOutputMetrics());
+    checkArgument(measureComputer.getOutputMetrics().contains(metric.getKey()), "Only metrics in %s can be used to add measures. Metric '%s' is not allowed.",
+      measureComputer.getOutputMetrics(), metric.getKey());
     if (measureRepository.getRawMeasure(internalComponent, metric).isPresent()) {
       throw new UnsupportedOperationException(String.format("A measure on metric '%s' already exists on component '%s'", metric.getKey(), internalComponent.getKey()));
     }
index aa8beac7e557a1459cd274cac098d29d64499c93..cf4d8b06097b0b6df3a139d42ef2cd7b2595b253 100644 (file)
@@ -221,7 +221,7 @@ public class MeasureComputerImplementationContextTest {
   @Test
   public void fail_with_IAE_when_add_measure_is_called_on_metric_not_in_output_list() throws Exception {
     thrown.expect(IllegalArgumentException.class);
-    thrown.expectMessage("Only metrics in [int_metric_key] can be used to add measures");
+    thrown.expectMessage("Only metrics in [int_metric_key] can be used to add measures. Metric 'double_metric_key' is not allowed.");
 
     MeasureComputer.Implementation.Context underTest = newContext(PROJECT_REF, of(NCLOC_KEY), of(INT_METRIC_KEY));
     underTest.addMeasure(DOUBLE_METRIC_KEY, 10);
index a49b2d6611eb6eb035c896ee0bac3f2ab7ee6da1..17c8944648a5ae8e119f86a670e531d51b0bfedf 100644 (file)
@@ -157,7 +157,8 @@ public class MeasureComputerImplementationContext implements MeasureComputer.Imp
   }
 
   private void validateAddMeasure(String metricKey) {
-    checkArgument(measureComputer.getOutputMetrics().contains(metricKey), "Only metrics in %s can be used to add measures", measureComputer.getOutputMetrics());
+    checkArgument(measureComputer.getOutputMetrics().contains(metricKey), "Only metrics in %s can be used to add measures. Metric '%s' is not allowed.",
+      measureComputer.getOutputMetrics(), metricKey);
     if (componentMeasureByMetricKey.get(metricKey) != null) {
       throw new UnsupportedOperationException(String.format("A measure on metric '%s' already exists", metricKey));
     }