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

Mon, 01 Jun 2020 14:46:58 +0200

author
Mike Becker <universe@uap-core.de>
date
Mon, 01 Jun 2020 14:46:58 +0200
changeset 86
0a658e53177c
child 88
1438e5a22c55
permissions
-rw-r--r--

improves issue overview and adds progress information

     1 package de.uapcore.lightpit.viewmodel;
     3 import de.uapcore.lightpit.entities.Issue;
     4 import de.uapcore.lightpit.entities.IssueSummary;
     5 import de.uapcore.lightpit.entities.Version;
     7 import java.util.ArrayList;
     8 import java.util.List;
    10 public class VersionInfo {
    12     private final Version version;
    14     private final IssueSummary reportedTotal = new IssueSummary();
    15     private final IssueSummary scheduledTotal = new IssueSummary();
    16     private final IssueSummary resolvedTotal = new IssueSummary();
    18     private final List<Issue> reported = new ArrayList<>();
    19     private final List<Issue> scheduled = new ArrayList<>();
    20     private final List<Issue> resolved = new ArrayList<>();
    22     public VersionInfo(Version version) {
    23         this.version = version;
    24     }
    26     public Version getVersion() {
    27         return version;
    28     }
    30     public void addReported(Issue issue) {
    31         reportedTotal.add(issue);
    32         reported.add(issue);
    33     }
    35     public void addScheduled(Issue issue) {
    36         scheduledTotal.add(issue);
    37         scheduled.add(issue);
    38     }
    40     public void addResolved(Issue issue) {
    41         resolvedTotal.add(issue);
    42         resolved.add(issue);
    43     }
    45     public IssueSummary getReportedTotal() {
    46         return reportedTotal;
    47     }
    49     public IssueSummary getScheduledTotal() {
    50         return scheduledTotal;
    51     }
    53     public IssueSummary getResolvedTotal() {
    54         return resolvedTotal;
    55     }
    57     public List<Issue> getReported() {
    58         return reported;
    59     }
    61     public List<Issue> getScheduled() {
    62         return scheduled;
    63     }
    65     public List<Issue> getResolved() {
    66         return resolved;
    67     }
    69     public void collectIssues(List<Issue> issues) {
    70         for (Issue issue : issues) {
    71             if (issue.getAffectedVersions().contains(version)) {
    72                 addReported(issue);
    73             }
    74             if (issue.getScheduledVersions().contains(version)) {
    75                 addScheduled(issue);
    76             }
    77             if (issue.getResolvedVersions().contains(version)) {
    78                 addResolved(issue);
    79             }
    80         }
    81     }
    82 }

mercurial