]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8460 Remove check from Errors
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 1 Mar 2017 10:20:25 +0000 (11:20 +0100)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Thu, 2 Mar 2017 08:26:09 +0000 (09:26 +0100)
server/sonar-server/src/main/java/org/sonar/server/exceptions/Errors.java
server/sonar-server/src/main/java/org/sonar/server/qualitygate/QualityGateConditionsUpdater.java
server/sonar-server/src/main/java/org/sonar/server/qualitygate/QualityGateUpdater.java
server/sonar-server/src/main/java/org/sonar/server/qualitygate/QualityGates.java

index 6ff48495684bc9979b37ec88e72d1eb3f1454e0a..85f91f986be4cbdbd2f6083383f082d644efbe9f 100644 (file)
@@ -58,13 +58,6 @@ public class Errors {
     return messages.isEmpty();
   }
 
-  public boolean check(boolean expression, String l10nKey, Object... l10nParams) {
-    if (!expression) {
-      add(Message.of(l10nKey, l10nParams));
-    }
-    return expression;
-  }
-
   @Override
   public String toString() {
     return MoreObjects.toStringHelper(this)
index f2e08156c0b7cff2776498abb1699f01c629ddb8..b06cc208c416e7073f7cef6f059b53159b0ae51b 100644 (file)
@@ -141,7 +141,7 @@ public class QualityGateConditionsUpdater {
   }
 
   private static void validateMetric(MetricDto metric, Errors errors) {
-    errors.check(isAlertable(metric), format("Metric '%s' cannot be used to define a condition.", metric.getKey()));
+    check(errors, isAlertable(metric), format("Metric '%s' cannot be used to define a condition.", metric.getKey()));
   }
 
   private static boolean isAlertable(MetricDto metric) {
@@ -154,18 +154,18 @@ public class QualityGateConditionsUpdater {
 
   private static void checkOperator(MetricDto metric, String operator, Errors errors) {
     ValueType valueType = valueOf(metric.getValueType());
-    errors.check(isOperatorAllowed(operator, valueType), format("Operator %s is not allowed for metric type %s.", operator, metric.getValueType()));
+    check(errors, isOperatorAllowed(operator, valueType), format("Operator %s is not allowed for metric type %s.", operator, metric.getValueType()));
   }
 
   private static void checkThresholds(@Nullable String warningThreshold, @Nullable String errorThreshold, Errors errors) {
-    errors.check(warningThreshold != null || errorThreshold != null, "At least one threshold (warning, error) must be set.");
+    check(errors, warningThreshold != null || errorThreshold != null, "At least one threshold (warning, error) must be set.");
   }
 
   private static void checkPeriod(MetricDto metric, @Nullable Integer period, Errors errors) {
     if (period == null) {
-      errors.check(!metric.getKey().startsWith("new_"), "A period must be selected for differential metrics.");
+      check(errors, !metric.getKey().startsWith("new_"), "A period must be selected for differential metrics.");
     } else {
-      errors.check(period == 1, "The only valid quality gate period is 1, the leak period.");
+      check(errors, period == 1, "The only valid quality gate period is 1, the leak period.");
     }
   }
 
@@ -210,7 +210,7 @@ public class QualityGateConditionsUpdater {
   }
 
   private static void checkRatingGreaterThanOperator(@Nullable String value, Errors errors) {
-    errors.check(isNullOrEmpty(value) || !Objects.equals(toRating(value), E), format("There's no worse rating than E (%s)", value));
+    check(errors, isNullOrEmpty(value) || !Objects.equals(toRating(value), E), format("There's no worse rating than E (%s)", value));
   }
 
   private static Rating toRating(String value) {
@@ -220,4 +220,11 @@ public class QualityGateConditionsUpdater {
   private static boolean isValidRating(@Nullable String value) {
     return isNullOrEmpty(value) || RATING_VALID_INT_VALUES.contains(value);
   }
+
+  private static boolean check(Errors errors, boolean expression, String message) {
+    if (!expression) {
+      errors.add(Message.of(message));
+    }
+    return expression;
+  }
 }
index 6726ff563ca5c2052eff7458f6a18ec199944710..645cd0f61f1316a08b93741ce211b0f12e88a29e 100644 (file)
@@ -60,6 +60,8 @@ public class QualityGateUpdater {
   private void checkQualityGateDoesNotAlreadyExist(@Nullable Long qGateId, String name, Errors errors) {
     QualityGateDto existingQgate = dbClient.qualityGateDao().selectByName(name);
     boolean isModifyingCurrentQgate = qGateId != null && existingQgate != null && existingQgate.getId().equals(qGateId);
-    errors.check(isModifyingCurrentQgate || existingQgate == null, Validation.IS_ALREADY_USED_MESSAGE, "Name");
+    if (!isModifyingCurrentQgate && existingQgate != null) {
+      errors.add(Message.of(Validation.IS_ALREADY_USED_MESSAGE, "Name"));
+    }
   }
 }
index f260216f69c211f025e0d7b0400a95ad45d3cecd..506ab073ac886923c4fb66c94b2d80f57d8129fd 100644 (file)
@@ -240,7 +240,9 @@ public class QualityGates {
   private void checkQgateNotAlreadyExists(@Nullable Long updatingQgateId, String name, Errors errors) {
     QualityGateDto existingQgate = dao.selectByName(name);
     boolean isModifyingCurrentQgate = updatingQgateId != null && existingQgate != null && existingQgate.getId().equals(updatingQgateId);
-    errors.check(isModifyingCurrentQgate || existingQgate == null, Validation.IS_ALREADY_USED_MESSAGE, "Name");
+    if (!isModifyingCurrentQgate && existingQgate != null) {
+      errors.add(Message.of(Validation.IS_ALREADY_USED_MESSAGE, "Name"));
+    }
   }
 
   private void checkIsSystemAdministrator() {