1.1 --- a/src/main/java/de/uapcore/lightpit/viewmodel/ProjectDetails.java Sat Aug 29 16:48:15 2020 +0200 1.2 +++ b/src/main/java/de/uapcore/lightpit/viewmodel/ProjectDetails.java Sat Aug 29 17:13:09 2020 +0200 1.3 @@ -4,54 +4,34 @@ 1.4 import de.uapcore.lightpit.entities.IssueSummary; 1.5 import de.uapcore.lightpit.entities.Version; 1.6 1.7 -import java.util.ArrayList; 1.8 -import java.util.Collection; 1.9 -import java.util.Collections; 1.10 import java.util.List; 1.11 1.12 public class ProjectDetails { 1.13 1.14 - private List<VersionInfo> versionInfos = Collections.emptyList(); 1.15 + private VersionInfo versionInfo = null; 1.16 1.17 - private List<Issue> issues = Collections.emptyList(); 1.18 - private List<Issue> issuesWithoutVersion; 1.19 - private IssueSummary issuesWithoutVersionTotal; 1.20 + private List<Issue> issues; 1.21 + private IssueSummary issueSummary; 1.22 + 1.23 + public void updateDetails(List<Issue> issues, Version version) { 1.24 + this.issues = issues; 1.25 + issueSummary = new IssueSummary(); 1.26 + issues.forEach(issueSummary::add); 1.27 + if (version != null) { 1.28 + versionInfo = new VersionInfo(version); 1.29 + versionInfo.collectIssues(issues); 1.30 + } 1.31 + } 1.32 1.33 public List<Issue> getIssues() { 1.34 return issues; 1.35 } 1.36 1.37 - public void setIssues(List<Issue> issues) { 1.38 - this.issues = issues; 1.39 - issuesWithoutVersion = new ArrayList<>(); 1.40 - issuesWithoutVersionTotal = new IssueSummary(); 1.41 - for (Issue issue : issues) { 1.42 - // we want to list all issues that do not have a target version 1.43 - if (issue.getResolvedVersions().isEmpty()) { 1.44 - issuesWithoutVersion.add(issue); 1.45 - issuesWithoutVersionTotal.add(issue); 1.46 - } 1.47 - } 1.48 + public IssueSummary getIssueSummary() { 1.49 + return issueSummary; 1.50 } 1.51 1.52 - public void updateVersionInfo(Collection<Version> versions) { 1.53 - versionInfos = new ArrayList<>(); 1.54 - for (Version version : versions) { 1.55 - final var info = new VersionInfo(version); 1.56 - info.collectIssues(issues); 1.57 - versionInfos.add(info); 1.58 - } 1.59 - } 1.60 - 1.61 - public List<Issue> getIssuesWithoutVersion() { 1.62 - return issuesWithoutVersion; 1.63 - } 1.64 - 1.65 - public IssueSummary getIssuesWithoutVersionTotal() { 1.66 - return issuesWithoutVersionTotal; 1.67 - } 1.68 - 1.69 - public List<VersionInfo> getVersionInfos() { 1.70 - return versionInfos; 1.71 + public VersionInfo getVersionInfo() { 1.72 + return versionInfo; 1.73 } 1.74 }