Search in sources :

Example 1 with ImportTemplateModel

use of org.ovirt.engine.ui.uicommonweb.models.templates.ImportTemplateModel 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 2 with ImportTemplateModel

use of org.ovirt.engine.ui.uicommonweb.models.templates.ImportTemplateModel in project ovirt-engine by oVirt.

the class TemplateBackupModel method restore.

@Override
protected void restore() {
    if (getWindow() != null) {
        return;
    }
    if (!validateSingleArchitecture()) {
        return;
    }
    ImportTemplateModel model = importModelProvider.get();
    model.setEntity(getEntity().getId());
    setWindow(model);
    model.startProgress();
    model.setTitle(ConstantsManager.getInstance().getConstants().importTemplatesTitle());
    // $NON-NLS-1$
    model.getCommands().add(UICommand.createDefaultOkUiCommand("OnRestore", this));
    // $NON-NLS-1$);
    model.getCommands().add(UICommand.createCancelUiCommand(CANCEL_COMMAND, this));
    model.init(getSelectedItems(), getEntity().getId());
    model.setTargetArchitecture(getArchitectureFromItem(getSelectedItems().get(0)));
    // Add 'Close' command
    model.setCloseCommand(// $NON-NLS-1$
    new UICommand(CANCEL_COMMAND, this).setTitle(ConstantsManager.getInstance().getConstants().close()).setIsDefault(true).setIsCancel(true));
    ((TemplateImportDiskListModel) ((ImportTemplateModel) getWindow()).getImportDiskListModel()).setExtendedItems(extendedItems);
}
Also used : ImportTemplateModel(org.ovirt.engine.ui.uicommonweb.models.templates.ImportTemplateModel) UICommand(org.ovirt.engine.ui.uicommonweb.UICommand) TemplateImportDiskListModel(org.ovirt.engine.ui.uicommonweb.models.templates.TemplateImportDiskListModel)

Aggregations

UICommand (org.ovirt.engine.ui.uicommonweb.UICommand)2 ImportTemplateModel (org.ovirt.engine.ui.uicommonweb.models.templates.ImportTemplateModel)2 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 ActionParametersBase (org.ovirt.engine.core.common.action.ActionParametersBase)1 ActionReturnValue (org.ovirt.engine.core.common.action.ActionReturnValue)1 ImportVmTemplateParameters (org.ovirt.engine.core.common.action.ImportVmTemplateParameters)1 VmTemplate (org.ovirt.engine.core.common.businessentities.VmTemplate)1 CpuProfile (org.ovirt.engine.core.common.businessentities.profiles.CpuProfile)1 DiskImage (org.ovirt.engine.core.common.businessentities.storage.DiskImage)1 Guid (org.ovirt.engine.core.compat.Guid)1 ConfirmationModel (org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel)1 TemplateImportDiskListModel (org.ovirt.engine.ui.uicommonweb.models.templates.TemplateImportDiskListModel)1 ImportTemplateData (org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData)1