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

Sun, 23 Aug 2020 15:10:49 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 23 Aug 2020 15:10:49 +0200
changeset 99
a369fb1b3aa2
child 105
250c5cbb8276
permissions
-rw-r--r--

cleanup ProjectsModule

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.Collection;
import java.util.Collections;
import java.util.List;

public class ProjectDetails {

    private List<VersionInfo> versionInfos = Collections.emptyList();

    private List<Issue> issues = Collections.emptyList();
    private List<Issue> issuesWithoutVersion;
    private IssueSummary issuesWithoutVersionTotal;

    public List<Issue> getIssues() {
        return issues;
    }

    public void setIssues(List<Issue> issues) {
        this.issues = issues;
        issuesWithoutVersion = new ArrayList<>();
        issuesWithoutVersionTotal = new IssueSummary();
        for (Issue issue : issues) {
            // we want to list all issues that do not have a target version
            if (issue.getResolvedVersions().isEmpty()) {
                issuesWithoutVersion.add(issue);
                issuesWithoutVersionTotal.add(issue);
            }
        }
    }

    public void updateVersionInfo(Collection<Version> versions) {
        versionInfos = new ArrayList<>();
        for (Version version : versions) {
            final var info = new VersionInfo(version);
            info.collectIssues(issues);
            versionInfos.add(info);
        }
    }

    public List<Issue> getIssuesWithoutVersion() {
        return issuesWithoutVersion;
    }

    public IssueSummary getIssuesWithoutVersionTotal() {
        return issuesWithoutVersionTotal;
    }

    public List<VersionInfo> getVersionInfos() {
        return versionInfos;
    }
}

mercurial