diff -r 8be80ea4f52b -r 250c5cbb8276 src/main/java/de/uapcore/lightpit/viewmodel/ProjectDetails.java --- a/src/main/java/de/uapcore/lightpit/viewmodel/ProjectDetails.java Sat Aug 29 16:48:15 2020 +0200 +++ b/src/main/java/de/uapcore/lightpit/viewmodel/ProjectDetails.java Sat Aug 29 17:13:09 2020 +0200 @@ -4,54 +4,34 @@ import de.uapcore.lightpit.entities.IssueSummary; import de.uapcore.lightpit.entities.Version; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; import java.util.List; public class ProjectDetails { - private List versionInfos = Collections.emptyList(); + private VersionInfo versionInfo = null; - private List issues = Collections.emptyList(); - private List issuesWithoutVersion; - private IssueSummary issuesWithoutVersionTotal; + private List issues; + private IssueSummary issueSummary; + + public void updateDetails(List issues, Version version) { + this.issues = issues; + issueSummary = new IssueSummary(); + issues.forEach(issueSummary::add); + if (version != null) { + versionInfo = new VersionInfo(version); + versionInfo.collectIssues(issues); + } + } public List getIssues() { return issues; } - public void setIssues(List issues) { - this.issues = issues; - issuesWithoutVersion = new ArrayList<>(); - issuesWithoutVersionTotal = new IssueSummary(); - for (Issue issue : issues) { - // we want to list all issues that do not have a target version - if (issue.getResolvedVersions().isEmpty()) { - issuesWithoutVersion.add(issue); - issuesWithoutVersionTotal.add(issue); - } - } + public IssueSummary getIssueSummary() { + return issueSummary; } - public void updateVersionInfo(Collection versions) { - versionInfos = new ArrayList<>(); - for (Version version : versions) { - final var info = new VersionInfo(version); - info.collectIssues(issues); - versionInfos.add(info); - } - } - - public List getIssuesWithoutVersion() { - return issuesWithoutVersion; - } - - public IssueSummary getIssuesWithoutVersionTotal() { - return issuesWithoutVersionTotal; - } - - public List getVersionInfos() { - return versionInfos; + public VersionInfo getVersionInfo() { + return versionInfo; } }