Search in sources :

Example 6 with ImportTemplateData

use of org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData in project ovirt-engine by oVirt.

the class TemplateBackupModel method executeImport.

protected void executeImport() {
    ImportTemplateModel model = (ImportTemplateModel) getWindow();
    if (model.getProgress() != null) {
        return;
    }
    if (!model.validate()) {
        return;
    }
    List<ActionParametersBase> prms = new ArrayList<>();
    for (Object object : importModel.getItems()) {
        ImportTemplateData importData = (ImportTemplateData) object;
        VmTemplate template = importData.getTemplate();
        ImportVmTemplateParameters importVmTemplateParameters = new ImportVmTemplateParameters(model.getStoragePool().getId(), getEntity().getId(), Guid.Empty, model.getCluster().getSelectedItem().getId(), template);
        if (importModel.getClusterQuota().getSelectedItem() != null && importModel.getClusterQuota().getIsAvailable()) {
            importVmTemplateParameters.setQuotaId(importModel.getClusterQuota().getSelectedItem().getId());
        }
        CpuProfile cpuProfile = importModel.getCpuProfiles().getSelectedItem();
        if (cpuProfile != null) {
            importVmTemplateParameters.setCpuProfileId(cpuProfile.getId());
        }
        Map<Guid, Guid> map = new HashMap<>();
        for (DiskImage disk : template.getDiskList()) {
            map.put(disk.getId(), importModel.getDiskImportData(disk.getId()).getSelectedStorageDomain().getId());
            if (importModel.getDiskImportData(disk.getId()).getSelectedQuota() != null) {
                disk.setQuotaId(importModel.getDiskImportData(disk.getId()).getSelectedQuota().getId());
            }
        }
        importVmTemplateParameters.setImageToDestinationDomainMap(map);
        if (importData.isExistsInSystem() || importData.getClone().getEntity()) {
            if (!cloneObjectMap.containsKey(template.getId())) {
                continue;
            }
            importVmTemplateParameters.setImportAsNewEntity(true);
            importVmTemplateParameters.getVmTemplate().setName(((ImportTemplateData) cloneObjectMap.get(template.getId())).getTemplate().getName());
        }
        prms.add(importVmTemplateParameters);
    }
    model.startProgress();
    Frontend.getInstance().runMultipleAction(ActionType.ImportVmTemplate, prms, result -> {
        TemplateBackupModel templateBackupModel = (TemplateBackupModel) result.getState();
        templateBackupModel.getWindow().stopProgress();
        templateBackupModel.cancel();
        List<ActionReturnValue> retVals = result.getReturnValue();
        if (retVals != null && templateBackupModel.getSelectedItems().size() == retVals.size()) {
            StringBuilder importedTemplates = new StringBuilder();
            int counter = 0;
            boolean toShowConfirmWindow = false;
            for (VmTemplate template : templateBackupModel.getSelectedItems()) {
                if (retVals.get(counter) != null && retVals.get(counter).isValid()) {
                    // $NON-NLS-1$
                    importedTemplates.append(template.getName()).append(", ");
                    toShowConfirmWindow = true;
                }
                counter++;
            }
            if (toShowConfirmWindow) {
                ConfirmationModel confirmModel = new ConfirmationModel();
                templateBackupModel.setConfirmWindow(confirmModel);
                confirmModel.setTitle(constants.importTemplatesTitle());
                confirmModel.setHelpTag(HelpTag.import_template);
                // $NON-NLS-1$
                confirmModel.setHashName("import_template");
                confirmModel.setMessage(messages.importProcessHasBegunForTemplates(StringHelper.trimEnd(importedTemplates.toString().trim(), ',')));
                confirmModel.getCommands().add(// $NON-NLS-1$
                new UICommand(CANCEL_CONFIRMATION_COMMAND, templateBackupModel).setTitle(constants.close()).setIsDefault(true).setIsCancel(true));
            }
        }
    }, this);
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Guid(org.ovirt.engine.core.compat.Guid) ConfirmationModel(org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel) ActionParametersBase(org.ovirt.engine.core.common.action.ActionParametersBase) ImportTemplateData(org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData) VmTemplate(org.ovirt.engine.core.common.businessentities.VmTemplate) ImportVmTemplateParameters(org.ovirt.engine.core.common.action.ImportVmTemplateParameters) ActionReturnValue(org.ovirt.engine.core.common.action.ActionReturnValue) ImportTemplateModel(org.ovirt.engine.ui.uicommonweb.models.templates.ImportTemplateModel) CpuProfile(org.ovirt.engine.core.common.businessentities.profiles.CpuProfile) UICommand(org.ovirt.engine.ui.uicommonweb.UICommand) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 7 with ImportTemplateData

use of org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData in project ovirt-engine by oVirt.

the class ImportTemplateModel method initDisksStorageDomainsList.

@Override
protected void initDisksStorageDomainsList() {
    for (Object item : getItems()) {
        VmTemplate template = ((ImportTemplateData) item).getTemplate();
        for (Disk disk : template.getDiskList()) {
            DiskImage diskImage = (DiskImage) disk;
            addDiskImportData(diskImage.getId(), filteredStorageDomains, diskImage.getVolumeType(), new EntityModel(true));
        }
    }
    postInitDisks();
}
Also used : ImportTemplateData(org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData) VmTemplate(org.ovirt.engine.core.common.businessentities.VmTemplate) EntityModel(org.ovirt.engine.ui.uicommonweb.models.EntityModel) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 8 with ImportTemplateData

use of org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData in project ovirt-engine by oVirt.

the class RegisterTemplateInfoPanel method updateTabsData.

@Override
public void updateTabsData(ImportEntityData<VmTemplate> importEntityData) {
    VmTemplate vmTemplate = ((ImportTemplateData) importEntityData).getTemplate();
    templateGeneralModel.setEntity(vmTemplate);
    generalView.setMainSelectedItem(vmTemplate);
    disksTable.setRowData((List) Arrays.asList(vmTemplate.getDiskTemplateMap().values().toArray()));
    nicsTable.setRowData((List) Arrays.asList(vmTemplate.getInterfaces().toArray()));
}
Also used : ImportTemplateData(org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData) VmTemplate(org.ovirt.engine.core.common.businessentities.VmTemplate)

Aggregations

ImportTemplateData (org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData)8 VmTemplate (org.ovirt.engine.core.common.businessentities.VmTemplate)6 ArrayList (java.util.ArrayList)3 ActionParametersBase (org.ovirt.engine.core.common.action.ActionParametersBase)2 Disk (org.ovirt.engine.core.common.businessentities.storage.Disk)2 DiskImage (org.ovirt.engine.core.common.businessentities.storage.DiskImage)2 Guid (org.ovirt.engine.core.compat.Guid)2 ImageResource (com.google.gwt.resources.client.ImageResource)1 ScrollPanel (com.google.gwt.user.client.ui.ScrollPanel)1 HashMap (java.util.HashMap)1 List (java.util.List)1 ActionReturnValue (org.ovirt.engine.core.common.action.ActionReturnValue)1 ImportVmTemplateFromConfParameters (org.ovirt.engine.core.common.action.ImportVmTemplateFromConfParameters)1 ImportVmTemplateParameters (org.ovirt.engine.core.common.action.ImportVmTemplateParameters)1 Cluster (org.ovirt.engine.core.common.businessentities.Cluster)1 Quota (org.ovirt.engine.core.common.businessentities.Quota)1 CpuProfile (org.ovirt.engine.core.common.businessentities.profiles.CpuProfile)1 QueryReturnValue (org.ovirt.engine.core.common.queries.QueryReturnValue)1 SearchParameters (org.ovirt.engine.core.common.queries.SearchParameters)1 AbstractCheckboxColumn (org.ovirt.engine.ui.common.widget.table.column.AbstractCheckboxColumn)1