src/main/java/de/uapcore/lightpit/entities/Issue.java

Mon, 18 May 2020 21:05:57 +0200

author
Mike Becker <universe@uap-core.de>
date
Mon, 18 May 2020 21:05:57 +0200
changeset 62
833e0385572a
child 75
33b6843fdf8a
permissions
-rw-r--r--

adds data model for issues

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

mercurial