1 package org.onap.vid.model;
3 import org.apache.commons.lang3.builder.EqualsBuilder;
4 import org.apache.commons.lang3.builder.HashCodeBuilder;
5 import org.hibernate.annotations.Type;
6 import org.onap.vid.job.Job.JobStatus;
7 import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
9 import javax.persistence.*;
10 import java.util.Date;
11 import java.util.UUID;
14 @Table(name = "vid_job_audit_status")
15 public class JobAuditStatus extends VidBaseEntity {
17 static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(JobAuditStatus.class);
19 public JobAuditStatus(){}
21 public JobAuditStatus(UUID jobId, String jobStatus, SourceStatus source){
23 this.jobStatus = jobStatus;
27 public JobAuditStatus(UUID jobId, String jobStatus, SourceStatus source, Date date){
28 this(jobId, jobStatus, source);
32 public JobAuditStatus(UUID jobId, String jobStatus, SourceStatus source, UUID requestId, String additionalInfo) {
33 this(jobId, jobStatus, source);
34 this.requestId = requestId;
35 this.additionalInfo = additionalInfo;
38 public JobAuditStatus(UUID jobId, String jobStatus, SourceStatus source, UUID requestId, String additionalInfo, Date date){
39 this(jobId, jobStatus, source, requestId, additionalInfo);
44 public boolean equals(Object o) {
45 if (this == o) return true;
47 if (o == null || getClass() != o.getClass()) return false;
49 JobAuditStatus that = (JobAuditStatus) o;
51 return new EqualsBuilder()
52 .append(jobId, that.jobId)
53 .append(jobStatus, that.jobStatus)
54 .append(source, that.source)
55 .append(requestId, that.requestId)
56 .append(additionalInfo, that.additionalInfo)
61 public int hashCode() {
62 return new HashCodeBuilder(17, 37)
67 .append(additionalInfo)
71 public enum SourceStatus {
77 private String jobStatus;
78 private SourceStatus source;
79 private UUID requestId;
80 private String additionalInfo;
83 @GeneratedValue(strategy = GenerationType.IDENTITY)
85 @Column(name = "ID", columnDefinition = "INT(11)")
90 @Column(name = "JOB_ID", columnDefinition = "CHAR(36)")
91 @Type(type="org.hibernate.type.UUIDCharType")
92 public UUID getJobId() {
96 public void setJobId(UUID jobId) {
101 @Column(name = "JOB_STATUS")
102 public String getJobStatus() {
106 public void setJobStatus(String jobStatus) {
107 this.jobStatus = jobStatus;
111 @Enumerated(EnumType.STRING)
112 @Column(name = "SOURCE")
113 public SourceStatus getSource() {
117 public void setSource(SourceStatus source) {
118 this.source = source;
121 @Column(name = "REQUEST_ID", columnDefinition = "CHAR(36)")
122 @Type(type="org.hibernate.type.UUIDCharType")
123 public UUID getRequestId() {
127 public void setRequestId(UUID requestId) {
128 this.requestId = requestId;
131 @Column(name = "ADDITIONAL_INFO")
132 public String getAdditionalInfo() {
133 return additionalInfo;
136 public void setAdditionalInfo(String additionalInfo) {
137 this.additionalInfo = additionalInfo;
141 public Boolean isFinal(){
143 if (getSource() == SourceStatus.VID) {
144 return JobStatus.valueOf(getJobStatus()).isFinal();
147 catch (IllegalArgumentException e){
148 logger.error("JobStatus: " + getJobStatus() + " from vid isn't a value of JobStatus enum" + e.getMessage());
155 public Date getCreatedDate() {