Mon, 01 Jun 2020 14:46:58 +0200
improves issue overview and adds progress information
universe@86 | 1 | package de.uapcore.lightpit.viewmodel; |
universe@86 | 2 | |
universe@86 | 3 | import de.uapcore.lightpit.entities.Issue; |
universe@86 | 4 | import de.uapcore.lightpit.entities.IssueSummary; |
universe@86 | 5 | import de.uapcore.lightpit.entities.Project; |
universe@86 | 6 | import de.uapcore.lightpit.entities.Version; |
universe@86 | 7 | |
universe@86 | 8 | import java.util.ArrayList; |
universe@86 | 9 | import java.util.Collections; |
universe@86 | 10 | import java.util.List; |
universe@86 | 11 | |
universe@86 | 12 | public class ProjectView { |
universe@86 | 13 | |
universe@86 | 14 | private final Project project; |
universe@86 | 15 | private List<Version> versions = Collections.emptyList(); |
universe@86 | 16 | private List<Issue> issues = Collections.emptyList(); |
universe@86 | 17 | |
universe@86 | 18 | private IssueSummary issuesTotal; |
universe@86 | 19 | private List<Issue> issuesWithoutVersion; |
universe@86 | 20 | private IssueSummary issuesWithoutVersionTotal; |
universe@86 | 21 | private List<VersionInfo> versionInfos = Collections.emptyList(); |
universe@86 | 22 | |
universe@86 | 23 | public ProjectView(Project project) { |
universe@86 | 24 | this.project = project; |
universe@86 | 25 | } |
universe@86 | 26 | |
universe@86 | 27 | public Project getProject() { |
universe@86 | 28 | return project; |
universe@86 | 29 | } |
universe@86 | 30 | |
universe@86 | 31 | public List<Issue> getIssues() { |
universe@86 | 32 | return issues; |
universe@86 | 33 | } |
universe@86 | 34 | |
universe@86 | 35 | public void setIssues(List<Issue> issues) { |
universe@86 | 36 | this.issues = issues; |
universe@86 | 37 | issuesTotal = new IssueSummary(); |
universe@86 | 38 | issuesWithoutVersion = new ArrayList<>(); |
universe@86 | 39 | issuesWithoutVersionTotal = new IssueSummary(); |
universe@86 | 40 | for (Issue issue : issues) { |
universe@86 | 41 | issuesTotal.add(issue); |
universe@86 | 42 | if (issue.getResolvedVersions().isEmpty() && issue.getScheduledVersions().isEmpty() && issue.getResolvedVersions().isEmpty()) { |
universe@86 | 43 | issuesWithoutVersion.add(issue); |
universe@86 | 44 | issuesWithoutVersionTotal.add(issue); |
universe@86 | 45 | } |
universe@86 | 46 | } |
universe@86 | 47 | } |
universe@86 | 48 | |
universe@86 | 49 | public List<Version> getVersions() { |
universe@86 | 50 | return versions; |
universe@86 | 51 | } |
universe@86 | 52 | |
universe@86 | 53 | public void setVersions(List<Version> versions) { |
universe@86 | 54 | this.versions = versions; |
universe@86 | 55 | } |
universe@86 | 56 | |
universe@86 | 57 | public void updateVersionInfo() { |
universe@86 | 58 | versionInfos = new ArrayList<>(); |
universe@86 | 59 | for (Version version : versions) { |
universe@86 | 60 | final var info = new VersionInfo(version); |
universe@86 | 61 | info.collectIssues(issues); |
universe@86 | 62 | versionInfos.add(info); |
universe@86 | 63 | } |
universe@86 | 64 | } |
universe@86 | 65 | |
universe@86 | 66 | public IssueSummary getIssuesTotal() { |
universe@86 | 67 | return issuesTotal; |
universe@86 | 68 | } |
universe@86 | 69 | |
universe@86 | 70 | public List<Issue> getIssuesWithoutVersion() { |
universe@86 | 71 | return issuesWithoutVersion; |
universe@86 | 72 | } |
universe@86 | 73 | |
universe@86 | 74 | public IssueSummary getIssuesWithoutVersionTotal() { |
universe@86 | 75 | return issuesWithoutVersionTotal; |
universe@86 | 76 | } |
universe@86 | 77 | |
universe@86 | 78 | public List<VersionInfo> getVersionInfos() { |
universe@86 | 79 | return versionInfos; |
universe@86 | 80 | } |
universe@86 | 81 | } |