package org.ovirt.engine.core.vdsbroker.gluster;
import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeGeoRepSessionVDSParameters;
import org.ovirt.engine.core.vdsbroker.vdsbroker.Status;
public class GetGlusterVolumeGeoRepSessionListVDSCommand<P extends GlusterVolumeGeoRepSessionVDSParameters> extends AbstractGlusterBrokerCommand<P> {
GlusterVolumeGeoRepStatus result;
public GetGlusterVolumeGeoRepSessionListVDSCommand(P parameters) {
super(parameters);
}
@Override
protected Status getReturnStatus() {
return result.getStatus();
}
@Override
protected void executeVdsBrokerCommand() {
GlusterVolumeGeoRepSessionVDSParameters parameter = getParameters();
if (parameter.getVolumeName() == null) {
result = getBroker().glusterVolumeGeoRepSessionList();
} else if (parameter.getSlaveHost() == null || parameter.getSlaveVolume() == null) {
result = getBroker().glusterVolumeGeoRepSessionList(parameter.getVolumeName());
} else {
result =
getBroker().glusterVolumeGeoRepSessionList(parameter.getVolumeName(),
parameter.getSlaveHost(),
parameter.getSlaveVolume(),
parameter.getUserName());
}
proceedProxyReturnValue();
if (getVDSReturnValue().getSucceeded()) {
setReturnValue(result.getGeoRepSessions());
}
}
}