Gilad Chaplik has uploaded a new change for review. Change subject: webadmin: allow import and clone ......................................................................
webadmin: allow import and clone Adding a static checkbox to the import dialog, That allows importing and cloning a vm/template, even if if doesn't exist in the system (which wasn't available till now, you were able to clone iff the vm/template existed) Change-Id: If395c2659b5fa578effba29c102461dd7d269ead Bug-Url: https://bugzilla.redhat.com/862303 Signed-off-by: Gilad Chaplik <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.ui.xml 8 files changed, 42 insertions(+), 8 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/56/8456/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java index db2ef60..b4c47a3 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java @@ -213,7 +213,8 @@ improtVmTemplateParameters.setImageToDestinationDomainMap(map); - if (importModel.isObjectInSetup(template)) { + if (importModel.isObjectInSetup(template) || + (Boolean) importModel.getCloneAll().getEntity()) { if (!cloneObjectMap.containsKey(template.getId())) { continue; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java index 7b50e5c..79e2bd0 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java @@ -212,7 +212,7 @@ objectsInSetupMap = new HashMap<Guid, Object>(); for (Object object : (ArrayList<Object>) importModel.getItems()) { - if (importModel.isObjectInSetup(object)) { + if (importModel.isObjectInSetup(object) || (Boolean) importModel.getCloneAll().getEntity()) { objectsInSetupMap.put((Guid) ((IVdcQueryable) object).getQueryableId(), object); } } @@ -228,7 +228,7 @@ ImportCloneModel entity = new ImportCloneModel(); Object object = objectsInSetupMap.values().toArray()[0]; entity.setEntity(object); - entity.setTitle("Import Conflict"); //$NON-NLS-1$ + entity.setTitle(ConstantsManager.getInstance().getConstants().importConflictTitle()); entity.setHashName("import_conflict"); //$NON-NLS-1$ UICommand command = new UICommand("onClone", this); //$NON-NLS-1$ command.setTitle(ConstantsManager.getInstance().getConstants().ok()); @@ -375,7 +375,8 @@ prm.setImageToDestinationDomainMap(map); - if (importModel.isObjectInSetup(vm)) { + if (importModel.isObjectInSetup(vm) || + (Boolean) importModel.getCloneAll().getEntity()) { if (!cloneObjectMap.containsKey(vm.getId())) { continue; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java index 687926d..c3a65be 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java @@ -78,7 +78,10 @@ for (VmTemplate template : vmtList) { alreadyInSystem.put(template.getId(), template); } - + if (vmtList.size() == list.size()) { + getCloneAll().setEntity(true); + getCloneAll().setIsChangable(false); + } ImportTemplateModel.super.setSuperItems(value); } })); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java index 64d47a0..0e100ec 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java @@ -64,6 +64,16 @@ private final Map<Guid, List<Disk>> templateDiskMap = new HashMap<Guid, List<Disk>>(); private final Map<Guid, ImportData> diskImportDataMap = new HashMap<Guid, ImportData>(); + private EntityModel cloneAll; + + public EntityModel getCloneAll() { + return cloneAll; + } + + public void setCloneAll(EntityModel cloneAll) { + this.cloneAll = cloneAll; + } + public storage_pool getStoragePool() { return storagePool; } @@ -173,6 +183,8 @@ setCluster(new ListModel()); setClusterQuota(new ListModel()); getClusterQuota().setIsAvailable(false); + setCloneAll(new EntityModel()); + getCloneAll().setEntity(false); } public void init(Guid storageDomainId) { @@ -574,7 +586,10 @@ for (VM vm : vmList) { alreadyInSystemVmMap.put(vm.getId(), vm); } - + if (vmList.size() == list.size()) { + getCloneAll().setEntity(true); + getCloneAll().setIsChangable(false); + } ImportVmModel.super.setItems(value); } })); diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java index 17ef8ee..e8bf700 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java @@ -1548,4 +1548,7 @@ @DefaultStringValue("Missing Quota for the selected Cluster, Please define proper Quota") String missingQuotaClusterEnforceMode(); + + @DefaultStringValue("Import Conflict") + String importConflictTitle(); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java index ba52f40..973d1c1 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java @@ -725,6 +725,9 @@ @DefaultStringValue("Collapse All Snapshots") String importVm_collapseSnapshots(); + @DefaultStringValue("Clone All") + String importVm_CloneAll(); + @DefaultStringValue("Expand All") String treeExpandAll(); @@ -2210,10 +2213,10 @@ @DefaultStringValue("Clone") String clone(); - @DefaultStringValue("There is already a VM(s) with the same name") + @DefaultStringValue("Please select a name for the cloned VM(s)") String sameVmNameExists(); - @DefaultStringValue("There is already a Template(s) with the same name") + @DefaultStringValue("Please select a name for the cloned Template(s)") String sameTemplateNameExists(); @DefaultStringValue("[No jobs available]") diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java index 2232d85..8c46619 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java @@ -97,6 +97,10 @@ @Path(value = "collapseSnapshots.entity") EntityModelCheckBoxEditor collapseSnapshotEditor; + @UiField(provided = true) + @Path(value = "cloneAll.entity") + EntityModelCheckBoxEditor cloneAllEditor; + @UiField SplitLayoutPanel splitLayoutPanel; @@ -166,6 +170,7 @@ private void addStyles() { collapseSnapshotEditor.addContentWidgetStyleName(style.collapseEditor()); + cloneAllEditor.addContentWidgetStyleName(style.collapseEditor()); } private void initSubTabLayoutPanel() { @@ -541,6 +546,7 @@ private void initCheckboxes() { collapseSnapshotEditor = new EntityModelCheckBoxEditor(Align.RIGHT); + cloneAllEditor = new EntityModelCheckBoxEditor(Align.RIGHT); } private void localize(ApplicationConstants constants) { @@ -548,6 +554,7 @@ destClusterQuotaEditor.setLabel(constants.importVm_destClusterQuota()); destStorageEditor.setLabel(constants.defaultStorage()); collapseSnapshotEditor.setLabel(constants.importVm_collapseSnapshots()); + cloneAllEditor.setLabel(constants.importVm_CloneAll()); } @SuppressWarnings("unchecked") diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.ui.xml index 752896c..3bd21b7 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.ui.xml @@ -88,6 +88,7 @@ <g:Image ui:field="image" resource='{resources.alertImage}' addStyleNames="{style.imageStyle}" /> <e:EntityModelCheckBoxEditor ui:field="collapseSnapshotEditor" /> </g:HorizontalPanel> + <e:EntityModelCheckBoxEditor ui:field="cloneAllEditor" /> </g:VerticalPanel> </g:HorizontalPanel> <g:Label ui:field="message" addStyleNames="{style.labelStyle}" /> -- To view, visit http://gerrit.ovirt.org/8456 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If395c2659b5fa578effba29c102461dd7d269ead Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Gilad Chaplik <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
