diff options
Diffstat (limited to 'server')
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()); } } |