package org.ovirt.engine.core.common.action;
import java.io.Serializable;
import java.util.ArrayList;
import org.ovirt.engine.core.common.errors.EngineError;
import org.ovirt.engine.core.common.errors.EngineFault;
import org.ovirt.engine.core.compat.Guid;
public class VdcReturnValueBase implements Serializable {
private static final long serialVersionUID = 6063371142273092365L;
private boolean valid;
private ArrayList<String> validationMessages;
private boolean succeeded;
private boolean isSyncronious;
private Object returnValue;
private String description;
/**
* Holds the ids of the async task place holders in the database. On server restart this list used to clean up and
* fail all the tasks that have place holders but don't have a vdsm task id.
*/
private ArrayList<Guid> taskPlaceHolderIdList;
/**
* The list of vdsm task ids associated with a command
*/
private ArrayList<Guid> vdsmTaskIdList;
/**
* The list of vdsm task ids associated directly with a command
*/
private ArrayList<Guid> internalVdsmTaskIdList;
private boolean endActionTryAgain;
private ArrayList<String> executeFailedMessages;
private EngineFault fault;
private String correlationId;
private Guid jobId;
public VdcReturnValueBase() {
validationMessages = new ArrayList<>();
description = "";
taskPlaceHolderIdList = new ArrayList<>();
vdsmTaskIdList = new ArrayList<>();
internalVdsmTaskIdList = new ArrayList<>();
endActionTryAgain = true;
executeFailedMessages = new ArrayList<>();
}
public EngineFault getFault() {
if (fault == null) {
fault = new EngineFault();
fault.setError(EngineError.ENGINE);
fault.setMessage(EngineError.ENGINE.name());
}
return fault;
}
public void setFault(EngineFault value) {
fault = value;
}
public boolean isValid() {
return valid;
}
public void setValid(boolean value) {
valid = value;
}
public ArrayList<String> getValidationMessages() {
return validationMessages;
}
public void setValidationMessages(ArrayList<String> value) {
validationMessages = value;
}
public boolean getSucceeded() {
return succeeded;
}
public void setSucceeded(boolean value) {
succeeded = value;
}
public ArrayList<String> getExecuteFailedMessages() {
return executeFailedMessages;
}
public void setExecuteFailedMessages(ArrayList<String> value) {
executeFailedMessages = value;
}
@SuppressWarnings("unchecked")
public <T> T getActionReturnValue() {
return (T)returnValue;
}
public void setActionReturnValue(Object value) {
returnValue = value;
}
public String getDescription() {
return description;
}
public void setDescription(String value) {
description = value;
}
public boolean getIsSyncronious() {
return isSyncronious;
}
public void setIsSyncronious(boolean value) {
isSyncronious = value;
}
public ArrayList<Guid> getVdsmTaskIdList() {
return vdsmTaskIdList;
}
public void setVdsmTaskIdList(ArrayList<Guid> value) {
vdsmTaskIdList = value;
}
public ArrayList<Guid> getTaskPlaceHolderIdList() {
return taskPlaceHolderIdList;
}
public void setTaskPlaceHolderIdList(ArrayList<Guid> value) {
taskPlaceHolderIdList = value;
}
public ArrayList<Guid> getInternalVdsmTaskIdList() {
return internalVdsmTaskIdList;
}
public boolean getHasAsyncTasks() {
return getVdsmTaskIdList() != null && getVdsmTaskIdList().size() > 0;
}
public boolean getEndActionTryAgain() {
return endActionTryAgain;
}
public void setEndActionTryAgain(boolean value) {
endActionTryAgain = value;
}
public void setCorrelationId(String correlationId) {
this.correlationId = correlationId;
}
public String getCorrelationId() {
return correlationId;
}
public Guid getJobId() {
return jobId;
}
public void setJobId(Guid jobId) {
this.jobId = jobId;
}
}