aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core
diff options
context:
space:
mode:
authorGuillaume Jambet <guillaume.jambet@sonarsource.com>2018-04-13 11:25:59 +0200
committerSonarTech <sonartech@sonarsource.com>2018-04-26 20:20:51 +0200
commit69cee931cd9c181019812107637d9686d8b13ef1 (patch)
treec69c9d5cb20713337e998c99691aaf84eeadf09a /sonar-core
parent4754c43643ba805ebf63ee95b2b9214c8ddfd0d3 (diff)
downloadsonarqube-69cee931cd9c181019812107637d9686d8b13ef1.tar.gz
sonarqube-69cee931cd9c181019812107637d9686d8b13ef1.zip
SONAR-10577 return if an issue is from an external analyser in issue search
Diffstat (limited to 'sonar-core')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java11
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java7
-rw-r--r--sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueBuilderTest.java2
3 files changed, 20 insertions, 0 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java b/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java
index 3192a5304bc..0add84d5a82 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java
@@ -81,6 +81,8 @@ public class DefaultIssue implements Issue, Trackable, org.sonar.api.ce.measure.
private Set<String> tags = null;
// temporarily an Object as long as DefaultIssue is used by sonar-batch
private Object locations = null;
+
+ private boolean isFromExternalRuleEngine;
// FUNCTIONAL DATES
private Date creationDate;
private Date updateDate;
@@ -239,6 +241,15 @@ public class DefaultIssue implements Issue, Trackable, org.sonar.api.ce.measure.
return this;
}
+ public boolean isFromExternalRuleEngine() {
+ return isFromExternalRuleEngine;
+ }
+
+ public DefaultIssue setFromExternalRuleEngine(boolean fromExternalRuleEngine) {
+ isFromExternalRuleEngine = fromExternalRuleEngine;
+ return this;
+ }
+
@Override
@CheckForNull
public String message() {
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java b/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java
index b436500c041..e302c0bd3e3 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java
@@ -44,6 +44,7 @@ public class DefaultIssueBuilder implements Issuable.IssueBuilder {
private String assignee;
private RuleType type;
private Map<String, String> attributes;
+ private boolean isFromExternalRuleEngine;
public DefaultIssueBuilder componentKey(String componentKey) {
this.componentKey = componentKey;
@@ -55,6 +56,11 @@ public class DefaultIssueBuilder implements Issuable.IssueBuilder {
return this;
}
+ public DefaultIssueBuilder fromExternalRuleEngine(boolean fromExternalRuleEngine) {
+ isFromExternalRuleEngine = fromExternalRuleEngine;
+ return this;
+ }
+
@Override
public DefaultIssueBuilder ruleKey(RuleKey ruleKey) {
this.ruleKey = ruleKey;
@@ -164,6 +170,7 @@ public class DefaultIssueBuilder implements Issuable.IssueBuilder {
issue.setCopied(false);
issue.setBeingClosed(false);
issue.setOnDisabledRule(false);
+ issue.setFromExternalRuleEngine(isFromExternalRuleEngine);
return issue;
}
}
diff --git a/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueBuilderTest.java b/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueBuilderTest.java
index 76d3001eaa9..8c214f89873 100644
--- a/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueBuilderTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueBuilderTest.java
@@ -39,6 +39,7 @@ public class DefaultIssueBuilderTest {
.line(123)
.effortToFix(10000.0)
.ruleKey(RuleKey.of("squid", "NullDereference"))
+ .fromExternalRuleEngine(false)
.severity(Severity.CRITICAL)
.attribute("JIRA", "FOO-123")
.attribute("YOUTRACK", "YT-123")
@@ -53,6 +54,7 @@ public class DefaultIssueBuilderTest {
assertThat(issue.line()).isEqualTo(123);
assertThat(issue.ruleKey().repository()).isEqualTo("squid");
assertThat(issue.ruleKey().rule()).isEqualTo("NullDereference");
+ assertThat(issue.isFromExternalRuleEngine()).isFalse();
assertThat(issue.severity()).isEqualTo(Severity.CRITICAL);
assertThat(issue.assignee()).isNull();
assertThat(issue.isNew()).isTrue();