]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3755 fix regression on severity
authorSimon Brandhof <simon.brandhof@gmail.com>
Wed, 29 May 2013 07:57:48 +0000 (09:57 +0200)
committerSimon Brandhof <simon.brandhof@gmail.com>
Wed, 29 May 2013 07:58:17 +0000 (09:58 +0200)
sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java
sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueBuilderTest.java
sonar-server/src/main/java/org/sonar/server/issue/InternalRubyIssueService.java

index eea97b60d0b25bbdb0551f8c106ab03b6d1f1ef5..e187b923dd28fc110dc5507bcd55720f73e09471 100644 (file)
  */
 package org.sonar.core.issue;
 
-import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import com.google.common.collect.Maps;
 import org.sonar.api.issue.Issuable;
 import org.sonar.api.issue.Issue;
 import org.sonar.api.rule.RuleKey;
-import org.sonar.api.rule.Severity;
 
 import javax.annotation.Nullable;
-
-import java.util.Date;
 import java.util.Map;
 import java.util.UUID;
 
@@ -120,7 +116,7 @@ public class DefaultIssueBuilder implements Issuable.IssueBuilder {
     issue.setProjectKey(projectKey);
     issue.setRuleKey(ruleKey);
     issue.setMessage(message);
-    issue.setSeverity(Objects.firstNonNull(severity, Severity.MAJOR));
+    issue.setSeverity(severity);
     issue.setManualSeverity(false);
     issue.setEffortToFix(effortToFix);
     issue.setLine(line);
index e56a212c99c57d82daad606245d3a06b51bbbd56..eb55c784461bf89442352044d3c8cb5e4271273a 100644 (file)
@@ -59,4 +59,14 @@ public class DefaultIssueBuilderTest {
     assertThat(issue.attribute("YOUTRACK")).isEqualTo("YT-123");
     assertThat(issue.attributes()).hasSize(2);
   }
+
+  @Test
+  public void should_not_set_default_severity() {
+    DefaultIssue issue = (DefaultIssue) new DefaultIssueBuilder()
+      .componentKey("Action.java")
+      .ruleKey(RuleKey.of("squid", "NullDereference"))
+      .build();
+
+    assertThat(issue.severity()).isNull();
+  }
 }
index c816a3c4b04f5526bfe86a4c80d94187cf9ca55b..1b4ac5a61b252120a781dd0a7439ba52df1d5d83 100644 (file)
@@ -20,6 +20,7 @@
 package org.sonar.server.issue;
 
 import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Objects;
 import com.google.common.base.Strings;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.time.DateUtils;
@@ -28,6 +29,7 @@ import org.sonar.api.issue.ActionPlan;
 import org.sonar.api.issue.Issue;
 import org.sonar.api.issue.IssueComment;
 import org.sonar.api.rule.RuleKey;
+import org.sonar.api.rule.Severity;
 import org.sonar.core.issue.ActionPlanStats;
 import org.sonar.core.issue.DefaultActionPlan;
 import org.sonar.core.issue.DefaultIssue;
@@ -144,7 +146,7 @@ public class InternalRubyIssueService implements ServerComponent {
           .componentKey(componentKey)
           .line(RubyUtils.toInteger(params.get("line")))
           .message(params.get("message"))
-          .severity(params.get("severity"))
+          .severity(Objects.firstNonNull(params.get("severity"), Severity.MAJOR))
           .effortToFix(RubyUtils.toDouble(params.get("effortToFix")))
           .ruleKey(ruleKey)
           .reporter(UserSession.get().login())