package uk.bl.monitrix.extensions.imageqa.mongodb.model;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import uk.bl.monitrix.extensions.imageqa.model.ImageQALogEntry;
import uk.bl.monitrix.extensions.imageqa.mongodb.MongoImageQAProperties;
import com.mongodb.DBObject;
public class MongoImageQALogEntry implements ImageQALogEntry {
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
private DBObject dbo;
public MongoImageQALogEntry(DBObject dbo) {
this.dbo = dbo;
}
/**
* Returns the MongoDB entity that's backing this object.
* @return the DBObject
*/
public DBObject getBackingDBO() {
return dbo;
}
@Override
public Date getTimestamp() {
String timestamp = (String) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_TIMESTAMP);
try {
return DATE_FORMAT.parse(timestamp);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
public void setTimestamp(Date date) {
String timestamp = DATE_FORMAT.format(date);
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_TIMESTAMP, timestamp);
}
@Override
public double getExecutionTime() {
return (Double) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_EXECUTION_TIME);
}
public void setExecutionTime(double time) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_EXECUTION_TIME, time);
}
@Override
public String getOriginalWebURL() {
return (String) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_ORIGINAL_WEB_URL);
}
public void setOriginalWebURL(String url) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_ORIGINAL_WEB_URL, url);
}
@Override
public String getWaybackImageURL() {
return (String) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_WAYBACK_IMAGE_URL);
}
public void setWaybackImageURL(String url) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_WAYBACK_IMAGE_URL, url);
}
@Override
public long getWaybackTimestamp() {
return (Long) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_WAYBACK_TIMESTAMP);
}
public void setWaybackTimestamp(long timestamp) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_WAYBACK_TIMESTAMP, timestamp);
}
@Override
public int getFC1() {
return (Integer) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_FC1);
}
public void setFC1(int fc1) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_FC1, fc1);
}
@Override
public int getFC2() {
return (Integer) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_FC2);
}
public void setFC2(int fc2) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_FC2, fc2);
}
@Override
public int getMC() {
return (Integer) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_MC);
}
public void setMC(int mc) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_MC, mc);
}
@Override
public String getMessage() {
return (String) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_MESSAGE);
}
public void setMessage(String message) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_MESSAGE, message);
}
@Override
public int getTS1() {
return (Integer) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_TS1);
}
public void setTS1(int ts1) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_TS1, ts1);
}
@Override
public int getTS2() {
return (Integer) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_TS2);
}
public void setTS2(int ts2) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_TS2, ts2);
}
@Override
public int getOCR() {
return (Integer) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_OCR);
}
public void setOCR(int ocr) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_OCR, ocr);
}
@Override
public int getImage1Size() {
return (Integer) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_IMG1_SIZE);
}
public void setImage1Size(int size) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_IMG1_SIZE, size);
}
@Override
public int getImage2Size() {
return (Integer) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_IMG2_SIZE);
}
public void setImage2Size(int size) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_IMG2_SIZE, size);
}
@Override
public double getPSNRSimilarity() {
return (Double) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_PSNR_SIMILARITY);
}
public void setPSNRSimilarity(double similarity) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_PSNR_SIMILARITY, similarity);
}
@Override
public double getPSNRThreshold() {
return (Double) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_PSNR_THRESHOLD);
}
public void setPSNRThreshold(double threshold) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_PSNR_THRESHOLD, threshold);
}
@Override
public String getPSNRMessage() {
return (String) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_PSNR_MESSAGE);
}
public void setPSNRMessage(String message) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_PSNR_MESSAGE, message);
}
@Override
public String getOriginalImageURL() {
return (String) dbo.get(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_ORIGINAL_IMAGE_URL);
}
public void setOriginalImageURL(String url) {
dbo.put(MongoImageQAProperties.FIELD_IMAGE_QA_LOG_ORIGINAL_IMAGE_URL, url);
}
}