Sat, 29 Aug 2020 11:06:31 +0200
fixes issues and version information not set in correct order
99 | 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 | } |