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

Sun, 21 Jun 2020 11:38:16 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 21 Jun 2020 11:38:16 +0200
changeset 88
1438e5a22c55
parent 86
0a658e53177c
permissions
-rw-r--r--

simplifies version overviews by removing "scheduled issues"

package de.uapcore.lightpit.viewmodel;

import de.uapcore.lightpit.entities.Issue;
import de.uapcore.lightpit.entities.IssueSummary;
import de.uapcore.lightpit.entities.Version;

import java.util.ArrayList;
import java.util.List;

public class VersionInfo {

    private final Version version;

    private final IssueSummary reportedTotal = new IssueSummary();
    private final IssueSummary resolvedTotal = new IssueSummary();

    private final List<Issue> reported = new ArrayList<>();
    private final List<Issue> resolved = new ArrayList<>();

    public VersionInfo(Version version) {
        this.version = version;
    }

    public Version getVersion() {
        return version;
    }

    public void addReported(Issue issue) {
        reportedTotal.add(issue);
        reported.add(issue);
    }

    public void addResolved(Issue issue) {
        resolvedTotal.add(issue);
        resolved.add(issue);
    }

    public IssueSummary getReportedTotal() {
        return reportedTotal;
    }

    public IssueSummary getResolvedTotal() {
        return resolvedTotal;
    }

    public List<Issue> getReported() {
        return reported;
    }

    public List<Issue> getResolved() {
        return resolved;
    }

    public void collectIssues(List<Issue> issues) {
        for (Issue issue : issues) {
            if (issue.getAffectedVersions().contains(version)) {
                addReported(issue);
            }
            if (issue.getResolvedVersions().contains(version)) {
                addResolved(issue);
            }
        }
    }
}

mercurial