universe@86: package de.uapcore.lightpit.viewmodel; universe@86: universe@86: import de.uapcore.lightpit.entities.Issue; universe@86: import de.uapcore.lightpit.entities.IssueSummary; universe@86: import de.uapcore.lightpit.entities.Project; universe@86: import de.uapcore.lightpit.entities.Version; universe@86: universe@86: import java.util.ArrayList; universe@86: import java.util.Collections; universe@86: import java.util.List; universe@86: universe@86: public class ProjectView { universe@86: universe@86: private final Project project; universe@86: private List versions = Collections.emptyList(); universe@86: private List issues = Collections.emptyList(); universe@86: universe@86: private IssueSummary issuesTotal; universe@86: private List issuesWithoutVersion; universe@86: private IssueSummary issuesWithoutVersionTotal; universe@86: private List versionInfos = Collections.emptyList(); universe@86: universe@86: public ProjectView(Project project) { universe@86: this.project = project; universe@86: } universe@86: universe@86: public Project getProject() { universe@86: return project; universe@86: } universe@86: universe@86: public List getIssues() { universe@86: return issues; universe@86: } universe@86: universe@86: public void setIssues(List issues) { universe@86: this.issues = issues; universe@86: issuesTotal = new IssueSummary(); universe@86: issuesWithoutVersion = new ArrayList<>(); universe@86: issuesWithoutVersionTotal = new IssueSummary(); universe@86: for (Issue issue : issues) { universe@86: issuesTotal.add(issue); universe@88: // we want to list all issues that do not have a target version universe@88: if (issue.getResolvedVersions().isEmpty()) { universe@86: issuesWithoutVersion.add(issue); universe@86: issuesWithoutVersionTotal.add(issue); universe@86: } universe@86: } universe@86: } universe@86: universe@86: public List getVersions() { universe@86: return versions; universe@86: } universe@86: universe@86: public void setVersions(List versions) { universe@86: this.versions = versions; universe@86: } universe@86: universe@86: public void updateVersionInfo() { universe@86: versionInfos = new ArrayList<>(); universe@86: for (Version version : versions) { universe@86: final var info = new VersionInfo(version); universe@86: info.collectIssues(issues); universe@86: versionInfos.add(info); universe@86: } universe@86: } universe@86: universe@86: public IssueSummary getIssuesTotal() { universe@86: return issuesTotal; universe@86: } universe@86: universe@86: public List getIssuesWithoutVersion() { universe@86: return issuesWithoutVersion; universe@86: } universe@86: universe@86: public IssueSummary getIssuesWithoutVersionTotal() { universe@86: return issuesWithoutVersionTotal; universe@86: } universe@86: universe@86: public List getVersionInfos() { universe@86: return versionInfos; universe@86: } universe@86: }