package org.ovirt.engine.core.vdsbroker.irsbroker; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; import org.ovirt.engine.core.common.vdscommands.GetImageInfoVDSCommandParameters; import org.ovirt.engine.core.common.vdscommands.GetVolumeInfoVDSCommandParameters; import org.ovirt.engine.core.common.vdscommands.VDSCommandType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class GetImageInfoVDSCommand<P extends GetImageInfoVDSCommandParameters> extends IrsBrokerCommand<P> { private static final Logger log = LoggerFactory.getLogger(GetImageInfoVDSCommand.class); public GetImageInfoVDSCommand(P parameters) { super(parameters); } @Override protected void executeIrsBrokerCommand() { GetVolumeInfoVDSCommandParameters p = new GetVolumeInfoVDSCommandParameters(getCurrentIrsProxy() .getCurrentVdsId(), getParameters().getStoragePoolId(), getParameters().getStorageDomainId(), getParameters().getImageGroupId(), getParameters().getImageId()); DiskImage di = (DiskImage) resourceManager.runVdsCommand(VDSCommandType.GetVolumeInfo, p).getReturnValue(); // if couldn't parse image then succeeded should be false getVDSReturnValue().setSucceeded(di != null); if (!getVDSReturnValue().getSucceeded()) { log.error("Failed to get the volume information, marking as FAILED"); } setReturnValue(di); } }