src/main/java/de/uapcore/lightpit/viewmodel/ProjectInfo.java

changeset 184
e8eecee6aadf
parent 129
a09d5c59351a
equal deleted inserted replaced
183:61669abf277f 184:e8eecee6aadf
1 package de.uapcore.lightpit.viewmodel;
2
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;
7
8 import java.util.Collections;
9 import java.util.List;
10
11 public class ProjectInfo {
12
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();
17
18 public ProjectInfo(Project project) {
19 this.project = project;
20 }
21
22 public Project getProject() {
23 return project;
24 }
25
26 public List<Version> getVersions() {
27 return versions;
28 }
29
30 public void setVersions(List<Version> versions) {
31 this.versions = versions;
32 }
33
34 public List<Component> getComponents() {
35 return components;
36 }
37
38 public void setComponents(List<Component> components) {
39 this.components = components;
40 }
41
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 }
50
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 }
61
62 public IssueSummary getIssueSummary() {
63 return issueSummary;
64 }
65
66 public void setIssueSummary(IssueSummary issueSummary) {
67 this.issueSummary = issueSummary;
68 }
69 }

mercurial