package org.ovirt.engine.ui.uicommonweb.models.storage; import java.util.ArrayList; import org.ovirt.engine.core.common.action.ImportVmTemplateParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.Cluster; import org.ovirt.engine.core.common.businessentities.Quota; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.storage.Disk; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData; public class RegisterTemplateModel extends RegisterEntityModel<VmTemplate, ImportTemplateData> { protected void onSave() { ArrayList<VdcActionParametersBase> parameters = new ArrayList<>(); for (ImportTemplateData entityData : getEntities().getItems()) { VmTemplate vmTemplate = entityData.getEntity(); Cluster cluster = entityData.getCluster().getSelectedItem(); ImportVmTemplateParameters params = new ImportVmTemplateParameters(); params.setContainerId(vmTemplate.getId()); params.setStorageDomainId(getStorageDomainId()); params.setImagesExistOnTargetStorageDomain(true); params.setClusterId(cluster != null ? cluster.getId() : null); if (isQuotaEnabled()) { Quota quota = entityData.getClusterQuota().getSelectedItem(); params.setQuotaId(quota != null ? quota.getId() : null); params.setDiskTemplateMap(vmTemplate.getDiskTemplateMap()); updateDiskQuotas(new ArrayList<Disk>(params.getDiskTemplateMap().values())); } parameters.add(params); } startProgress(); Frontend.getInstance().runMultipleAction(VdcActionType.ImportVmTemplateFromConfiguration, parameters, result -> { stopProgress(); cancel(); }, this); } }