/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package edu.harvard.iq.dataverse.ingest; import edu.harvard.iq.dataverse.DataFile; import java.io.Serializable; import java.util.Date; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; /** * * @author Leonid Andreev */ @Entity @Table(indexes = {@Index(columnList="datafile_id")}) public class IngestReport implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public static int INGEST_TYPE_TABULAR = 1; public static int INGEST_TYPE_METADATA = 2; public static int INGEST_STATUS_INPROGRESS = 1; public static int INGEST_STATUS_SUCCESS = 2; public static int INGEST_STATUS_FAILURE = 3; @ManyToOne @JoinColumn(nullable=false) private DataFile dataFile; private String report; private int type; private int status; @Temporal(value = TemporalType.TIMESTAMP) private Date startTime; @Temporal(value = TemporalType.TIMESTAMP) private Date endTime; public int getType() { return type; } public void setType(int type) { this.type = type; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public boolean isFailure() { return status == INGEST_STATUS_FAILURE; } public void setFailure() { this.status = INGEST_STATUS_FAILURE; } public String getReport() { return report; } public void setReport(String report) { this.report = report; } public DataFile getDataFile() { return dataFile; } public void setDataFile(DataFile dataFile) { this.dataFile = dataFile; } public Date getStartTime() { return startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } @Override public int hashCode() { int hash = 0; hash += (id != null ? id.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof IngestReport)) { return false; } IngestReport other = (IngestReport) object; if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { return false; } return true; } @Override public String toString() { return "edu.harvard.iq.dataverse.ingest.IngestReport[ id=" + id + " ]"; } }