diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2017-05-12 15:48:15 +0200 |
---|---|---|
committer | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2017-05-12 17:17:42 +0200 |
commit | 2128feb694eeeada2b33fd8772e70cbeb44ed4b8 (patch) | |
tree | 5644d36e74c8f17264b4f7937c1150d2e9b40f5e /server | |
parent | c8bfae074f6ef3fd1b628981d8c1d9e7da3b29f4 (diff) | |
download | sonarqube-2128feb694eeeada2b33fd8772e70cbeb44ed4b8.tar.gz sonarqube-2128feb694eeeada2b33fd8772e70cbeb44ed4b8.zip |
SONAR-9132 don't remove template rules at every startup
Diffstat (limited to 'server')
-rw-r--r-- | server/sonar-server/src/main/java/org/sonar/server/rule/RegisterRules.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/RegisterRules.java b/server/sonar-server/src/main/java/org/sonar/server/rule/RegisterRules.java index fdbb5f8f91e..a9060ea975d 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/rule/RegisterRules.java +++ b/server/sonar-server/src/main/java/org/sonar/server/rule/RegisterRules.java @@ -102,13 +102,20 @@ public class RegisterRules implements Startable { for (RulesDefinition.ExtendedRepository repoDef : getRepositories(context)) { if (languages.get(repoDef.language()) != null) { for (RulesDefinition.Rule ruleDef : repoDef.rules()) { + RuleKey ruleKey = RuleKey.of(ruleDef.repository().key(), ruleDef.key()); if (ruleDef.template() && orgsEnabled) { - LOG.info("Template rule {} will not be imported, because organizations are enabled.", RuleKey.of(ruleDef.repository().key(), ruleDef.key())); + RuleDefinitionDto ruleDefinition = allRules.get(ruleKey); + if (ruleDefinition != null && ruleDefinition.getStatus() == RuleStatus.REMOVED) { + LOG.debug("Template rule {} kept removed, because organizations are enabled.", ruleKey); + allRules.remove(ruleKey); + } else { + LOG.info("Template rule {} will not be imported, because organizations are enabled.", ruleKey); + } continue; } boolean relevantForIndex = registerRule(ruleDef, allRules, session); if (relevantForIndex) { - keysToIndex.add(RuleKey.of(ruleDef.repository().key(), ruleDef.key())); + keysToIndex.add(ruleKey); } } session.commit(); |