diff -r 3e287f361c7a -r 833e0385572a src/main/java/de/uapcore/lightpit/entities/Issue.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/de/uapcore/lightpit/entities/Issue.java Mon May 18 21:05:57 2020 +0200 @@ -0,0 +1,160 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright 2018 Mike Becker. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ +package de.uapcore.lightpit.entities; + +import java.sql.Date; +import java.sql.Timestamp; +import java.util.List; +import java.util.Objects; + +public final class Issue { + + private final int id; + private final Project project; + + private IssueStatus status; + private IssueCategory category; + + private String subject; + private String description; + + private List affectedVersions; + private Version scheduledVersion; + private Version resolvedVersion; + + private Timestamp created; + private Timestamp updated; + private Date eta; + + public Issue(int id, Project project) { + this.id = id; + this.project = project; + } + + public int getId() { + return id; + } + + public Project getProject() { + return project; + } + + public IssueStatus getStatus() { + return status; + } + + public void setStatus(IssueStatus status) { + this.status = status; + } + + public IssueCategory getCategory() { + return category; + } + + public void setCategory(IssueCategory category) { + this.category = category; + } + + public String getSubject() { + return subject; + } + + public void setSubject(String subject) { + this.subject = subject; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public List getAffectedVersions() { + return affectedVersions; + } + + public void setAffectedVersions(List affectedVersions) { + this.affectedVersions = affectedVersions; + } + + public Version getScheduledVersion() { + return scheduledVersion; + } + + public void setScheduledVersion(Version scheduledVersion) { + this.scheduledVersion = scheduledVersion; + } + + public Version getResolvedVersion() { + return resolvedVersion; + } + + public void setResolvedVersion(Version resolvedVersion) { + this.resolvedVersion = resolvedVersion; + } + + public Timestamp getCreated() { + return created; + } + + public void setCreated(Timestamp created) { + this.created = created; + } + + public Timestamp getUpdated() { + return updated; + } + + public void setUpdated(Timestamp updated) { + this.updated = updated; + } + + public Date getEta() { + return eta; + } + + public void setEta(Date eta) { + this.eta = eta; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Issue issue = (Issue) o; + return id == issue.id; + } + + @Override + public int hashCode() { + return Objects.hash(id); + } +}