diff options
Diffstat (limited to 'sonar-plugin-api')
3 files changed, 23 insertions, 10 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java index 177e8eca2d4..847d1d65eca 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java @@ -23,7 +23,6 @@ import com.google.common.collect.ImmutableList; import org.sonar.api.rule.RuleKey; import javax.annotation.CheckForNull; - import java.io.Serializable; import java.util.Date; import java.util.List; @@ -103,6 +102,12 @@ public interface Issue extends Serializable { Double effortToFix(); /** + * Elapsed time in minutes to fix the issue + */ + @CheckForNull + Long remediationCost(); + + /** * See constant values in {@link Issue}. */ String status(); diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/internal/DefaultIssue.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/internal/DefaultIssue.java index 2214acfe5f5..a195ab4ea80 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/internal/DefaultIssue.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/internal/DefaultIssue.java @@ -37,13 +37,8 @@ import org.sonar.api.rule.Severity; import javax.annotation.CheckForNull; import javax.annotation.Nullable; - import java.io.Serializable; -import java.util.Calendar; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * PLUGINS MUST NOT BE USED THIS CLASS, EXCEPT FOR UNIT TESTING. @@ -61,6 +56,7 @@ public class DefaultIssue implements Issue { private String message; private Integer line; private Double effortToFix; + private Long remediationCost; private String status; private String resolution; private String reporter; @@ -190,6 +186,16 @@ public class DefaultIssue implements Issue { return this; } + @CheckForNull + public Long remediationCost() { + return remediationCost; + } + + public DefaultIssue setRemediationCost(@Nullable Long r) { + this.remediationCost = r; + return this; + } + public String status() { return status; } diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/DefaultIssueTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/DefaultIssueTest.java index 40646371131..32f164eb4e7 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/DefaultIssueTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/issue/internal/DefaultIssueTest.java @@ -48,6 +48,7 @@ public class DefaultIssueTest { .setMessage("a message") .setLine(7) .setEffortToFix(1.2d) + .setRemediationCost(1L) .setActionPlanKey("BCDE") .setStatus(Issue.STATUS_CLOSED) .setResolution(Issue.RESOLUTION_FIXED) @@ -75,6 +76,7 @@ public class DefaultIssueTest { assertThat(issue.message()).isEqualTo("a message"); assertThat(issue.line()).isEqualTo(7); assertThat(issue.effortToFix()).isEqualTo(1.2d); + assertThat(issue.remediationCost()).isEqualTo(1L); assertThat(issue.actionPlanKey()).isEqualTo("BCDE"); assertThat(issue.status()).isEqualTo(Issue.STATUS_CLOSED); assertThat(issue.resolution()).isEqualTo(Issue.RESOLUTION_FIXED); @@ -94,7 +96,7 @@ public class DefaultIssueTest { } @Test - public void should_set_empty_dates() throws Exception { + public void set_empty_dates() throws Exception { issue .setCreationDate(null) .setUpdateDate(null) @@ -134,7 +136,7 @@ public class DefaultIssueTest { } @Test - public void should_fail_on_empty_status() { + public void fail_on_empty_status() { try { issue.setStatus(""); fail(); @@ -144,7 +146,7 @@ public class DefaultIssueTest { } @Test - public void should_fail_on_bad_severity() { + public void fail_on_bad_severity() { try { issue.setSeverity("FOO"); fail(); |