2 |
2 |
3 import de.uapcore.lightpit.entities.Issue; |
3 import de.uapcore.lightpit.entities.Issue; |
4 import de.uapcore.lightpit.entities.IssueSummary; |
4 import de.uapcore.lightpit.entities.IssueSummary; |
5 import de.uapcore.lightpit.entities.Version; |
5 import de.uapcore.lightpit.entities.Version; |
6 |
6 |
7 import java.util.ArrayList; |
|
8 import java.util.Collection; |
|
9 import java.util.Collections; |
|
10 import java.util.List; |
7 import java.util.List; |
11 |
8 |
12 public class ProjectDetails { |
9 public class ProjectDetails { |
13 |
10 |
14 private List<VersionInfo> versionInfos = Collections.emptyList(); |
11 private VersionInfo versionInfo = null; |
15 |
12 |
16 private List<Issue> issues = Collections.emptyList(); |
13 private List<Issue> issues; |
17 private List<Issue> issuesWithoutVersion; |
14 private IssueSummary issueSummary; |
18 private IssueSummary issuesWithoutVersionTotal; |
15 |
|
16 public void updateDetails(List<Issue> issues, Version version) { |
|
17 this.issues = issues; |
|
18 issueSummary = new IssueSummary(); |
|
19 issues.forEach(issueSummary::add); |
|
20 if (version != null) { |
|
21 versionInfo = new VersionInfo(version); |
|
22 versionInfo.collectIssues(issues); |
|
23 } |
|
24 } |
19 |
25 |
20 public List<Issue> getIssues() { |
26 public List<Issue> getIssues() { |
21 return issues; |
27 return issues; |
22 } |
28 } |
23 |
29 |
24 public void setIssues(List<Issue> issues) { |
30 public IssueSummary getIssueSummary() { |
25 this.issues = issues; |
31 return issueSummary; |
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 } |
32 } |
36 |
33 |
37 public void updateVersionInfo(Collection<Version> versions) { |
34 public VersionInfo getVersionInfo() { |
38 versionInfos = new ArrayList<>(); |
35 return versionInfo; |
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 } |
36 } |
57 } |
37 } |