aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api/src/main
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2015-10-06 20:43:53 +0200
committerJulien HENRY <julien.henry@sonarsource.com>2015-10-07 00:02:09 +0200
commitd999545733b0f53d9a726c5c83256cc8e881dd83 (patch)
tree5f90ca747329974d260d471f94514f41fb4cb486 /sonar-plugin-api/src/main
parent42b27a86a33b63b0f72ff37c289ca7e41473ed7a (diff)
downloadsonarqube-d999545733b0f53d9a726c5c83256cc8e881dd83.tar.gz
sonarqube-d999545733b0f53d9a726c5c83256cc8e881dd83.zip
Create a shortcut to add secondary issue locations
Diffstat (limited to 'sonar-plugin-api/src/main')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewIssue.java6
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssue.java7
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/issue/Issuable.java6
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);