1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/main/java/de/uapcore/lightpit/viewmodel/ProjectView.java Mon Jun 01 14:46:58 2020 +0200 1.3 @@ -0,0 +1,81 @@ 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.Project; 1.9 +import de.uapcore.lightpit.entities.Version; 1.10 + 1.11 +import java.util.ArrayList; 1.12 +import java.util.Collections; 1.13 +import java.util.List; 1.14 + 1.15 +public class ProjectView { 1.16 + 1.17 + private final Project project; 1.18 + private List<Version> versions = Collections.emptyList(); 1.19 + private List<Issue> issues = Collections.emptyList(); 1.20 + 1.21 + private IssueSummary issuesTotal; 1.22 + private List<Issue> issuesWithoutVersion; 1.23 + private IssueSummary issuesWithoutVersionTotal; 1.24 + private List<VersionInfo> versionInfos = Collections.emptyList(); 1.25 + 1.26 + public ProjectView(Project project) { 1.27 + this.project = project; 1.28 + } 1.29 + 1.30 + public Project getProject() { 1.31 + return project; 1.32 + } 1.33 + 1.34 + public List<Issue> getIssues() { 1.35 + return issues; 1.36 + } 1.37 + 1.38 + public void setIssues(List<Issue> issues) { 1.39 + this.issues = issues; 1.40 + issuesTotal = new IssueSummary(); 1.41 + issuesWithoutVersion = new ArrayList<>(); 1.42 + issuesWithoutVersionTotal = new IssueSummary(); 1.43 + for (Issue issue : issues) { 1.44 + issuesTotal.add(issue); 1.45 + if (issue.getResolvedVersions().isEmpty() && issue.getScheduledVersions().isEmpty() && issue.getResolvedVersions().isEmpty()) { 1.46 + issuesWithoutVersion.add(issue); 1.47 + issuesWithoutVersionTotal.add(issue); 1.48 + } 1.49 + } 1.50 + } 1.51 + 1.52 + public List<Version> getVersions() { 1.53 + return versions; 1.54 + } 1.55 + 1.56 + public void setVersions(List<Version> versions) { 1.57 + this.versions = versions; 1.58 + } 1.59 + 1.60 + public void updateVersionInfo() { 1.61 + versionInfos = new ArrayList<>(); 1.62 + for (Version version : versions) { 1.63 + final var info = new VersionInfo(version); 1.64 + info.collectIssues(issues); 1.65 + versionInfos.add(info); 1.66 + } 1.67 + } 1.68 + 1.69 + public IssueSummary getIssuesTotal() { 1.70 + return issuesTotal; 1.71 + } 1.72 + 1.73 + public List<Issue> getIssuesWithoutVersion() { 1.74 + return issuesWithoutVersion; 1.75 + } 1.76 + 1.77 + public IssueSummary getIssuesWithoutVersionTotal() { 1.78 + return issuesWithoutVersionTotal; 1.79 + } 1.80 + 1.81 + public List<VersionInfo> getVersionInfos() { 1.82 + return versionInfos; 1.83 + } 1.84 +}