Browse Source

fix: RuleCreator Rule template keys not found should display in message

pull/3360/head
qxo 2 weeks ago
parent
commit
34db7bd261
No account linked to committer's email address

+ 5
- 2
server/sonar-webserver-common/src/main/java/org/sonar/server/common/rule/RuleCreator.java View File

@@ -102,8 +102,11 @@ public class RuleCreator {
.collect(Collectors.toMap(
RuleDto::getKey,
Function.identity()));

checkArgument(!templateRules.isEmpty() && templateKeys.size() == templateRules.size(), "Rule template keys should exists for each custom rule!");
if (!templateRules.isEmpty()) {
final Set keys = new java.util.HashSet(templateKeys);
keys.removeAll(templateRules.keySet());
checkArgument(keys.isEmpty(), "Rule template keys(" + keys + ") should exists for each custom rule!");
}
templateRules.values().forEach(ruleDto -> {
checkArgument(ruleDto.isTemplate(), "This rule is not a template rule: %s", ruleDto.getKey().toString());
checkArgument(ruleDto.getStatus() != RuleStatus.REMOVED, TEMPLATE_KEY_NOT_EXIST_FORMAT, ruleDto.getKey().toString());

Loading…
Cancel
Save