Sun, 21 Jun 2020 12:31:38 +0200
adds graphical visualization for issue type and status
1 package de.uapcore.lightpit.viewmodel;
3 import de.uapcore.lightpit.entities.*;
5 import java.util.ArrayList;
6 import java.util.Collections;
7 import java.util.List;
9 public class IssueEditView {
10 private final Issue issue;
12 private List<Project> projects = Collections.emptyList();
13 private List<Version> versionsUpcoming = new ArrayList<>();
14 private List<Version> versionsRecent = new ArrayList<>();
15 private List<User> users;
17 public IssueEditView(Issue issue) {
18 this.issue = issue;
19 }
21 public Issue getIssue() {
22 return issue;
23 }
25 public List<Project> getProjects() {
26 return projects;
27 }
29 public void setProjects(List<Project> projects) {
30 this.projects = projects;
31 }
33 public List<Version> getVersionsUpcoming() {
34 return versionsUpcoming;
35 }
37 public List<Version> getVersionsRecent() {
38 return versionsRecent;
39 }
41 public void setVersions(List<Version> versions) {
42 versionsRecent.clear();
43 versionsUpcoming.clear();
44 // keep the current selection, if any
45 versionsRecent.addAll(issue.getAffectedVersions());
46 versionsUpcoming.addAll(issue.getResolvedVersions());
47 for (var v : versions) {
48 if (v.getStatus().isReleased()) {
49 versionsRecent.add(v);
50 } else {
51 versionsUpcoming.add(v);
52 }
53 }
54 }
56 public List<User> getUsers() {
57 return users;
58 }
60 public void setUsers(List<User> users) {
61 this.users = users;
62 }
64 public IssueStatus[] getIssueStatus() {
65 return IssueStatus.values();
66 }
68 public IssueCategory[] getIssueCategory() {
69 return IssueCategory.values();
70 }
71 }