use of org.sonar.server.qualityprofile.builtin.RuleActivationContext.RuleWrapper in project sonarqube by SonarSource.
the class RuleActivator method applySeverityAndParamToChange.
/**
* Update severity and params
*/
private void applySeverityAndParamToChange(RuleActivation request, RuleActivationContext context, ActiveRuleChange change) {
RuleWrapper rule = context.getRule();
ActiveRuleWrapper activeRule = context.getActiveRule();
ActiveRuleWrapper parentActiveRule = context.getParentActiveRule();
if (request.isReset()) {
applySeverityAndParamsWhenResetRequested(change, rule, parentActiveRule);
} else if (context.getRulesProfile().isBuiltIn()) {
applySeverityAndParamsWhenBuiltInProfile(request, context, change, rule);
} else {
applySeverityAndParamsWhenNonBuiltInProfile(request, context, change, rule, activeRule, parentActiveRule);
}
}
use of org.sonar.server.qualityprofile.builtin.RuleActivationContext.RuleWrapper in project sonarqube by SonarSource.
the class RuleActivator method doInsert.
private ActiveRuleDto doInsert(ActiveRuleChange change, RuleActivationContext context, DbSession dbSession) {
ActiveRuleDao dao = db.activeRuleDao();
RuleWrapper rule = context.getRule();
ActiveRuleDto activeRule = new ActiveRuleDto();
activeRule.setProfileUuid(context.getRulesProfile().getUuid());
activeRule.setRuleUuid(rule.get().getUuid());
activeRule.setKey(ActiveRuleKey.of(context.getRulesProfile(), rule.get().getKey()));
String severity = change.getSeverity();
if (severity != null) {
activeRule.setSeverity(severity);
}
ActiveRuleInheritance inheritance = change.getInheritance();
if (inheritance != null) {
activeRule.setInheritance(inheritance.name());
}
activeRule.setUpdatedAt(system2.now());
activeRule.setCreatedAt(system2.now());
dao.insert(dbSession, activeRule);
for (Map.Entry<String, String> param : change.getParameters().entrySet()) {
if (param.getValue() != null) {
ActiveRuleParamDto paramDto = ActiveRuleParamDto.createFor(rule.getParam(param.getKey()));
paramDto.setValue(param.getValue());
dao.insertParam(dbSession, activeRule, paramDto);
}
}
return activeRule;
}
Aggregations