package com.openseedbox.models;
import java.util.Date;
import org.apache.commons.lang.time.DurationFormatUtils;
import siena.Column;
import siena.Text;
public abstract class EventBase extends ModelBase {
protected boolean successful;
@Column("stack_trace") @Text private String stackTrace;
@Column("start_date") protected Date startDate;
@Column("end_date") protected Date completionDate;
@Column("duration_milliseconds") protected long durationMilliseconds;
public String getLastRan() {
long now = new Date().getTime();
long then = getStartDate().getTime();
long distance = now - then;
return DurationFormatUtils.formatDurationWords(distance, true, true)
.replace("hour","h")
.replace("hs", "h")
.replace("minute", "m")
.replace("ms", "m")
.replace("second", "s")
.replace("ss", "s");
}
/* Getters and Setters */
public boolean isSuccessful() {
return successful;
}
public void setSuccessful(boolean successful) {
this.successful = successful;
}
public String getStackTrace() {
return stackTrace;
}
public void setStackTrace(String stackTrace) {
this.stackTrace = stackTrace;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Date getCompletionDate() {
return completionDate;
}
public void setCompletionDate(Date completionDate) {
this.completionDate = completionDate;
}
public long getDurationMilliseconds() {
return durationMilliseconds;
}
public void setDurationMilliseconds(long durationMilliseconds) {
this.durationMilliseconds = durationMilliseconds;
}
}