diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2015-07-30 10:24:11 +0200 |
---|---|---|
committer | Duarte Meneses <duarte.meneses@sonarsource.com> | 2015-07-30 15:40:57 +0200 |
commit | 6ae87caef4147e53cb58866c99ce978edd4d3b9c (patch) | |
tree | 64547a7eb804472e9fa030aec02c157b1471e98b /sonar-runner-batch/src/main/java | |
parent | 5ca7bdca3fcb34463b360e5a6a98237e78655af4 (diff) | |
download | sonar-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.java | 6 | ||||
-rw-r--r-- | sonar-runner-batch/src/main/java/org/sonar/runner/batch/Compatibility.java | 32 |
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; + } + } } |