|
1 package de.uapcore.lightpit.viewmodel; |
|
2 |
|
3 import de.uapcore.lightpit.entities.Issue; |
|
4 import de.uapcore.lightpit.entities.IssueSummary; |
|
5 import de.uapcore.lightpit.entities.Version; |
|
6 |
|
7 import java.util.ArrayList; |
|
8 import java.util.Collection; |
|
9 import java.util.Collections; |
|
10 import java.util.List; |
|
11 |
|
12 public class ProjectDetails { |
|
13 |
|
14 private List<VersionInfo> versionInfos = Collections.emptyList(); |
|
15 |
|
16 private List<Issue> issues = Collections.emptyList(); |
|
17 private List<Issue> issuesWithoutVersion; |
|
18 private IssueSummary issuesWithoutVersionTotal; |
|
19 |
|
20 public List<Issue> getIssues() { |
|
21 return issues; |
|
22 } |
|
23 |
|
24 public void setIssues(List<Issue> issues) { |
|
25 this.issues = issues; |
|
26 issuesWithoutVersion = new ArrayList<>(); |
|
27 issuesWithoutVersionTotal = new IssueSummary(); |
|
28 for (Issue issue : issues) { |
|
29 // we want to list all issues that do not have a target version |
|
30 if (issue.getResolvedVersions().isEmpty()) { |
|
31 issuesWithoutVersion.add(issue); |
|
32 issuesWithoutVersionTotal.add(issue); |
|
33 } |
|
34 } |
|
35 } |
|
36 |
|
37 public void updateVersionInfo(Collection<Version> versions) { |
|
38 versionInfos = new ArrayList<>(); |
|
39 for (Version version : versions) { |
|
40 final var info = new VersionInfo(version); |
|
41 info.collectIssues(issues); |
|
42 versionInfos.add(info); |
|
43 } |
|
44 } |
|
45 |
|
46 public List<Issue> getIssuesWithoutVersion() { |
|
47 return issuesWithoutVersion; |
|
48 } |
|
49 |
|
50 public IssueSummary getIssuesWithoutVersionTotal() { |
|
51 return issuesWithoutVersionTotal; |
|
52 } |
|
53 |
|
54 public List<VersionInfo> getVersionInfos() { |
|
55 return versionInfos; |
|
56 } |
|
57 } |