package edu.sc.seis.sod;
import java.sql.Timestamp;
import edu.sc.seis.fissuresUtil.chooser.ClockUtil;
public abstract class WaveformWorkUnit implements Runnable {
protected WaveformWorkUnit() {
numRetries=0;
lastQuery = ClockUtil.now().getTimestamp();
}
protected long dbid;
protected int numRetries;
protected Timestamp lastQuery;
public static final org.slf4j.Logger failLogger = org.slf4j.LoggerFactory.getLogger("Fail.WaveformArm");
public void updateRetries() {
// use setters for hibernate auto-dirty checking
setNumRetries(getNumRetries()+1);
setLastQuery(ClockUtil.now().getTimestamp());
}
public long getDbid() {
return dbid;
}
protected void setDbid(long dbid) {
this.dbid = dbid;
}
public int getNumRetries() {
return numRetries;
}
protected void setNumRetries(int numRetries) {
this.numRetries = numRetries;
}
public Timestamp getLastQuery() {
return lastQuery;
}
protected void setLastQuery(Timestamp lastQuery) {
this.lastQuery = lastQuery;
}
public boolean equals(Object o) {
if (! (o instanceof WaveformWorkUnit)) {
return false;
}
WaveformWorkUnit w = (WaveformWorkUnit)o;
return w.dbid == dbid && w.numRetries == numRetries && w.lastQuery.equals(lastQuery);
}
public int hashCode() {
return 89+17*(int)dbid+41*numRetries+17*lastQuery.hashCode();
}
}