Bladeren bron

SONAR-9132 introduce RuleDefinitionDto#isCustomRule

tags/6.4-RC1
Daniel Schwarz 7 jaren geleden
bovenliggende
commit
c747c2ba69

+ 4
- 0
server/sonar-db-dao/src/main/java/org/sonar/db/rule/RuleDefinitionDto.java Bestand weergeven

@@ -195,6 +195,10 @@ public class RuleDefinitionDto {
return templateId;
}

public boolean isCustomRule() {
return getTemplateId() != null;
}

public RuleDefinitionDto setTemplateId(@Nullable Integer templateId) {
this.templateId = templateId;
return this;

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivatorContext.java Bestand weergeven

@@ -114,7 +114,7 @@ class RuleActivatorContext {

@CheckForNull
String requestParamValue(RuleActivation request, String key) {
if (rule.getTemplateId() != null) {
if (rule.isCustomRule()) {
return null;
}
return request.getParameters().get(key);

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/rule/RegisterRules.java Bestand weergeven

@@ -393,7 +393,7 @@ public class RegisterRules implements Startable {
List<RuleDefinitionDto> removedRules = newArrayList();

for (RuleDefinitionDto rule : existingRules) {
if (rule.getTemplateId() != null) {
if (rule.isCustomRule()) {
customRules.add(rule);
} else if (rule.getStatus() != RuleStatus.REMOVED) {
removeRule(session, removedRules, rule);

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/rule/RuleDeleter.java Bestand weergeven

@@ -52,12 +52,12 @@ public class RuleDeleter {
organizationFlags.checkDisabled(dbSession);

RuleDefinitionDto rule = dbClient.ruleDao().selectOrFailDefinitionByKey(dbSession, ruleKey);
if (rule.getTemplateId() == null) {
if (!rule.isCustomRule()) {
throw new IllegalStateException("Only custom rules can be deleted");
}

// For custom rule, first deactivate the rule on all profiles
if (rule.getTemplateId() != null) {
if (rule.isCustomRule()) {
ruleActivator.deactivateOfAllOrganizations(dbSession, rule);
}


+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/rule/ws/CreateAction.java Bestand weergeven

@@ -167,7 +167,7 @@ public class CreateAction implements RulesWsAction {
RuleDefinitionDto rule = dbClient.ruleDao().selectDefinitionByKey(dbSession, ruleKey)
.orElseThrow(() -> new IllegalStateException(String.format("Cannot load rule, that has just been created '%s'", ruleKey)));
List<RuleDefinitionDto> templateRules = new ArrayList<>();
if (rule.getTemplateId() != null) {
if (rule.isCustomRule()) {
Optional<RuleDefinitionDto> templateRule = dbClient.ruleDao().selectDefinitionById(rule.getTemplateId(), dbSession);
templateRule.ifPresent(templateRules::add);
}

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/rule/ws/RuleMapper.java Bestand weergeven

@@ -302,7 +302,7 @@ public class RuleMapper {
}

private static void setTemplateKey(Rules.Rule.Builder ruleResponse, RuleDefinitionDto ruleDto, SearchResult result, Set<String> fieldsToReturn) {
if (shouldReturnField(fieldsToReturn, FIELD_TEMPLATE_KEY) && ruleDto.getTemplateId() != null) {
if (shouldReturnField(fieldsToReturn, FIELD_TEMPLATE_KEY) && ruleDto.isCustomRule()) {
RuleDefinitionDto templateRule = result.getTemplateRulesByRuleId().get(ruleDto.getTemplateId());
if (templateRule != null) {
ruleResponse.setTemplateKey(templateRule.getKey().toString());

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/rule/ws/UpdateAction.java Bestand weergeven

@@ -272,7 +272,7 @@ public class UpdateAction implements RulesWsAction {
RuleDto rule = dbClient.ruleDao().selectByKey(dbSession, organization, key)
.orElseThrow(() -> new NotFoundException(format("Rule not found: %s", key)));
List<RuleDefinitionDto> templateRules = new ArrayList<>(1);
if (rule.getTemplateId() != null) {
if (rule.getDefinition().isCustomRule()) {
dbClient.ruleDao().selectDefinitionById(rule.getTemplateId(), dbSession)
.ifPresent(templateRules::add);
}

Laden…
Annuleren
Opslaan