summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2017-09-20 10:16:36 +0200
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2017-09-21 09:54:23 +0200
commite4a4f742a5c70e7886fb53d76c0e3e44797b52dd (patch)
treecfe493086bd5838b4581f07e5fd31183fde2159a /server
parent312fa3ba13f096aa08aca799d13b9335eda059a7 (diff)
downloadsonarqube-e4a4f742a5c70e7886fb53d76c0e3e44797b52dd.tar.gz
sonarqube-e4a4f742a5c70e7886fb53d76c0e3e44797b52dd.zip
add DateUtils#truncateToSeconds and use it instead of +1_000L
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/IssueCounter.java3
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewEffortCalculator.java14
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/qualitymodel/NewReliabilityAndSecurityRatingMeasuresVisitor.java3
3 files changed, 8 insertions, 12 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/IssueCounter.java b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/IssueCounter.java
index 6be67d9d68e..2f03f8c0b55 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/IssueCounter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/IssueCounter.java
@@ -64,6 +64,7 @@ import static org.sonar.api.rule.Severity.CRITICAL;
import static org.sonar.api.rule.Severity.INFO;
import static org.sonar.api.rule.Severity.MAJOR;
import static org.sonar.api.rule.Severity.MINOR;
+import static org.sonar.api.utils.DateUtils.truncateToSeconds;
/**
* For each component, computes the measures related to number of issues:
@@ -138,7 +139,7 @@ public class IssueCounter extends IssueVisitor {
}
Period period = periodHolder.getPeriod();
// Add one second to not take into account issues created during current analysis
- if (issue.creationDate().getTime() >= period.getSnapshotDate() + 1000L) {
+ if (issue.creationDate().getTime() > truncateToSeconds(period.getSnapshotDate())) {
currentCounters.addOnPeriod(issue);
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewEffortCalculator.java b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewEffortCalculator.java
index f1c3bf603f0..397f3faac1c 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewEffortCalculator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewEffortCalculator.java
@@ -24,7 +24,6 @@ import com.google.common.base.MoreObjects;
import com.google.common.base.Predicate;
import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
-import java.util.Calendar;
import java.util.Collection;
import java.util.Comparator;
import java.util.Date;
@@ -33,7 +32,6 @@ import java.util.List;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import org.apache.commons.lang.time.DateUtils;
import org.sonar.core.issue.DefaultIssue;
import org.sonar.core.issue.FieldDiffs;
import org.sonar.db.issue.IssueChangeDto;
@@ -41,6 +39,7 @@ import org.sonar.server.computation.task.projectanalysis.period.Period;
import org.sonar.server.issue.IssueFieldsSetter;
import static com.google.common.collect.FluentIterable.from;
+import static org.sonar.api.utils.DateUtils.truncateToSeconds;
/**
* Gets the issue debt that was introduced on a period. The algorithm
@@ -52,15 +51,10 @@ public class NewEffortCalculator {
* Changelog have to be sorted from newest to oldest.
* Null date should be the first as this happen when technical debt has changed since previous analysis.
*/
- private static final Comparator<FieldDiffs> CHANGE_ORDERING = Ordering.natural().reverse().nullsFirst().onResultOf(new Function<FieldDiffs, Date>() {
- @Override
- public Date apply(@Nonnull FieldDiffs dto) {
- return dto.creationDate();
- }
- });
+ private static final Comparator<FieldDiffs> CHANGE_ORDERING = Ordering.natural().reverse().nullsFirst().onResultOf((Function<FieldDiffs, Date>) dto -> dto.creationDate());
public long calculate(DefaultIssue issue, Collection<IssueChangeDto> debtChangelog, Period period) {
- if (issue.creationDate().getTime() > period.getSnapshotDate() + 1000L) {
+ if (issue.creationDate().getTime() > truncateToSeconds(period.getSnapshotDate())) {
return MoreObjects.firstNonNull(issue.effortInMinutes(), 0L);
}
return calculateFromChangelog(issue, debtChangelog, period.getSnapshotDate());
@@ -104,7 +98,7 @@ public class NewEffortCalculator {
}
private static boolean isBeforeOrEqual(@Nullable Date changeDate, Date periodDate) {
- return (changeDate != null) && (DateUtils.truncatedCompareTo(changeDate, periodDate, Calendar.SECOND) <= 0);
+ return (changeDate != null) && (truncateToSeconds(changeDate.getTime()) <= truncateToSeconds(periodDate.getTime()));
}
private static FieldDiffs.Diff debtDiff(FieldDiffs diffs) {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/qualitymodel/NewReliabilityAndSecurityRatingMeasuresVisitor.java b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/qualitymodel/NewReliabilityAndSecurityRatingMeasuresVisitor.java
index a9ca63e71f9..347c2fa3393 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/qualitymodel/NewReliabilityAndSecurityRatingMeasuresVisitor.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/qualitymodel/NewReliabilityAndSecurityRatingMeasuresVisitor.java
@@ -43,6 +43,7 @@ import static org.sonar.api.rule.Severity.MAJOR;
import static org.sonar.api.rule.Severity.MINOR;
import static org.sonar.api.rules.RuleType.BUG;
import static org.sonar.api.rules.RuleType.VULNERABILITY;
+import static org.sonar.api.utils.DateUtils.truncateToSeconds;
import static org.sonar.server.computation.task.projectanalysis.component.ComponentVisitor.Order.POST_ORDER;
import static org.sonar.server.computation.task.projectanalysis.component.CrawlerDepthLimit.LEAVES;
import static org.sonar.server.computation.task.projectanalysis.measure.Measure.newMeasureBuilder;
@@ -167,7 +168,7 @@ public class NewReliabilityAndSecurityRatingMeasuresVisitor extends PathAwareVis
private static boolean isOnPeriod(DefaultIssue issue, Period period) {
// Add one second to not take into account issues created during current analysis
- return issue.creationDate().getTime() >= period.getSnapshotDate() + 1000L;
+ return issue.creationDate().getTime() > truncateToSeconds(period.getSnapshotDate());
}
}