package org.ovirt.engine.core.vdsbroker.vdsbroker;
import org.ovirt.engine.core.common.asynctasks.AsyncTaskCreationInfo;
import org.ovirt.engine.core.common.asynctasks.AsyncTaskType;
import org.ovirt.engine.core.common.vdscommands.VmLeaseVDSParameters;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.vdsbroker.irsbroker.IrsBrokerCommand;
import org.ovirt.engine.core.vdsbroker.irsbroker.VmLeaseTaskInfoReturn;
public class RemoveVmLeaseVDSCommand<T extends VmLeaseVDSParameters> extends IrsBrokerCommand<T> {
private VmLeaseTaskInfoReturn returnValue;
public RemoveVmLeaseVDSCommand(T parameters) {
super(parameters);
}
@Override
protected void executeIrsBrokerCommand() {
returnValue = getIrsProxy().removeVmLease(
getParameters().getLeaseId().toString(),
getParameters().getStorageDomainId().toString());
proceedProxyReturnValue();
Guid taskID = new Guid(returnValue.getTaskId());
getVDSReturnValue().setCreationInfo(
new AsyncTaskCreationInfo(taskID, AsyncTaskType.removeVmLease,
getParameters().getStoragePoolId()));
}
@Override
protected Status getReturnStatus() {
return returnValue.getStatus();
}
}