aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-runner-batch/src/main/java
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2015-07-30 10:24:11 +0200
committerDuarte Meneses <duarte.meneses@sonarsource.com>2015-07-30 15:40:57 +0200
commit6ae87caef4147e53cb58866c99ce978edd4d3b9c (patch)
tree64547a7eb804472e9fa030aec02c157b1471e98b /sonar-runner-batch/src/main/java
parent5ca7bdca3fcb34463b360e5a6a98237e78655af4 (diff)
downloadsonar-scanner-cli-6ae87caef4147e53cb58866c99ce978edd4d3b9c.tar.gz
sonar-scanner-cli-6ae87caef4147e53cb58866c99ce978edd4d3b9c.zip
SONARUNNER-143 New API to retrieve issues produced by the analysis
Diffstat (limited to 'sonar-runner-batch/src/main/java')
-rw-r--r--sonar-runner-batch/src/main/java/org/sonar/runner/batch/BatchIsolatedLauncher.java6
-rw-r--r--sonar-runner-batch/src/main/java/org/sonar/runner/batch/Compatibility.java32
2 files changed, 37 insertions, 1 deletions
diff --git a/sonar-runner-batch/src/main/java/org/sonar/runner/batch/BatchIsolatedLauncher.java b/sonar-runner-batch/src/main/java/org/sonar/runner/batch/BatchIsolatedLauncher.java
index 6b6a710..098e929 100644
--- a/sonar-runner-batch/src/main/java/org/sonar/runner/batch/BatchIsolatedLauncher.java
+++ b/sonar-runner-batch/src/main/java/org/sonar/runner/batch/BatchIsolatedLauncher.java
@@ -54,6 +54,12 @@ public class BatchIsolatedLauncher implements IsolatedLauncher {
batch.executeTask((Map) properties);
}
+ @Override
+ public void execute(Properties properties, IssueListener listener) {
+ org.sonar.batch.bootstrapper.IssueListener batchIssueListener = Compatibility.getBatchIssueListener(listener);
+ batch.executeTask((Map) properties, batchIssueListener);
+ }
+
Batch createBatch(Properties properties, @Nullable final org.sonar.runner.batch.LogOutput logOutput) {
EnvironmentInformation env = new EnvironmentInformation(properties.getProperty("sonarRunner.app"), properties.getProperty("sonarRunner.appVersion"));
Batch.Builder builder = Batch.builder()
diff --git a/sonar-runner-batch/src/main/java/org/sonar/runner/batch/Compatibility.java b/sonar-runner-batch/src/main/java/org/sonar/runner/batch/Compatibility.java
index a2d16d0..99eb70c 100644
--- a/sonar-runner-batch/src/main/java/org/sonar/runner/batch/Compatibility.java
+++ b/sonar-runner-batch/src/main/java/org/sonar/runner/batch/Compatibility.java
@@ -19,11 +19,11 @@
*/
package org.sonar.runner.batch;
+import org.sonar.api.issue.Issue;
import org.sonar.batch.bootstrapper.Batch;
import org.sonar.batch.bootstrapper.LogOutput;
public class Compatibility {
-
private Compatibility() {
// Utility class
}
@@ -39,4 +39,34 @@ public class Compatibility {
});
}
+ static org.sonar.batch.bootstrapper.IssueListener getBatchIssueListener(IssueListener listener) {
+ return new IssueListenerAdapter(listener);
+ }
+
+ static class IssueListenerAdapter implements org.sonar.batch.bootstrapper.IssueListener {
+ private IssueListener listener;
+
+ public IssueListenerAdapter(IssueListener listener) {
+ this.listener = listener;
+ }
+
+ @Override
+ public void handle(Issue issue) {
+ listener.handle(transformIssue(issue));
+ }
+
+ private static IssueListener.Issue transformIssue(Issue batchIssue) {
+ IssueListener.Issue newIssue = new IssueListener.Issue();
+ newIssue.setAssignee(batchIssue.assignee());
+ newIssue.setComponentKey(batchIssue.componentKey());
+ newIssue.setKey(batchIssue.key());
+ newIssue.setResolution(batchIssue.resolution());
+ newIssue.setRule(batchIssue.ruleKey().toString());
+ newIssue.setMessage(batchIssue.message());
+ newIssue.setNew(batchIssue.isNew());
+ newIssue.setLine(batchIssue.line());
+
+ return newIssue;
+ }
+ }
}