Fri, 23 Oct 2020 11:14:37 +0200
renames sort criteria PHASE to DONE, because phase 0 and 1 are combined
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; |
86
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
41 | private Project project; |
134
f47e82cd6077
completes feature: project components
Mike Becker <universe@uap-core.de>
parents:
88
diff
changeset
|
42 | private Component component; |
62 | 43 | |
44 | private IssueStatus status; | |
45 | private IssueCategory category; | |
46 | ||
47 | private String subject; | |
48 | private String description; | |
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
49 | private User assignee; |
62 | 50 | |
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
51 | 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
|
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 | ||
86
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
58 | public Issue(int id) { |
62 | 59 | this.id = id; |
60 | } | |
61 | ||
62 | public int getId() { | |
63 | return id; | |
64 | } | |
65 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
66 | /** |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
67 | * 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
|
68 | * @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
|
69 | */ |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
70 | public void setId(int id) { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
71 | this.id = id; |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
72 | } |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
73 | |
86
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
74 | public void setProject(Project project) { |
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
75 | this.project = project; |
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
76 | } |
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
77 | |
62 | 78 | public Project getProject() { |
79 | return project; | |
80 | } | |
81 | ||
134
f47e82cd6077
completes feature: project components
Mike Becker <universe@uap-core.de>
parents:
88
diff
changeset
|
82 | public Component getComponent() { |
f47e82cd6077
completes feature: project components
Mike Becker <universe@uap-core.de>
parents:
88
diff
changeset
|
83 | return component; |
f47e82cd6077
completes feature: project components
Mike Becker <universe@uap-core.de>
parents:
88
diff
changeset
|
84 | } |
f47e82cd6077
completes feature: project components
Mike Becker <universe@uap-core.de>
parents:
88
diff
changeset
|
85 | |
f47e82cd6077
completes feature: project components
Mike Becker <universe@uap-core.de>
parents:
88
diff
changeset
|
86 | public void setComponent(Component component) { |
f47e82cd6077
completes feature: project components
Mike Becker <universe@uap-core.de>
parents:
88
diff
changeset
|
87 | this.component = component; |
f47e82cd6077
completes feature: project components
Mike Becker <universe@uap-core.de>
parents:
88
diff
changeset
|
88 | } |
f47e82cd6077
completes feature: project components
Mike Becker <universe@uap-core.de>
parents:
88
diff
changeset
|
89 | |
62 | 90 | public IssueStatus getStatus() { |
91 | return status; | |
92 | } | |
93 | ||
94 | public void setStatus(IssueStatus status) { | |
95 | this.status = status; | |
96 | } | |
97 | ||
81 | 98 | public int getPhase() { |
99 | return this.status.getPhase(); | |
100 | } | |
101 | ||
62 | 102 | public IssueCategory getCategory() { |
103 | return category; | |
104 | } | |
105 | ||
106 | public void setCategory(IssueCategory category) { | |
107 | this.category = category; | |
108 | } | |
109 | ||
110 | public String getSubject() { | |
111 | return subject; | |
112 | } | |
113 | ||
114 | public void setSubject(String subject) { | |
115 | this.subject = subject; | |
116 | } | |
117 | ||
118 | public String getDescription() { | |
119 | return description; | |
120 | } | |
121 | ||
122 | public void setDescription(String description) { | |
123 | this.description = description; | |
124 | } | |
125 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
126 | public User getAssignee() { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
127 | return assignee; |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
128 | } |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
129 | |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
130 | public void setAssignee(User assignee) { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
131 | this.assignee = assignee; |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
132 | } |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
133 | |
62 | 134 | public List<Version> getAffectedVersions() { |
135 | return affectedVersions; | |
136 | } | |
137 | ||
138 | public void setAffectedVersions(List<Version> affectedVersions) { | |
139 | this.affectedVersions = affectedVersions; | |
140 | } | |
141 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
142 | public List<Version> getResolvedVersions() { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
143 | return resolvedVersions; |
62 | 144 | } |
145 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
146 | 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
|
147 | this.resolvedVersions = resolvedVersions; |
62 | 148 | } |
149 | ||
150 | public Timestamp getCreated() { | |
151 | return created; | |
152 | } | |
153 | ||
154 | public void setCreated(Timestamp created) { | |
155 | this.created = created; | |
156 | } | |
157 | ||
158 | public Timestamp getUpdated() { | |
159 | return updated; | |
160 | } | |
161 | ||
162 | public void setUpdated(Timestamp updated) { | |
163 | this.updated = updated; | |
164 | } | |
165 | ||
166 | public Date getEta() { | |
167 | return eta; | |
168 | } | |
169 | ||
170 | public void setEta(Date eta) { | |
171 | this.eta = eta; | |
172 | } | |
173 | ||
174 | @Override | |
175 | public boolean equals(Object o) { | |
176 | if (this == o) return true; | |
177 | if (o == null || getClass() != o.getClass()) return false; | |
178 | Issue issue = (Issue) o; | |
179 | return id == issue.id; | |
180 | } | |
181 | ||
182 | @Override | |
183 | public int hashCode() { | |
184 | return Objects.hash(id); | |
185 | } | |
186 | } |