Fri, 22 May 2020 21:23:57 +0200
adds the ability to create and edit issues
62 | 1 | /* |
2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. | |
3 | * | |
4 | * Copyright 2018 Mike Becker. All rights reserved. | |
5 | * | |
6 | * Redistribution and use in source and binary forms, with or without | |
7 | * modification, are permitted provided that the following conditions are met: | |
8 | * | |
9 | * 1. Redistributions of source code must retain the above copyright | |
10 | * notice, this list of conditions and the following disclaimer. | |
11 | * | |
12 | * 2. Redistributions in binary form must reproduce the above copyright | |
13 | * notice, this list of conditions and the following disclaimer in the | |
14 | * documentation and/or other materials provided with the distribution. | |
15 | * | |
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE | |
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
26 | * POSSIBILITY OF SUCH DAMAGE. | |
27 | * | |
28 | */ | |
29 | package de.uapcore.lightpit.entities; | |
30 | ||
31 | import java.sql.Date; | |
32 | import java.sql.Timestamp; | |
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
33 | import java.time.Instant; |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
34 | import java.util.Collections; |
62 | 35 | import java.util.List; |
36 | import java.util.Objects; | |
37 | ||
38 | public final class Issue { | |
39 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
40 | private int id; |
62 | 41 | private final Project project; |
42 | ||
43 | private IssueStatus status; | |
44 | private IssueCategory category; | |
45 | ||
46 | private String subject; | |
47 | private String description; | |
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
48 | private User assignee; |
62 | 49 | |
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
50 | private List<Version> affectedVersions = Collections.emptyList(); |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
51 | private List<Version> scheduledVersions = Collections.emptyList(); |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
52 | private List<Version> resolvedVersions = Collections.emptyList(); |
62 | 53 | |
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
54 | private Timestamp created = Timestamp.from(Instant.now()); |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
55 | private Timestamp updated = Timestamp.from(Instant.now()); |
62 | 56 | private Date eta; |
57 | ||
58 | public Issue(int id, Project project) { | |
59 | this.id = id; | |
60 | this.project = project; | |
61 | } | |
62 | ||
63 | public int getId() { | |
64 | return id; | |
65 | } | |
66 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
67 | /** |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
68 | * Should only be used by a DAO to store the generated ID. |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
69 | * @param id the freshly generated ID returned from the database after insert |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
70 | */ |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
71 | public void setId(int id) { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
72 | this.id = id; |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
73 | } |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
74 | |
62 | 75 | public Project getProject() { |
76 | return project; | |
77 | } | |
78 | ||
79 | public IssueStatus getStatus() { | |
80 | return status; | |
81 | } | |
82 | ||
83 | public void setStatus(IssueStatus status) { | |
84 | this.status = status; | |
85 | } | |
86 | ||
87 | public IssueCategory getCategory() { | |
88 | return category; | |
89 | } | |
90 | ||
91 | public void setCategory(IssueCategory category) { | |
92 | this.category = category; | |
93 | } | |
94 | ||
95 | public String getSubject() { | |
96 | return subject; | |
97 | } | |
98 | ||
99 | public void setSubject(String subject) { | |
100 | this.subject = subject; | |
101 | } | |
102 | ||
103 | public String getDescription() { | |
104 | return description; | |
105 | } | |
106 | ||
107 | public void setDescription(String description) { | |
108 | this.description = description; | |
109 | } | |
110 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
111 | public User getAssignee() { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
112 | return assignee; |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
113 | } |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
114 | |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
115 | public void setAssignee(User assignee) { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
116 | this.assignee = assignee; |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
117 | } |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
118 | |
62 | 119 | public List<Version> getAffectedVersions() { |
120 | return affectedVersions; | |
121 | } | |
122 | ||
123 | public void setAffectedVersions(List<Version> affectedVersions) { | |
124 | this.affectedVersions = affectedVersions; | |
125 | } | |
126 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
127 | public List<Version> getScheduledVersions() { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
128 | return scheduledVersions; |
62 | 129 | } |
130 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
131 | public void setScheduledVersions(List<Version> scheduledVersions) { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
132 | this.scheduledVersions = scheduledVersions; |
62 | 133 | } |
134 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
135 | public List<Version> getResolvedVersions() { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
136 | return resolvedVersions; |
62 | 137 | } |
138 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
139 | public void setResolvedVersions(List<Version> resolvedVersions) { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
140 | this.resolvedVersions = resolvedVersions; |
62 | 141 | } |
142 | ||
143 | public Timestamp getCreated() { | |
144 | return created; | |
145 | } | |
146 | ||
147 | public void setCreated(Timestamp created) { | |
148 | this.created = created; | |
149 | } | |
150 | ||
151 | public Timestamp getUpdated() { | |
152 | return updated; | |
153 | } | |
154 | ||
155 | public void setUpdated(Timestamp updated) { | |
156 | this.updated = updated; | |
157 | } | |
158 | ||
159 | public Date getEta() { | |
160 | return eta; | |
161 | } | |
162 | ||
163 | public void setEta(Date eta) { | |
164 | this.eta = eta; | |
165 | } | |
166 | ||
167 | @Override | |
168 | public boolean equals(Object o) { | |
169 | if (this == o) return true; | |
170 | if (o == null || getClass() != o.getClass()) return false; | |
171 | Issue issue = (Issue) o; | |
172 | return id == issue.id; | |
173 | } | |
174 | ||
175 | @Override | |
176 | public int hashCode() { | |
177 | return Objects.hash(id); | |
178 | } | |
179 | } |