com.denimgroup.threadfix.data.entities.FindingDescription Maven / Gradle / Ivy
package com.denimgroup.threadfix.data.entities;
import com.denimgroup.threadfix.ScannerUtils;
import com.denimgroup.threadfix.util.StringUtils;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView;
import javax.persistence.*;
import javax.validation.constraints.Size;
/**
* Created by jtomsett on 9/8/2016.
*/
@Entity
@Table(name = "FindingDescription")
public class FindingDescription extends AuditableEntity{
@Size(max = 64, message = "{errors.maxlength} "
+ 64 + ".")
private String CheckSum;
private String Description;
private byte[] descriptionInBytes;
@Column(length = 64, unique = true)
@JsonIgnore
public String getCheckSum() {
return CheckSum;
}
private void setCheckSum(String checksum) {
CheckSum = checksum;
}
@Column
@Lob
@JsonIgnore
public String getDescription() {
return Description;
}
public void setDescription(String description) {
setCheckSum(ScannerUtils.md5(description));
Description = description;
}
@Column
@Lob
@JsonIgnore
public byte[] getDescriptionInBytes() {
if (descriptionInBytes == null && getDescription() != null) {
descriptionInBytes = getDescription().getBytes();
}
return descriptionInBytes;
}
public void setDescriptionInBytes(byte[] descriptionInBytes) {
if (descriptionInBytes != null)
setCheckSum(ScannerUtils.md5(new String(descriptionInBytes)));
this.descriptionInBytes = descriptionInBytes;
}
@Transient
@JsonProperty("description")
@JsonView
public String getDescriptionStr() {
return new String(getDescriptionInBytes());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy