package org.ovirt.engine.core.bll.exportimport; import org.ovirt.engine.core.bll.DisableInPrepareMode; import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute; import org.ovirt.engine.core.bll.context.CommandContext; import org.ovirt.engine.core.bll.tasks.CommandCoordinatorUtil; import org.ovirt.engine.core.common.action.ConvertOvaParameters; import org.ovirt.engine.core.common.action.ImportVmFromOvaParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.compat.Guid; @DisableInPrepareMode @NonTransactiveCommandAttribute(forceCompensation = true) public class ImportVmFromOvaCommand<T extends ImportVmFromOvaParameters> extends ImportVmFromExternalProviderCommand<T> { public ImportVmFromOvaCommand(Guid cmdId) { super(cmdId); } public ImportVmFromOvaCommand(T parameters, CommandContext commandContext) { super(parameters, commandContext); } @Override protected void convert() { CommandCoordinatorUtil.executeAsyncCommand( VdcActionType.ConvertOva, buildConvertOvaParameters(), cloneContextAndDetachFromParent()); } private ConvertOvaParameters buildConvertOvaParameters() { ConvertOvaParameters parameters = new ConvertOvaParameters(getVmId()); parameters.setOvaPath(getParameters().getOvaPath()); parameters.setVmName(getVmName()); parameters.setDisks(getDisks()); parameters.setStoragePoolId(getStoragePoolId()); parameters.setStorageDomainId(getStorageDomainId()); parameters.setProxyHostId(getParameters().getProxyHostId()); parameters.setClusterId(getClusterId()); parameters.setVirtioIsoName(getParameters().getVirtioIsoName()); return parameters; } }