Sat, 17 Oct 2020 19:56:50 +0200
completes feature: project components
1 package de.uapcore.lightpit.viewmodel;
3 import de.uapcore.lightpit.entities.Component;
4 import de.uapcore.lightpit.entities.IssueSummary;
5 import de.uapcore.lightpit.entities.Project;
6 import de.uapcore.lightpit.entities.Version;
8 import java.util.Collections;
9 import java.util.List;
11 public class ProjectInfo {
13 private final Project project;
14 private List<Version> versions = Collections.emptyList();
15 private List<Component> components = Collections.emptyList();
16 private IssueSummary issueSummary = new IssueSummary();
18 public ProjectInfo(Project project) {
19 this.project = project;
20 }
22 public Project getProject() {
23 return project;
24 }
26 public List<Version> getVersions() {
27 return versions;
28 }
30 public void setVersions(List<Version> versions) {
31 this.versions = versions;
32 }
34 public List<Component> getComponents() {
35 return components;
36 }
38 public void setComponents(List<Component> components) {
39 this.components = components;
40 }
42 public Version getLatestVersion() {
43 // expects versions to be sorted by status descending
44 for (var v : versions) {
45 if (v.getStatus().isReleased())
46 return v;
47 }
48 return null;
49 }
51 public Version getNextVersion() {
52 // expects versions to be sorted by status descending
53 Version next = null;
54 for (var v : versions) {
55 if (v.getStatus().isReleased())
56 break;
57 next = v;
58 }
59 return next;
60 }
62 public IssueSummary getIssueSummary() {
63 return issueSummary;
64 }
66 public void setIssueSummary(IssueSummary issueSummary) {
67 this.issueSummary = issueSummary;
68 }
69 }