1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/main/java/de/uapcore/lightpit/viewmodel/ProjectDetails.java Sun Aug 23 15:10:49 2020 +0200 1.3 @@ -0,0 +1,57 @@ 1.4 +package de.uapcore.lightpit.viewmodel; 1.5 + 1.6 +import de.uapcore.lightpit.entities.Issue; 1.7 +import de.uapcore.lightpit.entities.IssueSummary; 1.8 +import de.uapcore.lightpit.entities.Version; 1.9 + 1.10 +import java.util.ArrayList; 1.11 +import java.util.Collection; 1.12 +import java.util.Collections; 1.13 +import java.util.List; 1.14 + 1.15 +public class ProjectDetails { 1.16 + 1.17 + private List<VersionInfo> versionInfos = Collections.emptyList(); 1.18 + 1.19 + private List<Issue> issues = Collections.emptyList(); 1.20 + private List<Issue> issuesWithoutVersion; 1.21 + private IssueSummary issuesWithoutVersionTotal; 1.22 + 1.23 + public List<Issue> getIssues() { 1.24 + return issues; 1.25 + } 1.26 + 1.27 + public void setIssues(List<Issue> issues) { 1.28 + this.issues = issues; 1.29 + issuesWithoutVersion = new ArrayList<>(); 1.30 + issuesWithoutVersionTotal = new IssueSummary(); 1.31 + for (Issue issue : issues) { 1.32 + // we want to list all issues that do not have a target version 1.33 + if (issue.getResolvedVersions().isEmpty()) { 1.34 + issuesWithoutVersion.add(issue); 1.35 + issuesWithoutVersionTotal.add(issue); 1.36 + } 1.37 + } 1.38 + } 1.39 + 1.40 + public void updateVersionInfo(Collection<Version> versions) { 1.41 + versionInfos = new ArrayList<>(); 1.42 + for (Version version : versions) { 1.43 + final var info = new VersionInfo(version); 1.44 + info.collectIssues(issues); 1.45 + versionInfos.add(info); 1.46 + } 1.47 + } 1.48 + 1.49 + public List<Issue> getIssuesWithoutVersion() { 1.50 + return issuesWithoutVersion; 1.51 + } 1.52 + 1.53 + public IssueSummary getIssuesWithoutVersionTotal() { 1.54 + return issuesWithoutVersionTotal; 1.55 + } 1.56 + 1.57 + public List<VersionInfo> getVersionInfos() { 1.58 + return versionInfos; 1.59 + } 1.60 +}