package org.ovirt.engine.core.vdsbroker.irsbroker;
import org.ovirt.engine.core.compat.*;
import org.ovirt.engine.core.vdsbroker.vdsbroker.*;
import org.ovirt.engine.core.vdsbroker.xmlrpc.XmlRpcStruct;
import org.ovirt.engine.core.common.vdscommands.*;
public class GetVmsInfoVDSCommand<P extends GetVmsInfoVDSCommandParameters> extends IrsBrokerCommand<P> {
private GetVmsInfoReturnForXmlRpc _vmsInfo;
public GetVmsInfoVDSCommand(P parameters) {
super(parameters);
}
@Override
protected void ExecuteIrsBrokerCommand() {
String storagePoolId = getParameters().getStoragePoolId().toString();
String storageDomainId = getParameters().getStorageDomainId().toString();
java.util.ArrayList<String> ids = new java.util.ArrayList<String>();
if (getParameters().getVmIdList() != null) {
for (Guid id : getParameters().getVmIdList()) {
ids.add(id.toString());
}
}
_vmsInfo = getIrsProxy().getVmsInfo(storagePoolId, storageDomainId, ids.toArray(new String[] {}));
ProceedProxyReturnValue();
XmlRpcStruct xmlRpcStruct = _vmsInfo.vmlist;
java.util.ArrayList<String> retVal = new java.util.ArrayList<String>();
for (String key : xmlRpcStruct.getKeys()) {
retVal.add(xmlRpcStruct.getItem(key).toString());
}
setReturnValue(retVal);
}
@Override
protected StatusForXmlRpc getReturnStatus() {
return _vmsInfo.mStatus;
}
@Override
protected Object getReturnValueFromBroker() {
return _vmsInfo;
}
}