diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2015-10-06 20:43:53 +0200 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2015-10-07 00:02:09 +0200 |
commit | d999545733b0f53d9a726c5c83256cc8e881dd83 (patch) | |
tree | 5f90ca747329974d260d471f94514f41fb4cb486 /sonar-plugin-api/src/main | |
parent | 42b27a86a33b63b0f72ff37c289ca7e41473ed7a (diff) | |
download | sonarqube-d999545733b0f53d9a726c5c83256cc8e881dd83.tar.gz sonarqube-d999545733b0f53d9a726c5c83256cc8e881dd83.zip |
Create a shortcut to add secondary issue locations
Diffstat (limited to 'sonar-plugin-api/src/main')
3 files changed, 19 insertions, 0 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewIssue.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewIssue.java index 66630bf9991..b6b2e068835 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewIssue.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewIssue.java @@ -56,6 +56,12 @@ public interface NewIssue { NewIssue at(NewIssueLocation primaryLocation); /** + * Add a secondary location for this issue. Several secondary locations can be registered. + * @since 5.2 + */ + NewIssue addLocation(NewIssueLocation secondaryLocation); + + /** * Register a flow for this issue. A flow is an ordered list of issue locations that help to understand the issue. * It could be a path leading to the primary location. Several flows can be registered. * @since 5.2 diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssue.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssue.java index bed2162a7b9..10f3e83706c 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssue.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssue.java @@ -25,6 +25,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import java.util.ArrayList; +import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -102,6 +103,12 @@ public class DefaultIssue extends DefaultStorable implements Issue, NewIssue { } @Override + public NewIssue addLocation(NewIssueLocation secondaryLocation) { + flows.add(Arrays.asList((IssueLocation) secondaryLocation)); + return this; + } + + @Override public DefaultIssue addFlow(Iterable<NewIssueLocation> locations) { List<IssueLocation> flowAsList = new ArrayList<>(); for (NewIssueLocation issueLocation : locations) { diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issuable.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issuable.java index 38fe85f4a2c..de822ecb824 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issuable.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issuable.java @@ -96,6 +96,12 @@ public interface Issuable extends Perspective { /** * @since 5.2 + * @see NewIssue#addLocation(NewIssueLocation) + */ + IssueBuilder addLocation(NewIssueLocation secondaryLocation); + + /** + * @since 5.2 * @see NewIssue#addFlow(Iterable) */ IssueBuilder addFlow(Iterable<NewIssueLocation> flowLocations); |