From 822c74e7379b8354990e3a3605793d85b1803130 Mon Sep 17 00:00:00 2001 From: Pierre Date: Fri, 8 Oct 2021 13:33:26 +0200 Subject: SONAR-15487 add quickfix flag in plugin-api --- .../batch/sensor/issue/internal/DefaultIssue.java | 12 +++++++++++ .../sensor/issue/internal/DefaultIssueTest.java | 24 +++++++++++++++++----- 2 files changed, 31 insertions(+), 5 deletions(-) (limited to 'sonar-plugin-api-impl/src') diff --git a/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssue.java b/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssue.java index 00b0db6392c..ffa35e49945 100644 --- a/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssue.java +++ b/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssue.java @@ -37,6 +37,7 @@ public class DefaultIssue extends AbstractDefaultIssue implements private RuleKey ruleKey; private Double gap; private Severity overriddenSeverity; + private boolean quickFixAvailable = false; public DefaultIssue(DefaultInputProject project) { this(project, null); @@ -68,6 +69,17 @@ public class DefaultIssue extends AbstractDefaultIssue implements return this; } + @Override + public DefaultIssue setQuickFixAvailable(boolean quickFixAvailable) { + this.quickFixAvailable = quickFixAvailable; + return this; + } + + @Override + public boolean isQuickFixAvailable() { + return quickFixAvailable; + } + @Override public Severity overriddenSeverity() { return this.overriddenSeverity; diff --git a/sonar-plugin-api-impl/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssueTest.java b/sonar-plugin-api-impl/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssueTest.java index 86ca1fff7bf..25199bd9509 100644 --- a/sonar-plugin-api-impl/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssueTest.java +++ b/sonar-plugin-api-impl/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultIssueTest.java @@ -26,16 +26,14 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.sonar.api.batch.bootstrap.ProjectDefinition; -import org.sonar.api.batch.rule.Severity; -import org.sonar.api.batch.sensor.internal.SensorStorage; -import org.sonar.api.rule.RuleKey; import org.sonar.api.batch.fs.internal.DefaultInputDir; import org.sonar.api.batch.fs.internal.DefaultInputFile; import org.sonar.api.batch.fs.internal.DefaultInputModule; import org.sonar.api.batch.fs.internal.DefaultInputProject; import org.sonar.api.batch.fs.internal.TestInputFileBuilder; -import org.sonar.api.batch.sensor.issue.internal.DefaultIssue; -import org.sonar.api.batch.sensor.issue.internal.DefaultIssueLocation; +import org.sonar.api.batch.rule.Severity; +import org.sonar.api.batch.sensor.internal.SensorStorage; +import org.sonar.api.rule.RuleKey; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; @@ -156,4 +154,20 @@ public class DefaultIssueTest { verify(storage).store(issue); } + @Test + public void default_issue_has_no_quickfix() { + SensorStorage storage = mock(SensorStorage.class); + DefaultIssue issue = new DefaultIssue(project, storage); + + assertThat(issue.isQuickFixAvailable()).isFalse(); + } + + @Test + public void issue_can_have_quickfix() { + SensorStorage storage = mock(SensorStorage.class); + DefaultIssue issue = new DefaultIssue(project, storage).setQuickFixAvailable(true); + + assertThat(issue.isQuickFixAvailable()).isTrue(); + } + } -- cgit v1.2.3