aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2017-05-12 15:48:15 +0200
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2017-05-12 17:17:42 +0200
commit2128feb694eeeada2b33fd8772e70cbeb44ed4b8 (patch)
tree5644d36e74c8f17264b4f7937c1150d2e9b40f5e /server
parentc8bfae074f6ef3fd1b628981d8c1d9e7da3b29f4 (diff)
downloadsonarqube-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.java11
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();