diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2017-10-31 11:08:55 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2017-11-01 08:28:17 +0100 |
commit | 784829702ff22927a87b51091b82724609e6efbe (patch) | |
tree | 1ccdf5052d4994d3f584c80f2ace414ea45c1196 /server/sonar-db-dao/src/main | |
parent | 7dd92e607ad74e0beafbd0798e45b9545caaca45 (diff) | |
download | sonarqube-784829702ff22927a87b51091b82724609e6efbe.tar.gz sonarqube-784829702ff22927a87b51091b82724609e6efbe.zip |
SONAR-9993 Functional creation date of comment is no more nullable
Old comments do not have functional creation date as this column has been added later
Diffstat (limited to 'server/sonar-db-dao/src/main')
-rw-r--r-- | server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueChangeDto.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueChangeDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueChangeDto.java index 53f2ebda604..0d9a822647b 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueChangeDto.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueChangeDto.java @@ -30,6 +30,7 @@ import org.sonar.core.issue.DefaultIssueComment; import org.sonar.core.issue.FieldDiffs; import static com.google.common.base.Preconditions.checkNotNull; +import static java.util.Objects.requireNonNull; /** * @since 3.6 @@ -51,6 +52,7 @@ public final class IssueChangeDto implements Serializable { private Long updatedAt; // functional date + @Nullable private Long issueChangeCreationDate; public static IssueChangeDto of(DefaultIssueComment comment) { @@ -59,7 +61,8 @@ public final class IssueChangeDto implements Serializable { dto.setChangeType(IssueChangeDto.TYPE_COMMENT); dto.setChangeData(comment.markdownText()); dto.setUserLogin(comment.userLogin()); - dto.setIssueChangeCreationDate(comment.createdAt() == null ? null : comment.createdAt().getTime()); + Date createdAt = requireNonNull(comment.createdAt(), "Comment created at must not be null"); + dto.setIssueChangeCreationDate(createdAt.getTime()); return dto; } @@ -68,7 +71,8 @@ public final class IssueChangeDto implements Serializable { dto.setChangeType(IssueChangeDto.TYPE_FIELD_CHANGE); dto.setChangeData(diffs.toString()); dto.setUserLogin(diffs.userLogin()); - dto.setIssueChangeCreationDate(diffs.creationDate() == null ? null : diffs.creationDate().getTime()); + Date createdAt = requireNonNull(diffs.creationDate(), "Diffs created at must not be null"); + dto.setIssueChangeCreationDate(createdAt.getTime()); return dto; } @@ -157,10 +161,11 @@ public final class IssueChangeDto implements Serializable { } public Long getIssueChangeCreationDate() { - return issueChangeCreationDate; + // Old comments do not have functional creation date as this column has been added later + return issueChangeCreationDate == null ? createdAt : issueChangeCreationDate; } - public IssueChangeDto setIssueChangeCreationDate(@Nullable Long issueChangeCreationDate) { + public IssueChangeDto setIssueChangeCreationDate(long issueChangeCreationDate) { this.issueChangeCreationDate = issueChangeCreationDate; return this; } @@ -174,7 +179,7 @@ public final class IssueChangeDto implements Serializable { return new DefaultIssueComment() .setMarkdownText(changeData) .setKey(kee) - .setCreatedAt(new Date(createdAt)) + .setCreatedAt(new Date(getIssueChangeCreationDate())) .setUpdatedAt(updatedAt == null ? null : new Date(updatedAt)) .setUserLogin(userLogin) .setIssueKey(issueKey) @@ -184,8 +189,7 @@ public final class IssueChangeDto implements Serializable { public FieldDiffs toFieldDiffs() { return FieldDiffs.parse(changeData) .setUserLogin(userLogin) - // issueChangeCreationDate can be null as it has been introduced after createdAt - .setCreationDate(issueChangeCreationDate != null ? new Date(issueChangeCreationDate) : new Date(createdAt)) + .setCreationDate(new Date(getIssueChangeCreationDate())) .setIssueKey(issueKey); } } |