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

Fri, 23 Oct 2020 20:34:57 +0200

author
Mike Becker <universe@uap-core.de>
date
Fri, 23 Oct 2020 20:34:57 +0200
changeset 150
822b7e3d064d
parent 129
a09d5c59351a
permissions
-rw-r--r--

migrate entities package

package de.uapcore.lightpit.viewmodel;

import de.uapcore.lightpit.entities.Component;
import de.uapcore.lightpit.entities.IssueSummary;
import de.uapcore.lightpit.entities.Project;
import de.uapcore.lightpit.entities.Version;

import java.util.Collections;
import java.util.List;

public class ProjectInfo {

    private final Project project;
    private List<Version> versions = Collections.emptyList();
    private List<Component> components = Collections.emptyList();
    private IssueSummary issueSummary = new IssueSummary();

    public ProjectInfo(Project project) {
        this.project = project;
    }

    public Project getProject() {
        return project;
    }

    public List<Version> getVersions() {
        return versions;
    }

    public void setVersions(List<Version> versions) {
        this.versions = versions;
    }

    public List<Component> getComponents() {
        return components;
    }

    public void setComponents(List<Component> components) {
        this.components = components;
    }

    public Version getLatestVersion() {
        // expects versions to be sorted by status descending
        for (var v : versions) {
            if (v.getStatus().isReleased())
                return v;
        }
        return null;
    }

    public Version getNextVersion() {
        // expects versions to be sorted by status descending
        Version next = null;
        for (var v : versions) {
            if (v.getStatus().isReleased())
                break;
            next = v;
        }
        return next;
    }

    public IssueSummary getIssueSummary() {
        return issueSummary;
    }

    public void setIssueSummary(IssueSummary issueSummary) {
        this.issueSummary = issueSummary;
    }
}

mercurial