src/main/java/de/uapcore/lightpit/viewmodel/IssueEditView.java

Mon, 21 Dec 2020 18:29:34 +0100

author
Mike Becker <universe@uap-core.de>
date
Mon, 21 Dec 2020 18:29:34 +0100
changeset 167
3f30adba1c63
parent 146
b0e83cab0bde
permissions
-rw-r--r--

major refactoring of DAO architecture - also fixes #114

86
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 package de.uapcore.lightpit.viewmodel;
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2
167
3f30adba1c63 major refactoring of DAO architecture - also fixes #114
Mike Becker <universe@uap-core.de>
parents: 146
diff changeset
3 import de.uapcore.lightpit.entities.Component;
3f30adba1c63 major refactoring of DAO architecture - also fixes #114
Mike Becker <universe@uap-core.de>
parents: 146
diff changeset
4 import de.uapcore.lightpit.entities.Project;
3f30adba1c63 major refactoring of DAO architecture - also fixes #114
Mike Becker <universe@uap-core.de>
parents: 146
diff changeset
5 import de.uapcore.lightpit.entities.User;
3f30adba1c63 major refactoring of DAO architecture - also fixes #114
Mike Becker <universe@uap-core.de>
parents: 146
diff changeset
6 import de.uapcore.lightpit.entities.Version;
3f30adba1c63 major refactoring of DAO architecture - also fixes #114
Mike Becker <universe@uap-core.de>
parents: 146
diff changeset
7 import de.uapcore.lightpit.types.IssueCategory;
3f30adba1c63 major refactoring of DAO architecture - also fixes #114
Mike Becker <universe@uap-core.de>
parents: 146
diff changeset
8 import de.uapcore.lightpit.types.IssueStatus;
3f30adba1c63 major refactoring of DAO architecture - also fixes #114
Mike Becker <universe@uap-core.de>
parents: 146
diff changeset
9 import de.uapcore.lightpit.types.VersionStatus;
86
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10
95
0552cc5755f3 fix: ... but ofc they should not appear more than once...
Mike Becker <universe@uap-core.de>
parents: 93
diff changeset
11 import java.util.*;
86
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12
146
b0e83cab0bde adds issue detail view - fixes #24
Mike Becker <universe@uap-core.de>
parents: 134
diff changeset
13 public class IssueEditView extends IssueDetailView {
86
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 private List<Project> projects = Collections.emptyList();
95
0552cc5755f3 fix: ... but ofc they should not appear more than once...
Mike Becker <universe@uap-core.de>
parents: 93
diff changeset
15 private Set<Version> versionsUpcoming = new HashSet<>();
0552cc5755f3 fix: ... but ofc they should not appear more than once...
Mike Becker <universe@uap-core.de>
parents: 93
diff changeset
16 private Set<Version> versionsRecent = new HashSet<>();
86
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 private List<User> users;
134
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
18 private List<Component> components;
86
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 public List<Project> getProjects() {
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 return projects;
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 }
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24 public void setProjects(List<Project> projects) {
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25 this.projects = projects;
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
26 }
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
27
95
0552cc5755f3 fix: ... but ofc they should not appear more than once...
Mike Becker <universe@uap-core.de>
parents: 93
diff changeset
28 public Collection<Version> getVersionsUpcoming() {
90
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
29 return versionsUpcoming;
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
30 }
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
31
95
0552cc5755f3 fix: ... but ofc they should not appear more than once...
Mike Becker <universe@uap-core.de>
parents: 93
diff changeset
32 public Collection<Version> getVersionsRecent() {
90
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
33 return versionsRecent;
86
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
34 }
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
35
99
a369fb1b3aa2 cleanup ProjectsModule
Mike Becker <universe@uap-core.de>
parents: 95
diff changeset
36 public void configureVersionSelectors(List<Version> versions) {
90
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
37 versionsRecent.clear();
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
38 versionsUpcoming.clear();
93
a44d59bbf447 adds graphical visualization for issue type and status
Mike Becker <universe@uap-core.de>
parents: 90
diff changeset
39 // keep the current selection, if any
146
b0e83cab0bde adds issue detail view - fixes #24
Mike Becker <universe@uap-core.de>
parents: 134
diff changeset
40 versionsRecent.addAll(getIssue().getAffectedVersions());
b0e83cab0bde adds issue detail view - fixes #24
Mike Becker <universe@uap-core.de>
parents: 134
diff changeset
41 versionsUpcoming.addAll(getIssue().getResolvedVersions());
90
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
42 for (var v : versions) {
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
43 if (v.getStatus().isReleased()) {
134
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
44 if (!v.getStatus().equals(VersionStatus.Deprecated))
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
45 versionsRecent.add(v);
90
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
46 } else {
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
47 versionsUpcoming.add(v);
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
48 }
2c74e36752f9 only show relevant versions in issue editor
Mike Becker <universe@uap-core.de>
parents: 86
diff changeset
49 }
86
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
50 }
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
51
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
52 public List<User> getUsers() {
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
53 return users;
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
54 }
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
55
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
56 public void setUsers(List<User> users) {
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
57 this.users = users;
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
58 }
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
59
134
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
60 public List<Component> getComponents() {
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
61 return components;
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
62 }
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
63
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
64 public void setComponents(List<Component> components) {
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
65 this.components = components;
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
66 }
f47e82cd6077 completes feature: project components
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
67
86
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
68 public IssueStatus[] getIssueStatus() {
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
69 return IssueStatus.values();
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
70 }
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
71
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
72 public IssueCategory[] getIssueCategory() {
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
73 return IssueCategory.values();
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
74 }
0a658e53177c improves issue overview and adds progress information
Mike Becker <universe@uap-core.de>
parents:
diff changeset
75 }

mercurial