diff options
author | Guillaume Jambet <guillaume.jambet@sonarsource.com> | 2018-04-13 11:25:59 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2018-04-26 20:20:51 +0200 |
commit | 69cee931cd9c181019812107637d9686d8b13ef1 (patch) | |
tree | c69c9d5cb20713337e998c99691aaf84eeadf09a /sonar-core | |
parent | 4754c43643ba805ebf63ee95b2b9214c8ddfd0d3 (diff) | |
download | sonarqube-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')
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(); |