Sun, 21 Jun 2020 11:38:16 +0200
simplifies version overviews by removing "scheduled issues"
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.Project;
6 import de.uapcore.lightpit.entities.Version;
8 import java.util.ArrayList;
9 import java.util.Collections;
10 import java.util.List;
12 public class ProjectView {
14 private final Project project;
15 private List<Version> versions = Collections.emptyList();
16 private List<Issue> issues = Collections.emptyList();
18 private IssueSummary issuesTotal;
19 private List<Issue> issuesWithoutVersion;
20 private IssueSummary issuesWithoutVersionTotal;
21 private List<VersionInfo> versionInfos = Collections.emptyList();
23 public ProjectView(Project project) {
24 this.project = project;
25 }
27 public Project getProject() {
28 return project;
29 }
31 public List<Issue> getIssues() {
32 return issues;
33 }
35 public void setIssues(List<Issue> issues) {
36 this.issues = issues;
37 issuesTotal = new IssueSummary();
38 issuesWithoutVersion = new ArrayList<>();
39 issuesWithoutVersionTotal = new IssueSummary();
40 for (Issue issue : issues) {
41 issuesTotal.add(issue);
42 // we want to list all issues that do not have a target version
43 if (issue.getResolvedVersions().isEmpty()) {
44 issuesWithoutVersion.add(issue);
45 issuesWithoutVersionTotal.add(issue);
46 }
47 }
48 }
50 public List<Version> getVersions() {
51 return versions;
52 }
54 public void setVersions(List<Version> versions) {
55 this.versions = versions;
56 }
58 public void updateVersionInfo() {
59 versionInfos = new ArrayList<>();
60 for (Version version : versions) {
61 final var info = new VersionInfo(version);
62 info.collectIssues(issues);
63 versionInfos.add(info);
64 }
65 }
67 public IssueSummary getIssuesTotal() {
68 return issuesTotal;
69 }
71 public List<Issue> getIssuesWithoutVersion() {
72 return issuesWithoutVersion;
73 }
75 public IssueSummary getIssuesWithoutVersionTotal() {
76 return issuesWithoutVersionTotal;
77 }
79 public List<VersionInfo> getVersionInfos() {
80 return versionInfos;
81 }
82 }