package org.ovirt.engine.core.vdsbroker.vdsbroker;
import java.util.Map;
import org.ovirt.engine.core.common.vdscommands.*;
import org.ovirt.engine.core.vdsbroker.xmlrpc.XmlRpcStruct;
public class GetVGInfoVDSCommand<P extends GetVGInfoVDSCommandParameters> extends VdsBrokerCommand<P> {
private OneVGReturnForXmlRpc _result;
public GetVGInfoVDSCommand(P parameters) {
super(parameters);
}
@Override
protected void ExecuteVdsBrokerCommand() {
_result = getBroker().getVGInfo(getParameters().getVGID());
ProceedProxyReturnValue();
// build temp data
Object[] temp = (Object[]) _result.vgInfo.getItem("pvlist");
XmlRpcStruct[] pvList = new XmlRpcStruct[0];
if (temp != null) {
pvList = new XmlRpcStruct[temp.length];
for (int i = 0; i < temp.length; i++) {
pvList[i] = new XmlRpcStruct((Map<String, Object>) temp[i]);
}
}
setReturnValue(GetDeviceListVDSCommand.ParseLUNList(pvList));
// ReturnValue = ((string[])_result.vgInfo["pvlist"]).ToList();
}
@Override
protected StatusForXmlRpc getReturnStatus() {
return _result.mStatus;
}
@Override
protected Object getReturnValueFromBroker() {
return _result;
}
}