Mon, 01 Jun 2020 14:46:58 +0200
improves issue overview and adds progress information
1 package de.uapcore.lightpit.viewmodel;
3 import de.uapcore.lightpit.entities.Issue;
4 import de.uapcore.lightpit.entities.IssueSummary;
5 import de.uapcore.lightpit.entities.Version;
7 import java.util.ArrayList;
8 import java.util.List;
10 public class VersionInfo {
12 private final Version version;
14 private final IssueSummary reportedTotal = new IssueSummary();
15 private final IssueSummary scheduledTotal = new IssueSummary();
16 private final IssueSummary resolvedTotal = new IssueSummary();
18 private final List<Issue> reported = new ArrayList<>();
19 private final List<Issue> scheduled = new ArrayList<>();
20 private final List<Issue> resolved = new ArrayList<>();
22 public VersionInfo(Version version) {
23 this.version = version;
24 }
26 public Version getVersion() {
27 return version;
28 }
30 public void addReported(Issue issue) {
31 reportedTotal.add(issue);
32 reported.add(issue);
33 }
35 public void addScheduled(Issue issue) {
36 scheduledTotal.add(issue);
37 scheduled.add(issue);
38 }
40 public void addResolved(Issue issue) {
41 resolvedTotal.add(issue);
42 resolved.add(issue);
43 }
45 public IssueSummary getReportedTotal() {
46 return reportedTotal;
47 }
49 public IssueSummary getScheduledTotal() {
50 return scheduledTotal;
51 }
53 public IssueSummary getResolvedTotal() {
54 return resolvedTotal;
55 }
57 public List<Issue> getReported() {
58 return reported;
59 }
61 public List<Issue> getScheduled() {
62 return scheduled;
63 }
65 public List<Issue> getResolved() {
66 return resolved;
67 }
69 public void collectIssues(List<Issue> issues) {
70 for (Issue issue : issues) {
71 if (issue.getAffectedVersions().contains(version)) {
72 addReported(issue);
73 }
74 if (issue.getScheduledVersions().contains(version)) {
75 addScheduled(issue);
76 }
77 if (issue.getResolvedVersions().contains(version)) {
78 addResolved(issue);
79 }
80 }
81 }
82 }