package org.fenixedu.bennu.scheduler.api.json;
import org.fenixedu.bennu.core.json.JsonBuilder;
import org.fenixedu.bennu.core.json.JsonViewer;
import org.fenixedu.bennu.scheduler.log.ExecutionLog;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
public class SimpleExecutionLogJsonAdapter implements JsonViewer<ExecutionLog> {
@Override
public JsonElement view(ExecutionLog obj, JsonBuilder ctx) {
JsonObject json = new JsonObject();
json.addProperty("id", obj.getId());
json.addProperty("start", obj.getStart().toString());
obj.getEnd().ifPresent(val -> json.addProperty("end", val.toString()));
json.addProperty("state", obj.getState().name());
json.addProperty("taskName", obj.getTaskName());
obj.getCode().ifPresent(code -> json.addProperty("custom", true));
return json;
}
}