aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2016-03-08 11:52:44 +0100
committerJulien Lancelot <julien.lancelot@sonarsource.com>2016-03-10 10:44:16 +0100
commit79de4ddfda36dd889c6001a1cd509bd48962dbc0 (patch)
tree3d46212e3a9866ecf2644baa9605ffb310b2c0ae
parent46265f075018110760cffd5ae1374c529609dd25 (diff)
downloadsonarqube-79de4ddfda36dd889c6001a1cd509bd48962dbc0.tar.gz
sonarqube-79de4ddfda36dd889c6001a1cd509bd48962dbc0.zip
SONAR-7345 Rename Issue debt to effort in API
-rw-r--r--server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/IssueIndexBenchmarkTest.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/issue/EffortAggregator.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueAssigner.java10
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueLifecycle.java12
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewEffortAggregator.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewEffortCalculator.java4
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/issue/TrackerRawInputFactory.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/issue/UpdateConflictResolver.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/issue/commonrule/CommonRule.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/IssueUpdater.java28
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java15
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueResultSetIterator.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java8
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/issue/EffortAggregatorTest.java6
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueAssignerTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueLifecycleTest.java10
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/issue/NewEffortAggregatorTest.java8
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/issue/NewEffortCalculatorTest.java8
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/issue/TrackerRawInputFactoryTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/measure/api/MeasureComputerContextImplTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/qualitymodel/QualityModelMeasuresVisitorForReportTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/step/SendIssueNotificationsStepTest.java6
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/IssueStorageTest.java10
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/IssueTesting.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/IssueUpdaterTest.java22
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/ServerIssueStorageTest.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/notification/NewIssuesNotificationTest.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/notification/NewIssuesStatisticsTest.java4
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/DeprecatedIssueAdapterForFilter.java23
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/DeprecatedIssueWrapper.java14
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/TrackedIssueAdapter.java18
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java45
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java2
-rw-r--r--sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueTest.java6
-rw-r--r--sonar-db/src/main/java/org/sonar/db/issue/IssueDto.java16
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/Issue.java11
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/test/TestIssue.java51
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java21
38 files changed, 258 insertions, 132 deletions
diff --git a/server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/IssueIndexBenchmarkTest.java b/server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/IssueIndexBenchmarkTest.java
index b9e661c34da..fc041abff65 100644
--- a/server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/IssueIndexBenchmarkTest.java
+++ b/server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/IssueIndexBenchmarkTest.java
@@ -190,7 +190,7 @@ public class IssueIndexBenchmarkTest {
issue.setFuncCloseDate(null);
issue.setAttributes(null);
issue.setDebt(1000L);
- issue.setEffortToFix(3.14);
+ issue.setGap(3.14);
issue.setLanguage("php");
issue.setReporter(users.next());
issue.setRuleKey(rules.next());
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/EffortAggregator.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/EffortAggregator.java
index bc65e319e31..c778ec3e2f9 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/EffortAggregator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/EffortAggregator.java
@@ -126,7 +126,7 @@ public class EffortAggregator extends IssueVisitor {
private long securityEffort = 0L;
void add(DefaultIssue issue) {
- Long issueEffort = issue.debtInMinutes();
+ Long issueEffort = issue.effortInMinutes();
if (issueEffort != null && issueEffort != 0L) {
switch (issue.type()) {
case CODE_SMELL :
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueAssigner.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueAssigner.java
index 293c650dafe..9dfc1395b6c 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueAssigner.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueAssigner.java
@@ -28,11 +28,11 @@ import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.core.issue.DefaultIssue;
import org.sonar.core.issue.IssueChangeContext;
-import org.sonar.server.issue.IssueUpdater;
import org.sonar.server.computation.analysis.AnalysisMetadataHolder;
import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.scm.ScmInfo;
import org.sonar.server.computation.scm.ScmInfoRepository;
+import org.sonar.server.issue.IssueUpdater;
import static org.apache.commons.lang.StringUtils.defaultIfEmpty;
import static org.sonar.core.issue.IssueChangeContext.createScan;
@@ -51,7 +51,7 @@ public class IssueAssigner extends IssueVisitor {
private static final Logger LOGGER = Loggers.get(IssueAssigner.class);
private final ScmInfoRepository scmInfoRepository;
- private final DefaultAssignee defaultAssigne;
+ private final DefaultAssignee defaultAssignee;
private final IssueUpdater issueUpdater;
private final ScmAccountToUser scmAccountToUser;
private final IssueChangeContext changeContext;
@@ -59,11 +59,11 @@ public class IssueAssigner extends IssueVisitor {
private String lastCommitAuthor = null;
private ScmInfo scmChangesets = null;
- public IssueAssigner(AnalysisMetadataHolder analysisMetadataHolder, ScmInfoRepository scmInfoRepository, ScmAccountToUser scmAccountToUser, DefaultAssignee defaultAssigne,
+ public IssueAssigner(AnalysisMetadataHolder analysisMetadataHolder, ScmInfoRepository scmInfoRepository, ScmAccountToUser scmAccountToUser, DefaultAssignee defaultAssignee,
IssueUpdater issueUpdater) {
this.scmInfoRepository = scmInfoRepository;
this.scmAccountToUser = scmAccountToUser;
- this.defaultAssigne = defaultAssigne;
+ this.defaultAssignee = defaultAssignee;
this.issueUpdater = issueUpdater;
this.changeContext = createScan(new Date(analysisMetadataHolder.getAnalysisDate()));
}
@@ -80,7 +80,7 @@ public class IssueAssigner extends IssueVisitor {
}
}
if (authorWasSet && issue.assignee() == null) {
- String assigneeLogin = StringUtils.defaultIfEmpty(scmAccountToUser.getNullable(issue.authorLogin()), defaultAssigne.getLogin());
+ String assigneeLogin = StringUtils.defaultIfEmpty(scmAccountToUser.getNullable(issue.authorLogin()), defaultAssignee.getLogin());
issueUpdater.setNewAssignee(issue, assigneeLogin, changeContext);
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueLifecycle.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueLifecycle.java
index fb7d388ba29..167755c60d9 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueLifecycle.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueLifecycle.java
@@ -25,10 +25,10 @@ import javax.annotation.Nullable;
import org.sonar.api.issue.Issue;
import org.sonar.core.issue.DefaultIssue;
import org.sonar.core.issue.IssueChangeContext;
-import org.sonar.server.issue.IssueUpdater;
-import org.sonar.server.issue.workflow.IssueWorkflow;
import org.sonar.core.util.Uuids;
import org.sonar.server.computation.analysis.AnalysisMetadataHolder;
+import org.sonar.server.issue.IssueUpdater;
+import org.sonar.server.issue.workflow.IssueWorkflow;
/**
* Sets the appropriate fields when an issue is :
@@ -62,7 +62,7 @@ public class IssueLifecycle {
issue.setCreationDate(changeContext.date());
issue.setUpdateDate(changeContext.date());
issue.setStatus(Issue.STATUS_OPEN);
- issue.setDebt(debtCalculator.calculate(issue));
+ issue.setEffort(debtCalculator.calculate(issue));
}
public void mergeExistingOpenIssue(DefaultIssue raw, DefaultIssue base) {
@@ -79,7 +79,7 @@ public class IssueLifecycle {
raw.setAuthorLogin(base.authorLogin());
raw.setTags(base.tags());
raw.setAttributes(base.attributes());
- raw.setDebt(debtCalculator.calculate(raw));
+ raw.setEffort(debtCalculator.calculate(raw));
raw.setOnDisabledRule(base.isOnDisabledRule());
if (base.manualSeverity()) {
raw.setManualSeverity(true);
@@ -92,8 +92,8 @@ public class IssueLifecycle {
updater.setPastLine(raw, base.getLine());
updater.setPastLocations(raw, base.getLocations());
updater.setPastMessage(raw, base.getMessage(), changeContext);
- updater.setPastEffortToFix(raw, base.effortToFix(), changeContext);
- updater.setPastTechnicalDebt(raw, base.debt(), changeContext);
+ updater.setPastGap(raw, base.effortToFix(), changeContext);
+ updater.setPastEffort(raw, base.debt(), changeContext);
raw.setSelectedAt(base.selectedAt());
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewEffortAggregator.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewEffortAggregator.java
index 67d3f56ca3e..76f5386249e 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewEffortAggregator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewEffortAggregator.java
@@ -94,7 +94,7 @@ public class NewEffortAggregator extends IssueVisitor {
@Override
public void onIssue(Component component, DefaultIssue issue) {
- if (issue.resolution() == null && issue.debtInMinutes() != null && !periodsHolder.getPeriods().isEmpty()) {
+ if (issue.resolution() == null && issue.effortInMinutes() != null && !periodsHolder.getPeriods().isEmpty()) {
List<IssueChangeDto> changelog = changesByIssueUuid.get(issue.key());
for (Period period : periodsHolder.getPeriods()) {
counter.add(issue, period, changelog);
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewEffortCalculator.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewEffortCalculator.java
index 539e0bae9e6..fdb07d5d5be 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewEffortCalculator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewEffortCalculator.java
@@ -50,7 +50,7 @@ public class NewEffortCalculator {
public long calculate(DefaultIssue issue, Collection<IssueChangeDto> debtChangelog, Period period) {
if (issue.creationDate().getTime() > period.getSnapshotDate() + 1000L) {
- return Objects.firstNonNull(issue.debtInMinutes(), 0L);
+ return Objects.firstNonNull(issue.effortInMinutes(), 0L);
}
return calculateFromChangelog(issue, debtChangelog, period.getSnapshotDate());
}
@@ -62,7 +62,7 @@ public class NewEffortCalculator {
debtDiffs = Lists.newArrayList(debtDiffs);
debtDiffs.add(currentChange);
}
- long newDebt = issue.debtInMinutes();
+ long newDebt = issue.effortInMinutes();
for (Iterator<FieldDiffs> it = debtDiffs.iterator(); it.hasNext();) {
FieldDiffs diffs = it.next();
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/TrackerRawInputFactory.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/TrackerRawInputFactory.java
index 8c403dc705a..b557b1a0133 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/TrackerRawInputFactory.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/TrackerRawInputFactory.java
@@ -126,7 +126,7 @@ public class TrackerRawInputFactory {
issue.setSeverity(reportIssue.getSeverity().name());
}
if (reportIssue.hasEffortToFix()) {
- issue.setEffortToFix(reportIssue.getEffortToFix());
+ issue.setGap(reportIssue.getEffortToFix());
}
DbIssues.Locations.Builder dbLocationsBuilder = DbIssues.Locations.newBuilder();
if (reportIssue.hasTextRange()) {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/UpdateConflictResolver.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/UpdateConflictResolver.java
index 394e458cdd3..3f7c2fcde48 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/UpdateConflictResolver.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/UpdateConflictResolver.java
@@ -63,7 +63,7 @@ public class UpdateConflictResolver {
}
private void resolveEffortToFix(IssueDto dbIssue, DefaultIssue issue) {
- issue.setEffortToFix(dbIssue.getGap());
+ issue.setGap(dbIssue.getGap());
}
private void resolveSeverity(IssueDto dbIssue, DefaultIssue issue) {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/commonrule/CommonRule.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/commonrule/CommonRule.java
index bfa5735e834..6ad789b6162 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/commonrule/CommonRule.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/commonrule/CommonRule.java
@@ -49,7 +49,7 @@ public abstract class CommonRule {
CommonRuleIssue cri = doProcessFile(file, activeRule.get());
if (cri != null) {
issue = new DefaultIssue();
- issue.setEffortToFix(cri.effortToFix);
+ issue.setGap(cri.effortToFix);
issue.setMessage(cri.message);
issue.setRuleKey(ruleKey);
issue.setSeverity(activeRule.get().getSeverity());
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueUpdater.java b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueUpdater.java
index 803832fc127..ed7ce1737e5 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueUpdater.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueUpdater.java
@@ -255,9 +255,9 @@ public class IssueUpdater {
}
}
- public boolean setEffortToFix(DefaultIssue issue, @Nullable Double d, IssueChangeContext context) {
- if (!Objects.equal(d, issue.effortToFix())) {
- issue.setEffortToFix(d);
+ public boolean setGap(DefaultIssue issue, @Nullable Double d, IssueChangeContext context) {
+ if (!Objects.equal(d, issue.gap())) {
+ issue.setGap(d);
issue.setUpdateDate(context.date());
issue.setChanged(true);
// Do not send notifications to prevent spam when installing the SQALE plugin,
@@ -267,16 +267,16 @@ public class IssueUpdater {
return false;
}
- public boolean setPastEffortToFix(DefaultIssue issue, @Nullable Double previousEffort, IssueChangeContext context) {
- Double currentEffort = issue.effortToFix();
- issue.setEffortToFix(previousEffort);
- return setEffortToFix(issue, currentEffort, context);
+ public boolean setPastGap(DefaultIssue issue, @Nullable Double previousGap, IssueChangeContext context) {
+ Double currentGap = issue.gap();
+ issue.setGap(previousGap);
+ return setGap(issue, currentGap, context);
}
- public boolean setTechnicalDebt(DefaultIssue issue, @Nullable Duration value, IssueChangeContext context) {
- Duration oldValue = issue.debt();
+ public boolean setEffort(DefaultIssue issue, @Nullable Duration value, IssueChangeContext context) {
+ Duration oldValue = issue.effort();
if (!Objects.equal(value, oldValue)) {
- issue.setDebt(value != null ? value : null);
+ issue.setEffort(value != null ? value : null);
issue.setFieldChange(context, TECHNICAL_DEBT, oldValue != null ? oldValue.toMinutes() : null, value != null ? value.toMinutes() : null);
issue.setUpdateDate(context.date());
issue.setChanged(true);
@@ -285,10 +285,10 @@ public class IssueUpdater {
return false;
}
- public boolean setPastTechnicalDebt(DefaultIssue issue, @Nullable Duration previousTechnicalDebt, IssueChangeContext context) {
- Duration currentTechnicalDebt = issue.debt();
- issue.setDebt(previousTechnicalDebt);
- return setTechnicalDebt(issue, currentTechnicalDebt, context);
+ public boolean setPastEffort(DefaultIssue issue, @Nullable Duration previousEffort, IssueChangeContext context) {
+ Duration currentEffort = issue.effort();
+ issue.setEffort(previousEffort);
+ return setEffort(issue, currentEffort, context);
}
public boolean setAttribute(DefaultIssue issue, String key, @Nullable String value, IssueChangeContext context) {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java
index b0dac03d667..1fa468e3704 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java
@@ -117,9 +117,16 @@ public class IssueDoc extends BaseDoc implements Issue {
return getNullableField(IssueIndexDefinition.FIELD_ISSUE_LINE);
}
+ @Deprecated
@Override
@CheckForNull
public Double effortToFix() {
+ throw new UnsupportedOperationException("effortToFix is replaced by gap");
+ }
+
+ @Override
+ @CheckForNull
+ public Double gap() {
return getNullableField(IssueIndexDefinition.FIELD_ISSUE_EFFORT);
}
@@ -218,6 +225,12 @@ public class IssueDoc extends BaseDoc implements Issue {
@Override
@CheckForNull
public Duration debt() {
+ throw new UnsupportedOperationException("debt is replaced by effort");
+ }
+
+ @Override
+ @CheckForNull
+ public Duration effort() {
Number debt = getNullableField(IssueIndexDefinition.FIELD_ISSUE_DEBT);
return (debt != null) ? Duration.create(debt.longValue()) : null;
}
@@ -288,7 +301,7 @@ public class IssueDoc extends BaseDoc implements Issue {
return this;
}
- public IssueDoc setEffortToFix(@Nullable Double d) {
+ public IssueDoc setGap(@Nullable Double d) {
setField(IssueIndexDefinition.FIELD_ISSUE_EFFORT, d);
return this;
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueResultSetIterator.java b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueResultSetIterator.java
index 3a7c6f3375c..c9b569afb99 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueResultSetIterator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueResultSetIterator.java
@@ -164,7 +164,7 @@ class IssueResultSetIterator extends ResultSetIterator<IssueDoc> {
doc.setTechnicalUpdateDate(new Date(rs.getLong(3)));
doc.setActionPlanKey(rs.getString(4));
doc.setAssignee(rs.getString(5));
- doc.setEffortToFix(DatabaseUtils.getDouble(rs, 6));
+ doc.setGap(DatabaseUtils.getDouble(rs, 6));
doc.setAttributes(rs.getString(7));
doc.setLine(DatabaseUtils.getInt(rs, 8));
doc.setMessage(rs.getString(9));
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java
index 78625faf798..71de564497f 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java
@@ -69,7 +69,7 @@ public class DebtCalculatorTest {
public void linear_function() {
double effortToFix = 3.0;
int coefficient = 2;
- issue.setEffortToFix(effortToFix);
+ issue.setGap(effortToFix);
rule.setFunction(new DefaultDebtRemediationFunction(DebtRemediationFunction.Type.LINEAR, coefficient + "min", null));
assertThat(underTest.calculate(issue).toMinutes()).isEqualTo((int) (coefficient * effortToFix));
@@ -78,7 +78,7 @@ public class DebtCalculatorTest {
@Test
public void constant_function() {
int constant = 2;
- issue.setEffortToFix(null);
+ issue.setGap(null);
rule.setFunction(new DefaultDebtRemediationFunction(DebtRemediationFunction.Type.CONSTANT_ISSUE, null, constant + "min"));
assertThat(underTest.calculate(issue).toMinutes()).isEqualTo(2);
@@ -87,7 +87,7 @@ public class DebtCalculatorTest {
@Test(expected = IllegalArgumentException.class)
public void effort_to_fix_must_not_be_set_with_constant_function() {
int constant = 2;
- issue.setEffortToFix(3.0);
+ issue.setGap(3.0);
rule.setFunction(new DefaultDebtRemediationFunction(DebtRemediationFunction.Type.CONSTANT_ISSUE, null, constant + "min"));
underTest.calculate(issue);
@@ -98,7 +98,7 @@ public class DebtCalculatorTest {
double effortToFix = 3.0;
int coefficient = 2;
int offset = 5;
- issue.setEffortToFix(effortToFix);
+ issue.setGap(effortToFix);
rule.setFunction(new DefaultDebtRemediationFunction(
DebtRemediationFunction.Type.LINEAR_OFFSET, coefficient + "min", offset + "min"));
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/EffortAggregatorTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/EffortAggregatorTest.java
index 5c1e3f43754..7ce171dd72d 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/EffortAggregatorTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/EffortAggregatorTest.java
@@ -217,15 +217,15 @@ public class EffortAggregatorTest {
}
private static DefaultIssue newCodeSmellIssue(long effort) {
- return newCodeSmellIssueWithoutEffort().setDebt(Duration.create(effort)).setType(CODE_SMELL);
+ return newCodeSmellIssueWithoutEffort().setEffort(Duration.create(effort)).setType(CODE_SMELL);
}
private static DefaultIssue newBugIssue(long effort) {
- return newCodeSmellIssueWithoutEffort().setDebt(Duration.create(effort)).setType(BUG);
+ return newCodeSmellIssueWithoutEffort().setEffort(Duration.create(effort)).setType(BUG);
}
private static DefaultIssue newVulnerabilityIssue(long effort) {
- return newCodeSmellIssueWithoutEffort().setDebt(Duration.create(effort)).setType(VULNERABILITY);
+ return newCodeSmellIssueWithoutEffort().setEffort(Duration.create(effort)).setType(VULNERABILITY);
}
private static DefaultIssue newCodeSmellIssueWithoutEffort() {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueAssignerTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueAssignerTest.java
index 4b5e05b6a9d..45dbe30b7ac 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueAssignerTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueAssignerTest.java
@@ -181,7 +181,7 @@ public class IssueAssignerTest {
underTest.onIssue(FILE, issue);
assertThat(logTester.logs(LoggerLevel.WARN)).containsOnly(
- "No SCM info has been found for issue DefaultIssue[key=<null>,type=VULNERABILITY,componentUuid=<null>,componentKey=<null>,moduleUuid=<null>,moduleUuidPath=<null>,projectUuid=<null>,projectKey=<null>,ruleKey=<null>,language=<null>,severity=<null>,manualSeverity=false,message=<null>,line=2,effortToFix=<null>,debt=<null>,status=<null>,resolution=<null>,reporter=<null>,assignee=<null>,checksum=<null>,attributes=<null>,authorLogin=<null>,actionPlanKey=<null>,comments=<null>,tags=<null>,locations=<null>,creationDate=<null>,updateDate=<null>,closeDate=<null>,currentChange=<null>,changes=<null>,isNew=true,beingClosed=false,onDisabledRule=false,isChanged=false,sendNotifications=false,selectedAt=<null>]");
+ "No SCM info has been found for issue DefaultIssue[key=<null>,type=VULNERABILITY,componentUuid=<null>,componentKey=<null>,moduleUuid=<null>,moduleUuidPath=<null>,projectUuid=<null>,projectKey=<null>,ruleKey=<null>,language=<null>,severity=<null>,manualSeverity=false,message=<null>,line=2,gap=<null>,effort=<null>,status=<null>,resolution=<null>,reporter=<null>,assignee=<null>,checksum=<null>,attributes=<null>,authorLogin=<null>,actionPlanKey=<null>,comments=<null>,tags=<null>,locations=<null>,creationDate=<null>,updateDate=<null>,closeDate=<null>,currentChange=<null>,changes=<null>,isNew=true,beingClosed=false,onDisabledRule=false,isChanged=false,sendNotifications=false,selectedAt=<null>]");
}
private void setSingleChangeset(String author, Long date, String revision) {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueLifecycleTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueLifecycleTest.java
index f9957a41dce..f9eafe22b03 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueLifecycleTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueLifecycleTest.java
@@ -25,10 +25,10 @@ import org.junit.Test;
import org.sonar.api.utils.Duration;
import org.sonar.core.issue.DefaultIssue;
import org.sonar.core.issue.IssueChangeContext;
-import org.sonar.server.issue.IssueUpdater;
-import org.sonar.server.issue.workflow.IssueWorkflow;
import org.sonar.db.protobuf.DbCommons;
import org.sonar.db.protobuf.DbIssues;
+import org.sonar.server.issue.IssueUpdater;
+import org.sonar.server.issue.workflow.IssueWorkflow;
import static com.google.common.collect.Lists.newArrayList;
import static org.assertj.core.api.Assertions.assertThat;
@@ -121,8 +121,8 @@ public class IssueLifecycleTest {
.setSelectedAt(1000L)
.setLine(10)
.setMessage("message")
- .setEffortToFix(15d)
- .setDebt(Duration.create(15L))
+ .setGap(15d)
+ .setEffort(Duration.create(15L))
.setManualSeverity(false)
.setLocations(issueLocations);
@@ -148,7 +148,7 @@ public class IssueLifecycleTest {
verify(updater).setPastSeverity(raw, BLOCKER, issueChangeContext);
verify(updater).setPastLine(raw, 10);
verify(updater).setPastMessage(raw, "message", issueChangeContext);
- verify(updater).setPastTechnicalDebt(raw, Duration.create(15L), issueChangeContext);
+ verify(updater).setPastEffort(raw, Duration.create(15L), issueChangeContext);
verify(updater).setPastLocations(raw, issueLocations);
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/NewEffortAggregatorTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/NewEffortAggregatorTest.java
index 5d2d2e21a96..b3ad6e62692 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/NewEffortAggregatorTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/NewEffortAggregatorTest.java
@@ -247,7 +247,7 @@ public class NewEffortAggregatorTest {
@Test
public void no_measures_if_no_periods() {
periodsHolder.setPeriods();
- DefaultIssue unresolved = new DefaultIssue().setDebt(Duration.create(10));
+ DefaultIssue unresolved = new DefaultIssue().setEffort(Duration.create(10));
verifyZeroInteractions(calculator);
underTest.beforeComponent(FILE);
@@ -264,15 +264,15 @@ public class NewEffortAggregatorTest {
}
private static DefaultIssue newCodeSmellIssue(long effort) {
- return newCodeSmellIssueWithoutEffort().setDebt(Duration.create(effort)).setType(RuleType.CODE_SMELL);
+ return newCodeSmellIssueWithoutEffort().setEffort(Duration.create(effort)).setType(RuleType.CODE_SMELL);
}
private static DefaultIssue newBugIssue(long effort) {
- return newCodeSmellIssueWithoutEffort().setDebt(Duration.create(effort)).setType(RuleType.BUG);
+ return newCodeSmellIssueWithoutEffort().setEffort(Duration.create(effort)).setType(RuleType.BUG);
}
private static DefaultIssue newVulnerabilityIssue(long effort) {
- return newCodeSmellIssueWithoutEffort().setDebt(Duration.create(effort)).setType(RuleType.VULNERABILITY);
+ return newCodeSmellIssueWithoutEffort().setEffort(Duration.create(effort)).setType(RuleType.VULNERABILITY);
}
private static DefaultIssue newCodeSmellIssueWithoutEffort() {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/NewEffortCalculatorTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/NewEffortCalculatorTest.java
index 4b80660f7bc..daba976f03d 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/NewEffortCalculatorTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/NewEffortCalculatorTest.java
@@ -54,7 +54,7 @@ public class NewEffortCalculatorTest {
*/
@Test
public void total_debt_if_issue_created_during_period() {
- issue.setDebt(TWO_DAYS).setCreationDate(new Date(PERIOD_DATE + 10000));
+ issue.setEffort(TWO_DAYS).setCreationDate(new Date(PERIOD_DATE + 10000));
long newDebt = underTest.calculate(issue, Collections.<IssueChangeDto>emptyList(), PERIOD);
@@ -67,7 +67,7 @@ public class NewEffortCalculatorTest {
// before period: increased to 2d
// after period: increased to 5d, decreased to 4d then increased to 10d
// -> new debt is 10d - 2d = 8d
- issue.setDebt(TEN_DAYS).setCreationDate(new Date(PERIOD_DATE - 10000));
+ issue.setEffort(TEN_DAYS).setCreationDate(new Date(PERIOD_DATE - 10000));
List<IssueChangeDto> changelog = Arrays.asList(
newDebtChangelog(ONE_DAY.toMinutes(), TWO_DAYS.toMinutes(), PERIOD_DATE - 9000),
newDebtChangelog(TWO_DAYS.toMinutes(), FIVE_DAYS.toMinutes(), PERIOD_DATE + 10000),
@@ -86,7 +86,7 @@ public class NewEffortCalculatorTest {
// before period: increased to 10d
// after period: decreased to 2d
// -> new debt is 2d - 10d = -8d -> 0d
- issue.setDebt(TWO_DAYS).setCreationDate(new Date(PERIOD_DATE - 10000));
+ issue.setEffort(TWO_DAYS).setCreationDate(new Date(PERIOD_DATE - 10000));
List<IssueChangeDto> changelog = Arrays.asList(
newDebtChangelog(ONE_DAY.toMinutes(), TEN_DAYS.toMinutes(), PERIOD_DATE - 9000),
newDebtChangelog(TEN_DAYS.toMinutes(), TWO_DAYS.toMinutes(), PERIOD_DATE + 30000)
@@ -102,7 +102,7 @@ public class NewEffortCalculatorTest {
// creation: 1d
// after period: increased to 2d, then to 5d
// -> new debt is 5d - 1d = 4d
- issue.setDebt(FIVE_DAYS).setCreationDate(new Date(PERIOD_DATE - 10000));
+ issue.setEffort(FIVE_DAYS).setCreationDate(new Date(PERIOD_DATE - 10000));
List<IssueChangeDto> changelog = Arrays.asList(
newDebtChangelog(ONE_DAY.toMinutes(), TWO_DAYS.toMinutes(), PERIOD_DATE + 20000),
newDebtChangelog(TWO_DAYS.toMinutes(), FIVE_DAYS.toMinutes(), PERIOD_DATE + 30000)
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/TrackerRawInputFactoryTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/TrackerRawInputFactoryTest.java
index 1b62f81a208..90c6399d0ab 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/TrackerRawInputFactoryTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/TrackerRawInputFactoryTest.java
@@ -137,7 +137,7 @@ public class TrackerRawInputFactoryTest {
DefaultIssue ceIssue = new DefaultIssue()
.setRuleKey(RuleKey.of(CommonRuleKeys.commonRepositoryForLang("java"), "InsufficientCoverage"))
.setMessage("not enough coverage")
- .setEffortToFix(10.0);
+ .setGap(10.0);
when(commonRuleEngine.process(FILE)).thenReturn(asList(ceIssue));
Input<DefaultIssue> input = underTest.create(FILE);
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/measure/api/MeasureComputerContextImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/measure/api/MeasureComputerContextImplTest.java
index 9af64d86756..73d1c58d208 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/measure/api/MeasureComputerContextImplTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/measure/api/MeasureComputerContextImplTest.java
@@ -256,7 +256,7 @@ public class MeasureComputerContextImplTest {
.setSeverity("MAJOR")
.setStatus("CLOSED")
.setResolution("FIXED")
- .setDebt(Duration.create(10l));
+ .setEffort(Duration.create(10l));
MeasureComputerContextImpl underTest = newContext(PROJECT_REF, Arrays.asList(issue));
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/qualitymodel/QualityModelMeasuresVisitorForReportTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/qualitymodel/QualityModelMeasuresVisitorForReportTest.java
index 871a396b5af..3068fad340b 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/qualitymodel/QualityModelMeasuresVisitorForReportTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/qualitymodel/QualityModelMeasuresVisitorForReportTest.java
@@ -573,7 +573,7 @@ public class QualityModelMeasuresVisitorForReportTest {
private static DefaultIssue newIssue(long effort, String severity, RuleType type) {
return newIssue(severity, type)
- .setDebt(Duration.create(effort));
+ .setEffort(Duration.create(effort));
}
private static DefaultIssue newIssue(String severity, RuleType type) {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/SendIssueNotificationsStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/SendIssueNotificationsStepTest.java
index a3084392b89..f110769f80c 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/SendIssueNotificationsStepTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/SendIssueNotificationsStepTest.java
@@ -106,7 +106,7 @@ public class SendIssueNotificationsStepTest extends BaseStepTest {
@Test
public void send_global_new_issues_notification() throws Exception {
issueCache.newAppender().append(
- new DefaultIssue().setSeverity(Severity.BLOCKER).setDebt(ISSUE_DURATION)
+ new DefaultIssue().setSeverity(Severity.BLOCKER).setEffort(ISSUE_DURATION)
).close();
when(notificationService.hasProjectSubscribersForTypes(PROJECT_UUID, SendIssueNotificationsStep.NOTIF_TYPES)).thenReturn(true);
@@ -123,7 +123,7 @@ public class SendIssueNotificationsStepTest extends BaseStepTest {
@Test
public void send_new_issues_notification_to_user() throws Exception {
issueCache.newAppender().append(
- new DefaultIssue().setSeverity(Severity.BLOCKER).setDebt(ISSUE_DURATION).setAssignee(ISSUE_ASSIGNEE)
+ new DefaultIssue().setSeverity(Severity.BLOCKER).setEffort(ISSUE_DURATION).setAssignee(ISSUE_ASSIGNEE)
).close();
when(notificationService.hasProjectSubscribersForTypes(PROJECT_UUID, SendIssueNotificationsStep.NOTIF_TYPES)).thenReturn(true);
@@ -140,7 +140,7 @@ public class SendIssueNotificationsStepTest extends BaseStepTest {
@Test
public void send_issues_change_notification() throws Exception {
- DefaultIssue issue = new DefaultIssue().setSeverity(Severity.BLOCKER).setDebt(ISSUE_DURATION).setChanged(true).setSendNotifications(true);
+ DefaultIssue issue = new DefaultIssue().setSeverity(Severity.BLOCKER).setEffort(ISSUE_DURATION).setChanged(true).setSendNotifications(true);
issueCache.newAppender().append(issue).close();
when(notificationService.hasProjectSubscribersForTypes(PROJECT_UUID, SendIssueNotificationsStep.NOTIF_TYPES)).thenReturn(true);
diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueStorageTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueStorageTest.java
index 282f3fef408..0ae426537a1 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueStorageTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueStorageTest.java
@@ -66,7 +66,7 @@ public class IssueStorageTest {
.setRuleKey(RuleKey.of("squid", "AvoidCycle"))
.setLine(5000)
- .setDebt(Duration.create(10L))
+ .setEffort(Duration.create(10L))
.setReporter("emmerik")
.setResolution("OPEN")
.setStatus("OPEN")
@@ -103,7 +103,7 @@ public class IssueStorageTest {
.setRuleKey(RuleKey.of("squid", "AvoidCycle"))
.setLine(5000)
- .setDebt(Duration.create(10L))
+ .setEffort(Duration.create(10L))
.setReporter("emmerik")
.setResolution("OPEN")
.setStatus("OPEN")
@@ -143,7 +143,7 @@ public class IssueStorageTest {
.setRuleKey(RuleKey.of("squid", "AvoidCycle"))
.setLine(5000)
- .setDebt(Duration.create(10L))
+ .setEffort(Duration.create(10L))
.setReporter("emmerik")
.setResolution("OPEN")
.setStatus("OPEN")
@@ -184,7 +184,7 @@ public class IssueStorageTest {
// updated fields
.setLine(5000)
- .setDebt(Duration.create(10L))
+ .setEffort(Duration.create(10L))
.setChecksum("FFFFF")
.setAuthorLogin("simon")
.setAssignee("loic")
@@ -231,7 +231,7 @@ public class IssueStorageTest {
// updated fields
.setLine(5000)
- .setDebt(Duration.create(10L))
+ .setEffort(Duration.create(10L))
.setChecksum("FFFFF")
.setAuthorLogin("simon")
.setAssignee("loic")
diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueTesting.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueTesting.java
index b9a4f8b097b..0dc4759ed23 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueTesting.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueTesting.java
@@ -70,7 +70,7 @@ public class IssueTesting {
doc.setAuthorLogin("roger");
doc.setLanguage("xoo");
doc.setComponentUuid("FILE_1");
- doc.setEffortToFix(3.14);
+ doc.setGap(3.14);
doc.setFilePath("src/Foo.xoo");
doc.setDirectoryPath("/src");
doc.setMessage("the message");
diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueUpdaterTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueUpdaterTest.java
index 7e8544ce2ef..977a3863042 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueUpdaterTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueUpdaterTest.java
@@ -411,7 +411,7 @@ public class IssueUpdaterTest {
@Test
public void set_effort_to_fix() {
- boolean updated = updater.setEffortToFix(issue, 3.14, context);
+ boolean updated = updater.setGap(issue, 3.14, context);
assertThat(updated).isTrue();
assertThat(issue.isChanged()).isTrue();
assertThat(issue.effortToFix()).isEqualTo(3.14);
@@ -420,8 +420,8 @@ public class IssueUpdaterTest {
@Test
public void not_set_effort_to_fix_if_unchanged() {
- issue.setEffortToFix(3.14);
- boolean updated = updater.setEffortToFix(issue, 3.14, context);
+ issue.setGap(3.14);
+ boolean updated = updater.setGap(issue, 3.14, context);
assertThat(updated).isFalse();
assertThat(issue.isChanged()).isFalse();
assertThat(issue.effortToFix()).isEqualTo(3.14);
@@ -430,8 +430,8 @@ public class IssueUpdaterTest {
@Test
public void set_past_effort() {
- issue.setEffortToFix(3.14);
- boolean updated = updater.setPastEffortToFix(issue, 1.0, context);
+ issue.setGap(3.14);
+ boolean updated = updater.setPastGap(issue, 1.0, context);
assertThat(updated).isTrue();
assertThat(issue.effortToFix()).isEqualTo(3.14);
@@ -444,8 +444,8 @@ public class IssueUpdaterTest {
public void set_past_technical_debt() {
Duration newDebt = Duration.create(15 * 8 * 60);
Duration previousDebt = Duration.create(10 * 8 * 60);
- issue.setDebt(newDebt);
- boolean updated = updater.setPastTechnicalDebt(issue, previousDebt, context);
+ issue.setEffort(newDebt);
+ boolean updated = updater.setPastEffort(issue, previousDebt, context);
assertThat(updated).isTrue();
assertThat(issue.debt()).isEqualTo(newDebt);
assertThat(issue.mustSendNotifications()).isFalse();
@@ -458,8 +458,8 @@ public class IssueUpdaterTest {
@Test
public void set_past_technical_debt_without_previous_value() {
Duration newDebt = Duration.create(15 * 8 * 60);
- issue.setDebt(newDebt);
- boolean updated = updater.setPastTechnicalDebt(issue, null, context);
+ issue.setEffort(newDebt);
+ boolean updated = updater.setPastEffort(issue, null, context);
assertThat(updated).isTrue();
assertThat(issue.debt()).isEqualTo(newDebt);
assertThat(issue.mustSendNotifications()).isFalse();
@@ -471,9 +471,9 @@ public class IssueUpdaterTest {
@Test
public void set_past_technical_debt_with_null_new_value() {
- issue.setDebt(null);
+ issue.setEffort(null);
Duration previousDebt = Duration.create(10 * 8 * 60);
- boolean updated = updater.setPastTechnicalDebt(issue, previousDebt, context);
+ boolean updated = updater.setPastEffort(issue, previousDebt, context);
assertThat(updated).isTrue();
assertThat(issue.debt()).isNull();
assertThat(issue.mustSendNotifications()).isFalse();
diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/ServerIssueStorageTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/ServerIssueStorageTest.java
index 0b8ea3bb3b2..064588828e7 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/issue/ServerIssueStorageTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/issue/ServerIssueStorageTest.java
@@ -94,7 +94,7 @@ public class ServerIssueStorageTest {
.setRuleKey(RuleKey.of("squid", "AvoidCycle"))
.setProjectKey("struts")
.setLine(5000)
- .setDebt(Duration.create(10L))
+ .setEffort(Duration.create(10L))
.setReporter("emmerik")
.setResolution("OPEN")
.setStatus("OPEN")
@@ -133,7 +133,7 @@ public class ServerIssueStorageTest {
// updated fields
.setLine(5000)
.setProjectUuid("CDEF")
- .setDebt(Duration.create(10L))
+ .setEffort(Duration.create(10L))
.setChecksum("FFFFF")
.setAuthorLogin("simon")
.setAssignee("loic")
diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/notification/NewIssuesNotificationTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/notification/NewIssuesNotificationTest.java
index 95cf12389be..23353762b2e 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/issue/notification/NewIssuesNotificationTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/issue/notification/NewIssuesNotificationTest.java
@@ -127,7 +127,7 @@ public class NewIssuesNotificationTest {
.setSeverity(Severity.INFO)
.setTags(Lists.newArrayList("bug", "owasp"))
.setRuleKey(RuleKey.of("SonarQube", "rule-the-world"))
- .setDebt(Duration.create(5L));
+ .setEffort(Duration.create(5L));
}
private DefaultIssue newIssue2() {
@@ -137,7 +137,7 @@ public class NewIssuesNotificationTest {
.setSeverity(Severity.BLOCKER)
.setTags(Lists.newArrayList("owasp"))
.setRuleKey(RuleKey.of("SonarQube", "rule-the-universe"))
- .setDebt(Duration.create(10L));
+ .setEffort(Duration.create(10L));
}
private RuleDto newRule(String name, String language) {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/notification/NewIssuesStatisticsTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/notification/NewIssuesStatisticsTest.java
index 3af2917e107..8d9f966f869 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/issue/notification/NewIssuesStatisticsTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/issue/notification/NewIssuesStatisticsTest.java
@@ -21,10 +21,10 @@ package org.sonar.server.issue.notification;
import com.google.common.collect.Lists;
import org.junit.Test;
-import org.sonar.core.issue.DefaultIssue;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.rule.Severity;
import org.sonar.api.utils.Duration;
+import org.sonar.core.issue.DefaultIssue;
import org.sonar.server.issue.notification.NewIssuesStatistics.Metric;
import static org.assertj.core.api.Assertions.assertThat;
@@ -76,6 +76,6 @@ public class NewIssuesStatisticsTest {
.setSeverity(Severity.INFO)
.setRuleKey(RuleKey.of("SonarQube", "rule-the-world"))
.setTags(Lists.newArrayList("bug", "owasp"))
- .setDebt(Duration.create(5L));
+ .setEffort(Duration.create(5L));
}
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/DeprecatedIssueAdapterForFilter.java b/sonar-batch/src/main/java/org/sonar/batch/issue/DeprecatedIssueAdapterForFilter.java
index d4f604a6624..567f66a3fcf 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/DeprecatedIssueAdapterForFilter.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/DeprecatedIssueAdapterForFilter.java
@@ -19,17 +19,16 @@
*/
package org.sonar.batch.issue;
-import org.sonar.api.issue.Issue;
-import org.sonar.api.issue.IssueComment;
-import org.sonar.api.resources.Project;
-import org.sonar.api.rule.RuleKey;
-import org.sonar.api.utils.Duration;
-
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
+import org.sonar.api.issue.Issue;
+import org.sonar.api.issue.IssueComment;
+import org.sonar.api.resources.Project;
+import org.sonar.api.rule.RuleKey;
+import org.sonar.api.utils.Duration;
/**
* @deprecated since 5.3
@@ -82,7 +81,13 @@ class DeprecatedIssueAdapterForFilter implements Issue {
}
@Override
+ @Deprecated
public Double effortToFix() {
+ return gap();
+ }
+
+ @Override
+ public Double gap() {
return rawIssue.hasEffortToFix() ? rawIssue.getEffortToFix() : null;
}
@@ -151,8 +156,14 @@ class DeprecatedIssueAdapterForFilter implements Issue {
throw unsupported();
}
+ @Deprecated
@Override
public Duration debt() {
+ return effort();
+ }
+
+ @Override
+ public Duration effort() {
throw unsupported();
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/DeprecatedIssueWrapper.java b/sonar-batch/src/main/java/org/sonar/batch/issue/DeprecatedIssueWrapper.java
index 0d63b4d8011..61e215cc931 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/DeprecatedIssueWrapper.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/DeprecatedIssueWrapper.java
@@ -81,8 +81,17 @@ public class DeprecatedIssueWrapper implements Issue {
return textRange != null ? textRange.start().line() : null;
}
+ /**
+ * @deprecated since 5.5, replaced by {@link #gap()}
+ */
@Override
+ @Deprecated
public Double effortToFix() {
+ return gap();
+ }
+
+ @Override
+ public Double gap() {
return newIssue.effortToFix();
}
@@ -157,6 +166,11 @@ public class DeprecatedIssueWrapper implements Issue {
}
@Override
+ public Duration effort() {
+ return null;
+ }
+
+ @Override
public String projectKey() {
return null;
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/TrackedIssueAdapter.java b/sonar-batch/src/main/java/org/sonar/batch/issue/TrackedIssueAdapter.java
index c48b7a45895..f8f21ea2e0e 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/TrackedIssueAdapter.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/TrackedIssueAdapter.java
@@ -68,8 +68,17 @@ public class TrackedIssueAdapter implements Issue {
return issue.startLine();
}
+ /**
+ * @deprecated since 5.5, replaced by {@link #gap()}
+ */
@Override
+ @Deprecated
public Double effortToFix() {
+ return gap();
+ }
+
+ @Override
+ public Double gap() {
return issue.effortToFix();
}
@@ -143,12 +152,21 @@ public class TrackedIssueAdapter implements Issue {
return new ArrayList<>();
}
+ /**
+ * @deprecated since 5.5, replaced by {@link #effort()}
+ */
@Override
+ @Deprecated
public Duration debt() {
return null;
}
@Override
+ public Duration effort() {
+ return null;
+ }
+
+ @Override
public String projectKey() {
return null;
}
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java b/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java
index cb8e08a4981..37eebd3f91b 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java
@@ -71,8 +71,8 @@ public class DefaultIssue implements Issue, Trackable, org.sonar.api.ce.measure.
private boolean manualSeverity = false;
private String message;
private Integer line;
- private Double effortToFix;
- private Duration debt;
+ private Double gap;
+ private Duration effort;
private String status;
private String resolution;
private String reporter;
@@ -267,34 +267,55 @@ public class DefaultIssue implements Issue, Trackable, org.sonar.api.ce.measure.
return this;
}
+ /**
+ * @deprecated since5.5, replaced by {@link #gap()}
+ */
+ @Deprecated
@Override
@CheckForNull
public Double effortToFix() {
- return effortToFix;
+ return gap();
+ }
+
+ @Override
+ @CheckForNull
+ public Double gap() {
+ return gap;
}
- public DefaultIssue setEffortToFix(@Nullable Double d) {
- Preconditions.checkArgument(d == null || d >= 0, format("Effort to fix must be greater than or equal 0 (got %s)", d));
- this.effortToFix = d;
+ public DefaultIssue setGap(@Nullable Double d) {
+ Preconditions.checkArgument(d == null || d >= 0, format("Gap must be greater than or equal 0 (got %s)", d));
+ this.gap = d;
return this;
}
/**
- * Elapsed time to fix the issue
+ * @deprecated since5.5, replaced by {@link #effort()}
*/
+ @Deprecated
@Override
@CheckForNull
public Duration debt() {
- return debt;
+ return effort();
}
+ /**
+ * Elapsed time to fix the issue
+ */
+ @Override
+ @CheckForNull
+ public Duration effort() {
+ return effort;
+ }
+
+
@CheckForNull
- public Long debtInMinutes() {
- return debt != null ? debt.toMinutes() : null;
+ public Long effortInMinutes() {
+ return effort != null ? effort.toMinutes() : null;
}
- public DefaultIssue setDebt(@Nullable Duration t) {
- this.debt = t;
+ public DefaultIssue setEffort(@Nullable Duration t) {
+ this.effort = t;
return this;
}
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java b/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java
index 5055e705c91..a97a4c089bd 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssueBuilder.java
@@ -155,7 +155,7 @@ public class DefaultIssueBuilder implements Issuable.IssueBuilder {
issue.setMessage(message);
issue.setSeverity(severity);
issue.setManualSeverity(false);
- issue.setEffortToFix(effortToFix);
+ issue.setGap(effortToFix);
issue.setLine(line);
issue.setReporter(reporter);
issue.setAssignee(assignee);
diff --git a/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueTest.java b/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueTest.java
index 9bbd084c980..2dc8be7b155 100644
--- a/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueTest.java
@@ -49,8 +49,8 @@ public class DefaultIssueTest {
.setManualSeverity(true)
.setMessage("a message")
.setLine(7)
- .setEffortToFix(1.2d)
- .setDebt(Duration.create(28800L))
+ .setGap(1.2d)
+ .setEffort(Duration.create(28800L))
.setActionPlanKey("BCDE")
.setStatus(Issue.STATUS_CLOSED)
.setResolution(Issue.RESOLUTION_FIXED)
@@ -174,7 +174,7 @@ public class DefaultIssueTest {
@Test
public void test_nullable_fields() throws Exception {
- issue.setEffortToFix(null).setSeverity(null).setLine(null);
+ issue.setGap(null).setSeverity(null).setLine(null);
assertThat(issue.effortToFix()).isNull();
assertThat(issue.severity()).isNull();
assertThat(issue.line()).isNull();
diff --git a/sonar-db/src/main/java/org/sonar/db/issue/IssueDto.java b/sonar-db/src/main/java/org/sonar/db/issue/IssueDto.java
index 1afe96c55c5..0fe823de213 100644
--- a/sonar-db/src/main/java/org/sonar/db/issue/IssueDto.java
+++ b/sonar-db/src/main/java/org/sonar/db/issue/IssueDto.java
@@ -109,8 +109,8 @@ public final class IssueDto implements Serializable {
.setLine(issue.line())
.setLocations((DbIssues.Locations) issue.getLocations())
.setMessage(issue.message())
- .setGap(issue.effortToFix())
- .setEffort(issue.debtInMinutes())
+ .setGap(issue.gap())
+ .setEffort(issue.effortInMinutes())
.setResolution(issue.resolution())
.setStatus(issue.status())
.setSeverity(issue.severity())
@@ -158,8 +158,8 @@ public final class IssueDto implements Serializable {
.setLine(issue.line())
.setLocations((DbIssues.Locations) issue.getLocations())
.setMessage(issue.message())
- .setGap(issue.effortToFix())
- .setEffort(issue.debtInMinutes())
+ .setGap(issue.gap())
+ .setEffort(issue.effortInMinutes())
.setResolution(issue.resolution())
.setStatus(issue.status())
.setSeverity(issue.severity())
@@ -302,7 +302,7 @@ public final class IssueDto implements Serializable {
}
public IssueDto setGap(@Nullable Double d) {
- checkArgument(d == null || d >= 0, "Value of issue effort to fix must be positive: %d", d);
+ checkArgument(d == null || d >= 0, "Value of issue gap must be positive: %d", d);
this.gap = d;
return this;
}
@@ -313,7 +313,7 @@ public final class IssueDto implements Serializable {
}
public IssueDto setEffort(@Nullable Long l) {
- checkArgument(l == null || l >= 0, "Value of issue debt must be positive: %d", l);
+ checkArgument(l == null || l >= 0, "Value of issue effort must be positive: %d", l);
this.effort = l;
return this;
}
@@ -726,8 +726,8 @@ public final class IssueDto implements Serializable {
issue.setStatus(status);
issue.setResolution(resolution);
issue.setMessage(message);
- issue.setEffortToFix(gap);
- issue.setDebt(effort != null ? Duration.create(effort) : null);
+ issue.setGap(gap);
+ issue.setEffort(effort != null ? Duration.create(effort) : null);
issue.setLine(line);
issue.setChecksum(checksum);
issue.setSeverity(severity);
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/Issue.java b/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/Issue.java
index 4dd391e8f39..45da30ad5e5 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/Issue.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/Issue.java
@@ -51,9 +51,18 @@ public interface Issue {
*/
String severity();
- @CheckForNull
+ /**
+ * @deprecated since 5.5, replaced by {@link #effort()}
+ */
+ @Deprecated
Duration debt();
+ /**
+ * @since 5.5
+ */
+ @CheckForNull
+ Duration effort();
+
RuleType type();
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/test/TestIssue.java b/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/test/TestIssue.java
index aa743661b36..01f19e4c52e 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/test/TestIssue.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/test/TestIssue.java
@@ -39,7 +39,7 @@ public class TestIssue implements Issue {
private String resolution;
private String severity;
private RuleKey ruleKey;
- private Duration debt;
+ private Duration effort;
private RuleType type;
private TestIssue(Builder builder) {
@@ -48,7 +48,7 @@ public class TestIssue implements Issue {
this.resolution = builder.resolution;
this.severity = builder.severity;
this.ruleKey = builder.ruleKey;
- this.debt = builder.debt;
+ this.effort = builder.effort;
this.type = builder.type;
}
@@ -78,16 +78,27 @@ public class TestIssue implements Issue {
return severity;
}
+ /**
+ * @deprecated since 5.5, replaced by {@link #effort}
+ */
@Override
@CheckForNull
+ @Deprecated
public Duration debt() {
- return debt;
+ return effort();
}
+ /**
+ * @since 5.5
+ */
+ @Override
public Duration effort() {
- return debt;
+ return effort;
}
+ /**
+ * @since 5.5
+ */
@Override
public RuleType type() {
return type;
@@ -99,7 +110,7 @@ public class TestIssue implements Issue {
private String resolution;
private String severity;
private RuleKey ruleKey;
- private Duration debt;
+ private Duration effort;
private RuleType type;
public Builder setKey(String key) {
@@ -127,49 +138,63 @@ public class TestIssue implements Issue {
return this;
}
+ /**
+ * @deprecated since 5.5, use {@link #setEffort(Duration)} instead
+ */
+ @Deprecated
public Builder setDebt(@Nullable Duration debt) {
- this.debt = debt;
+ return setEffort(debt);
+ }
+
+ /**
+ * @since 5.5
+ */
+ public Builder setEffort(@Nullable Duration effort) {
+ this.effort = effort;
return this;
}
+ /**
+ * @since 5.5
+ */
public Builder setType(RuleType type) {
this.type = validateType(type);
return this;
}
- private static String validateKey(String key){
+ private static String validateKey(String key) {
checkNotNull(key, "key cannot be null");
return key;
}
- private static RuleKey validateRuleKey(RuleKey ruleKey){
+ private static RuleKey validateRuleKey(RuleKey ruleKey) {
checkNotNull(ruleKey, "ruleKey cannot be null");
return ruleKey;
}
- private static String validateResolution(@Nullable String resolution){
+ private static String validateResolution(@Nullable String resolution) {
checkArgument(resolution == null || org.sonar.api.issue.Issue.RESOLUTIONS.contains(resolution), String.format("resolution '%s' is invalid", resolution));
return resolution;
}
- private static String validateSeverity(String severity){
+ private static String validateSeverity(String severity) {
checkNotNull(severity, "severity cannot be null");
checkArgument(Severity.ALL.contains(severity), String.format("severity '%s' is invalid", severity));
return severity;
}
- private static String validateStatus(String status){
+ private static String validateStatus(String status) {
checkNotNull(status, "status cannot be null");
checkArgument(org.sonar.api.issue.Issue.STATUSES.contains(status), String.format("status '%s' is invalid", status));
return status;
}
- private static RuleType validateType(RuleType type){
+ private static RuleType validateType(RuleType type) {
checkNotNull(type, "type cannot be null");
return type;
}
- public Issue build(){
+ public Issue build() {
validateKey(key);
validateResolution(resolution);
validateSeverity(severity);
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 f3aae0b962d..539ad85feef 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
@@ -106,6 +106,13 @@ public interface Issue extends Serializable {
Integer line();
/**
+ * @deprecated since 5.5, replaced by {@link #gap()}
+ */
+ @Deprecated
+ @CheckForNull
+ Double effortToFix();
+
+ /**
* Arbitrary distance to threshold for resolving the issue.
* <p/>
* For examples:
@@ -114,9 +121,11 @@ public interface Issue extends Serializable {
* <li>for the rule "Avoid Duplications" : number of duplicated blocks</li>
* <li>for the rule "Insufficient Line Coverage" : number of lines to cover to reach the accepted threshold</li>
* </ul>
+ *
+ * @since 5.5
*/
@CheckForNull
- Double effortToFix();
+ Double gap();
/**
* See constant values in {@link Issue}.
@@ -186,12 +195,18 @@ public interface Issue extends Serializable {
boolean isNew();
/**
- * @since 5.0
+ * @deprecated since 5.5, replaced by {@link #effort()}
*/
- @CheckForNull
+ @Deprecated
Duration debt();
/**
+ * @since 5.5
+ */
+ @CheckForNull
+ Duration effort();
+
+ /**
* @since 5.0
*/
String projectKey();