aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2017-03-01 12:28:30 +0100
committerJulien Lancelot <julien.lancelot@sonarsource.com>2017-03-02 09:26:10 +0100
commit8ad75df4cde58e79318e0bcf224740221ef6f4cb (patch)
tree997f61efb53139ea1e1bb5f4f02297f84b715caf /server
parenta2b30ecfa4c12cb28adc61ff3013b09fc998a40c (diff)
downloadsonarqube-8ad75df4cde58e79318e0bcf224740221ef6f4cb.tar.gz
sonarqube-8ad75df4cde58e79318e0bcf224740221ef6f4cb.zip
SONAR-8460 Fix bundled error messages
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java36
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/rule/RuleCreatorMediumTest.java12
2 files changed, 24 insertions, 24 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java
index 6ce431fb454..60e86186edb 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java
@@ -22,6 +22,7 @@ package org.sonar.server.rule;
import com.google.common.base.Optional;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
+import java.util.ArrayList;
import java.util.List;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
@@ -31,18 +32,20 @@ import org.sonar.api.rule.Severity;
import org.sonar.api.server.ServerSide;
import org.sonar.api.server.rule.RuleParamType;
import org.sonar.api.utils.System2;
+import org.sonar.core.util.stream.Collectors;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.rule.RuleDto;
import org.sonar.db.rule.RuleDto.Format;
import org.sonar.db.rule.RuleParamDto;
import org.sonar.server.exceptions.BadRequestException;
-import org.sonar.server.exceptions.Errors;
import org.sonar.server.exceptions.Message;
import org.sonar.server.rule.index.RuleIndexer;
import org.sonar.server.util.TypeValidations;
import static com.google.common.collect.Lists.newArrayList;
+import static java.lang.String.format;
+import static org.sonar.server.ws.WsUtils.checkRequest;
@ServerSide
public class RuleCreator {
@@ -94,7 +97,7 @@ public class RuleCreator {
}
private void validateCustomRule(NewCustomRule newRule, DbSession dbSession, RuleKey templateKey) {
- Errors errors = new Errors();
+ List<String> errors = new ArrayList<>();
validateRuleKey(errors, newRule.ruleKey());
validateName(errors, newRule);
@@ -102,25 +105,22 @@ public class RuleCreator {
String severity = newRule.severity();
if (Strings.isNullOrEmpty(severity)) {
- errors.add(Message.of("coding_rules.validation.missing_severity"));
+ errors.add("The severity is missing");
} else if (!Severity.ALL.contains(severity)) {
- errors.add(Message.of("coding_rules.validation.invalid_severity", severity));
+ errors.add(format("Severity \"%s\" is invalid", severity));
}
if (newRule.status() == null) {
- errors.add(Message.of("coding_rules.validation.missing_status"));
+ errors.add("The status is missing");
}
for (RuleParamDto ruleParam : dbClient.ruleDao().selectRuleParamsByRuleKey(dbSession, templateKey)) {
try {
validateParam(ruleParam, newRule.parameter(ruleParam.getName()));
} catch (BadRequestException validationError) {
- errors.add(validationError.errors());
+ errors.addAll(validationError.errors().messages().stream().map(Message::getMessage).collect(Collectors.toList()));
}
}
-
- if (!errors.messages().isEmpty()) {
- throw BadRequestException.create(errors);
- }
+ checkRequest(errors.isEmpty(), errors);
}
@CheckForNull
@@ -136,21 +136,21 @@ public class RuleCreator {
}
}
- private static void validateName(Errors errors, NewCustomRule newRule) {
+ private static void validateName(List<String> errors, NewCustomRule newRule) {
if (Strings.isNullOrEmpty(newRule.name())) {
- errors.add(Message.of("coding_rules.validation.missing_name"));
+ errors.add("The name is missing");
}
}
- private static void validateDescription(Errors errors, NewCustomRule newRule) {
+ private static void validateDescription(List<String> errors, NewCustomRule newRule) {
if (Strings.isNullOrEmpty(newRule.htmlDescription()) && Strings.isNullOrEmpty(newRule.markdownDescription())) {
- errors.add(Message.of("coding_rules.validation.missing_description"));
+ errors.add("The description is missing");
}
}
- private static void validateRuleKey(Errors errors, String ruleKey) {
+ private static void validateRuleKey(List<String> errors, String ruleKey) {
if (!ruleKey.matches("^[\\w]+$")) {
- errors.add(Message.of("coding_rules.validation.invalid_rule_key", ruleKey));
+ errors.add(format("The rule key \"%s\" is invalid, it should only contain: a-z, 0-9, \"_\"", ruleKey));
}
}
@@ -198,14 +198,14 @@ public class RuleCreator {
private void updateExistingRule(RuleDto ruleDto, NewCustomRule newRule, DbSession dbSession) {
if (ruleDto.getStatus().equals(RuleStatus.REMOVED)) {
if (newRule.isPreventReactivation()) {
- throw new ReactivationException(String.format("A removed rule with the key '%s' already exists", ruleDto.getKey().rule()), ruleDto.getKey());
+ throw new ReactivationException(format("A removed rule with the key '%s' already exists", ruleDto.getKey().rule()), ruleDto.getKey());
} else {
ruleDto.setStatus(RuleStatus.READY)
.setUpdatedAt(system2.now());
dbClient.ruleDao().update(dbSession, ruleDto);
}
} else {
- throw new IllegalArgumentException(String.format("A rule with the key '%s' already exists", ruleDto.getKey().rule()));
+ throw new IllegalArgumentException(format("A rule with the key '%s' already exists", ruleDto.getKey().rule()));
}
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/rule/RuleCreatorMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/rule/RuleCreatorMediumTest.java
index 852a3cdc0ae..c74dbe54c9c 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/rule/RuleCreatorMediumTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/rule/RuleCreatorMediumTest.java
@@ -342,7 +342,7 @@ public class RuleCreatorMediumTest {
creator.create(newRule);
fail();
} catch (Exception e) {
- assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("coding_rules.validation.invalid_rule_key");
+ assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("The rule key \"*INVALID*\" is invalid, it should only contain: a-z, 0-9, \"_\"");
}
}
@@ -390,7 +390,7 @@ public class RuleCreatorMediumTest {
creator.create(newRule);
fail();
} catch (Exception e) {
- assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("coding_rules.validation.missing_name");
+ assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("The name is missing");
}
}
@@ -409,7 +409,7 @@ public class RuleCreatorMediumTest {
creator.create(newRule);
fail();
} catch (Exception e) {
- assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("coding_rules.validation.missing_description");
+ assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("The description is missing");
}
}
@@ -428,7 +428,7 @@ public class RuleCreatorMediumTest {
creator.create(newRule);
fail();
} catch (Exception e) {
- assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("coding_rules.validation.missing_severity");
+ assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("The severity is missing");
}
}
@@ -448,7 +448,7 @@ public class RuleCreatorMediumTest {
creator.create(newRule);
fail();
} catch (Exception e) {
- assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("coding_rules.validation.invalid_severity");
+ assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("Severity \"INVALID\" is invalid");
}
}
@@ -467,7 +467,7 @@ public class RuleCreatorMediumTest {
creator.create(newRule);
fail();
} catch (Exception e) {
- assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("coding_rules.validation.missing_status");
+ assertThat(e).isInstanceOf(BadRequestException.class).hasMessage("The status is missing");
}
}