Thu, 15 Oct 2020 13:31:52 +0200
changes the way how to deal with child entities + adds component lead
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; |
62 | 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> resolvedVersions = Collections.emptyList(); |
62 | 52 | |
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
53 | 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
|
54 | private Timestamp updated = Timestamp.from(Instant.now()); |
62 | 55 | private Date eta; |
56 | ||
86
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
57 | public Issue(int id) { |
62 | 58 | this.id = id; |
59 | } | |
60 | ||
61 | public int getId() { | |
62 | return id; | |
63 | } | |
64 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
65 | /** |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
66 | * 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
|
67 | * @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
|
68 | */ |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
69 | public void setId(int id) { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
70 | this.id = id; |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
71 | } |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
72 | |
86
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
73 | public void setProject(Project project) { |
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
74 | this.project = project; |
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
75 | } |
0a658e53177c
improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
81
diff
changeset
|
76 | |
62 | 77 | public Project getProject() { |
78 | return project; | |
79 | } | |
80 | ||
81 | public IssueStatus getStatus() { | |
82 | return status; | |
83 | } | |
84 | ||
85 | public void setStatus(IssueStatus status) { | |
86 | this.status = status; | |
87 | } | |
88 | ||
81 | 89 | public int getPhase() { |
90 | return this.status.getPhase(); | |
91 | } | |
92 | ||
62 | 93 | public IssueCategory getCategory() { |
94 | return category; | |
95 | } | |
96 | ||
97 | public void setCategory(IssueCategory category) { | |
98 | this.category = category; | |
99 | } | |
100 | ||
101 | public String getSubject() { | |
102 | return subject; | |
103 | } | |
104 | ||
105 | public void setSubject(String subject) { | |
106 | this.subject = subject; | |
107 | } | |
108 | ||
109 | public String getDescription() { | |
110 | return description; | |
111 | } | |
112 | ||
113 | public void setDescription(String description) { | |
114 | this.description = description; | |
115 | } | |
116 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
117 | public User getAssignee() { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
118 | return assignee; |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
119 | } |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
120 | |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
121 | public void setAssignee(User assignee) { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
122 | this.assignee = assignee; |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
123 | } |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
124 | |
62 | 125 | public List<Version> getAffectedVersions() { |
126 | return affectedVersions; | |
127 | } | |
128 | ||
129 | public void setAffectedVersions(List<Version> affectedVersions) { | |
130 | this.affectedVersions = affectedVersions; | |
131 | } | |
132 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
133 | public List<Version> getResolvedVersions() { |
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
134 | return resolvedVersions; |
62 | 135 | } |
136 | ||
75
33b6843fdf8a
adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents:
62
diff
changeset
|
137 | 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
|
138 | this.resolvedVersions = resolvedVersions; |
62 | 139 | } |
140 | ||
141 | public Timestamp getCreated() { | |
142 | return created; | |
143 | } | |
144 | ||
145 | public void setCreated(Timestamp created) { | |
146 | this.created = created; | |
147 | } | |
148 | ||
149 | public Timestamp getUpdated() { | |
150 | return updated; | |
151 | } | |
152 | ||
153 | public void setUpdated(Timestamp updated) { | |
154 | this.updated = updated; | |
155 | } | |
156 | ||
157 | public Date getEta() { | |
158 | return eta; | |
159 | } | |
160 | ||
161 | public void setEta(Date eta) { | |
162 | this.eta = eta; | |
163 | } | |
164 | ||
165 | @Override | |
166 | public boolean equals(Object o) { | |
167 | if (this == o) return true; | |
168 | if (o == null || getClass() != o.getClass()) return false; | |
169 | Issue issue = (Issue) o; | |
170 | return id == issue.id; | |
171 | } | |
172 | ||
173 | @Override | |
174 | public int hashCode() { | |
175 | return Objects.hash(id); | |
176 | } | |
177 | } |