]> source.dussan.org Git - sonarqube.git/commitdiff
Fix quality flaw
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Mon, 3 Feb 2014 08:34:07 +0000 (09:34 +0100)
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Mon, 3 Feb 2014 08:34:07 +0000 (09:34 +0100)
sonar-server/src/main/java/org/sonar/server/rule/RuleRegistry.java

index 5fa29601b2a5c8970b21fbb99e10860afa4a73b0..48c9324de885986a90949d3f62fd3c1baa0ae5c3 100644 (file)
@@ -34,6 +34,7 @@ import org.sonar.api.utils.TimeProfiler;
 import org.sonar.core.rule.*;
 import org.sonar.server.es.ESIndex;
 import org.sonar.server.es.SearchQuery;
+import org.sonar.server.exceptions.NotFoundException;
 
 import javax.annotation.CheckForNull;
 
@@ -121,9 +122,13 @@ public class RuleRegistry {
    */
   public void saveOrUpdate(int ruleId) {
     RuleDto rule = ruleDao.selectById(ruleId);
-    Collection<RuleParamDto> params = ruleDao.selectParameters(rule.getId());
-    Collection<RuleRuleTagDto> tags = ruleDao.selectTags(rule.getId());
-    save(rule, params, tags);
+    if (rule == null) {
+      throw new NotFoundException("Impossible to find rule with ID " + ruleId);
+    } else {
+      Collection<RuleParamDto> params = ruleDao.selectParameters(rule.getId());
+      Collection<RuleRuleTagDto> tags = ruleDao.selectTags(rule.getId());
+      save(rule, params, tags);
+    }
   }
 
   public void save(RuleDto rule, Collection<RuleParamDto> params, Collection<RuleRuleTagDto> tags) {