package org.ovirt.engine.core.vdsbroker.vdsbroker;
import java.util.HashMap;
import java.util.Map;
import org.ovirt.engine.core.common.vdscommands.ChangeDiskVDSCommandParameters;
public class ChangeDiskVDSCommand<P extends ChangeDiskVDSCommandParameters> extends VmReturnVdsBrokerCommand<P> {
public ChangeDiskVDSCommand(P parameters) {
super(parameters);
}
@Override
protected void executeVdsBrokerCommand() {
if (getParameters().getIface() != null) {
Map<String, Object> driveSpec = new HashMap<>();
driveSpec.put(VdsProperties.INTERFACE, getParameters().getIface());
driveSpec.put(VdsProperties.Index, Integer.toString(getParameters().getIndex()));
driveSpec.put(VdsProperties.Path, getParameters().getDiskPath());
vmReturn = getBroker().changeDisk(vmId.toString(), driveSpec);
} else {
vmReturn = getBroker().changeDisk(vmId.toString(), getParameters().getDiskPath());
}
proceedProxyReturnValue();
setReturnValue(VdsBrokerObjectsBuilder.buildVMDynamicData(vmReturn.vm, getVds()).getStatus());
}
}