diff -r 91d1fc2a3a14 -r 33b6843fdf8a src/main/java/de/uapcore/lightpit/entities/Issue.java --- a/src/main/java/de/uapcore/lightpit/entities/Issue.java Fri May 22 17:26:27 2020 +0200 +++ b/src/main/java/de/uapcore/lightpit/entities/Issue.java Fri May 22 21:23:57 2020 +0200 @@ -30,12 +30,14 @@ import java.sql.Date; import java.sql.Timestamp; +import java.time.Instant; +import java.util.Collections; import java.util.List; import java.util.Objects; public final class Issue { - private final int id; + private int id; private final Project project; private IssueStatus status; @@ -43,13 +45,14 @@ private String subject; private String description; + private User assignee; - private List affectedVersions; - private Version scheduledVersion; - private Version resolvedVersion; + private List affectedVersions = Collections.emptyList(); + private List scheduledVersions = Collections.emptyList(); + private List resolvedVersions = Collections.emptyList(); - private Timestamp created; - private Timestamp updated; + private Timestamp created = Timestamp.from(Instant.now()); + private Timestamp updated = Timestamp.from(Instant.now()); private Date eta; public Issue(int id, Project project) { @@ -61,6 +64,14 @@ return id; } + /** + * Should only be used by a DAO to store the generated ID. + * @param id the freshly generated ID returned from the database after insert + */ + public void setId(int id) { + this.id = id; + } + public Project getProject() { return project; } @@ -97,6 +108,14 @@ this.description = description; } + public User getAssignee() { + return assignee; + } + + public void setAssignee(User assignee) { + this.assignee = assignee; + } + public List getAffectedVersions() { return affectedVersions; } @@ -105,20 +124,20 @@ this.affectedVersions = affectedVersions; } - public Version getScheduledVersion() { - return scheduledVersion; + public List getScheduledVersions() { + return scheduledVersions; } - public void setScheduledVersion(Version scheduledVersion) { - this.scheduledVersion = scheduledVersion; + public void setScheduledVersions(List scheduledVersions) { + this.scheduledVersions = scheduledVersions; } - public Version getResolvedVersion() { - return resolvedVersion; + public List getResolvedVersions() { + return resolvedVersions; } - public void setResolvedVersion(Version resolvedVersion) { - this.resolvedVersion = resolvedVersion; + public void setResolvedVersions(List resolvedVersions) { + this.resolvedVersions = resolvedVersions; } public Timestamp getCreated() {