com.denimgroup.threadfix.data.entities.PendingScanFileData Maven / Gradle / Ivy
package com.denimgroup.threadfix.data.entities;
import com.denimgroup.threadfix.data.enums.PendingScanStatus;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonView;
import javax.persistence.*;
import java.util.Calendar;
/**
* Created by jtomsett on 11/23/16.
*/
@Entity
@Table
public class PendingScanFileData extends BaseEntity implements Comparable{
private String fileLocation;
private String originalName;
private Integer channelId;
private PendingScan pendingScan;
private PendingScanStatus status = PendingScanStatus.UPLOADED;
private Calendar testDate;
@Column(length = 2048)
@JsonIgnore
public String getFileLocation() {
return fileLocation;
}
public void setFileLocation(String fileLocation) {
this.fileLocation = fileLocation;
}
@Column
@JsonView({Object.class})
public String getOriginalName() {
return originalName;
}
public void setOriginalName(String originalName) {
this.originalName = originalName;
}
@Column
@JsonIgnore
public Integer getChannelId() {
return channelId;
}
public void setChannelId(Integer channelId) {
this.channelId = channelId;
}
@ManyToOne
@JoinColumn(name = "pendingScanId", foreignKey = @ForeignKey(name="fk_pendingScan_pendingScanData_pendingScanId"))
@JsonIgnore
public PendingScan getPendingScan() {
return pendingScan;
}
public void setPendingScan(PendingScan pendingScan) {
this.pendingScan = pendingScan;
}
@Column
@JsonIgnore
public PendingScanStatus getStatus() {
return status == null ? this.pendingScan.getStatus() : status;
}
public void setStatus(PendingScanStatus status) {
this.status = status;
}
@Column
@JsonIgnore
public Calendar getTestDate() {
return testDate;
}
public void setTestDate(Calendar testDate) {
this.testDate = testDate;
}
@Override
public int compareTo(PendingScanFileData o) {
if (o == null || this.testDate == null || o.getTestDate() == null)
return 0;
return this.testDate.compareTo(o.getTestDate());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy