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

changeset 99
a369fb1b3aa2
parent 88
1438e5a22c55
child 129
a09d5c59351a
equal deleted inserted replaced
98:5c406eef0e5c 99:a369fb1b3aa2
1 package de.uapcore.lightpit.viewmodel; 1 package de.uapcore.lightpit.viewmodel;
2 2
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; 3 import de.uapcore.lightpit.entities.Version;
7 4
8 import java.util.ArrayList; 5 import java.util.ArrayList;
9 import java.util.Collections;
10 import java.util.List; 6 import java.util.List;
11 7
12 public class ProjectView { 8 public class ProjectView {
13 9
14 private final Project project; 10 private final List<ProjectInfo> projectList = new ArrayList<>();
15 private List<Version> versions = Collections.emptyList(); 11 private ProjectInfo projectInfo;
16 private List<Issue> issues = Collections.emptyList(); 12 private Version versionFilter;
17 13
18 private IssueSummary issuesTotal; 14 public List<ProjectInfo> getProjectList() {
19 private List<Issue> issuesWithoutVersion; 15 return projectList;
20 private IssueSummary issuesWithoutVersionTotal;
21 private List<VersionInfo> versionInfos = Collections.emptyList();
22
23 public ProjectView(Project project) {
24 this.project = project;
25 } 16 }
26 17
27 public Project getProject() { 18 public ProjectInfo getProjectInfo() {
28 return project; 19 return projectInfo;
29 } 20 }
30 21
31 public List<Issue> getIssues() { 22 public void setProjectInfo(ProjectInfo projectInfo) {
32 return issues; 23 this.projectInfo = projectInfo;
33 } 24 }
34 25
35 public void setIssues(List<Issue> issues) { 26 public Version getVersionFilter() {
36 this.issues = issues; 27 return versionFilter;
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 } 28 }
49 29
50 public List<Version> getVersions() { 30 public void setVersionFilter(Version versionFilter) {
51 return versions; 31 this.versionFilter = versionFilter;
52 }
53
54 public void setVersions(List<Version> versions) {
55 this.versions = versions;
56 }
57
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 }
66
67 public IssueSummary getIssuesTotal() {
68 return issuesTotal;
69 }
70
71 public List<Issue> getIssuesWithoutVersion() {
72 return issuesWithoutVersion;
73 }
74
75 public IssueSummary getIssuesWithoutVersionTotal() {
76 return issuesWithoutVersionTotal;
77 }
78
79 public List<VersionInfo> getVersionInfos() {
80 return versionInfos;
81 } 32 }
82 } 33 }

mercurial