package me.osm.gazetteer.web.executions;
import java.util.Map;
import me.osm.gazetteer.web.api.meta.health.Health;
import me.osm.gazetteer.web.utils.LocalDateTimeSerializer;
import org.elasticsearch.common.joda.time.LocalDateTime;
import org.elasticsearch.common.joda.time.Period;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
public class BackgroudTaskDescription {
private int id;
private String uuid;
@JsonSerialize(using=LocalDateTimeSerializer.class)
private LocalDateTime submitTs;
@JsonSerialize(using=LocalDateTimeSerializer.class)
private LocalDateTime runTs;
@JsonSerialize(using=LocalDateTimeSerializer.class)
private LocalDateTime doneTs;
private String executionTime;
private String waitTime;
private String className;
private Map<String, Object> parameters;
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public Map<String, Object> getParameters() {
return parameters;
}
public void setParameters(Map<String, Object> parameters) {
this.parameters = parameters;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public LocalDateTime getSubmitTs() {
return submitTs;
}
public void setSubmitTs(LocalDateTime submitTs) {
this.submitTs = submitTs;
}
public LocalDateTime getRunTs() {
return runTs;
}
public void setRunTs(LocalDateTime runTs) {
this.runTs = runTs;
if(this.submitTs != null) {
this.waitTime = new Period(this.submitTs, this.runTs)
.toString(Health.PERIOD_FORMATTER);
}
}
public LocalDateTime getDoneTs() {
return doneTs;
}
public void setDoneTs(LocalDateTime doneTs) {
this.doneTs = doneTs;
if(this.runTs != null) {
this.executionTime = new Period(this.runTs, this.doneTs)
.toString(Health.PERIOD_FORMATTER);
}
}
public String getExecutionTime() {
return executionTime;
}
public void setExecutionTime(String executionTime) {
this.executionTime = executionTime;
}
public String getWaitTime() {
return waitTime;
}
public void setWaitTime(String waitTime) {
this.waitTime = waitTime;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
}