package org.ovirt.engine.core.bll; import java.util.Collections; import java.util.List; import org.ovirt.engine.core.bll.context.CommandContext; import org.ovirt.engine.core.bll.utils.PermissionSubject; import org.ovirt.engine.core.common.action.RefreshVolumeParameters; import org.ovirt.engine.core.common.vdscommands.RefreshVolumeVDSCommandParameters; import org.ovirt.engine.core.common.vdscommands.VDSCommandType; import org.ovirt.engine.core.common.vdscommands.VDSParametersBase; import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; @InternalCommandAttribute @NonTransactiveCommandAttribute public class RefreshVolumeCommand<T extends RefreshVolumeParameters> extends CommandBase<T> { public RefreshVolumeCommand(T parameters, CommandContext cmdContext) { super(parameters, cmdContext); } @Override protected void executeCommand() { VDSReturnValue vdsReturnValue = runVdsCommand(VDSCommandType.RefreshVolume, createVDSParameters()); if (vdsReturnValue != null && vdsReturnValue.getSucceeded()) { setSucceeded(true); log.info("Successfully refreshed volume '{}' on host '{}'", getParameters().getImageId(), getParameters().getVdsId()); } else { log.error("Failed to refresh volume '{}' on host '{}'", getParameters().getImageId(), getParameters().getVdsId()); } } private VDSParametersBase createVDSParameters() { return new RefreshVolumeVDSCommandParameters( getParameters().getVdsId(), getParameters().getStoragePoolId(), getParameters().getStorageDomainId(), getParameters().getImageGroupId(), getParameters().getImageId()); } @Override public List<PermissionSubject> getPermissionCheckSubjects() { return Collections.emptyList(); } }