Maor Lipchuk has uploaded a new change for review. Change subject: webadmin: Add a warning when importing a Storage Domain ......................................................................
webadmin: Add a warning when importing a Storage Domain Adding a warnning when importing a Storage Domain which is already attached. The warnning should be applied for File Domain and Block Domain as well Change-Id: Ib73b42baadc1c9f01d471dbac1e94d7793d30ab5 Bug-Url: https://bugzilla.redhat.com/1138126 Signed-off-by: Maor Lipchuk <mlipc...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDataCenterListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java 2 files changed, 66 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/26/35226/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDataCenterListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDataCenterListModel.java index 0a61164..02600ed 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDataCenterListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDataCenterListModel.java @@ -426,6 +426,8 @@ model.setTitle(ConstantsManager.getInstance().getConstants().storageDomainsAttachedToDataCenterWarningTitle()); model.setMessage(ConstantsManager.getInstance().getConstants().storageDomainsAttachedToDataCenterWarningMessage()); + model.setHelpTag(HelpTag.import_storage_domain_confirmation); + model.setHashName("import_storage_domain_confirmation"); //$NON-NLS-1$ model.getLatch().setIsAvailable(true); model.getLatch().setIsChangable(true); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java index a816f90..7dec881 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java @@ -1903,7 +1903,9 @@ private void importFileStorage(TaskContext context) { - this.context = context; + if (context != null) { + this.context = context; + } ArrayList<Object> data = (ArrayList<Object>) context.getState(); StorageModel model = (StorageModel) getWindow(); @@ -1919,7 +1921,9 @@ private void importSanStorage(final TaskContext context) { - this.context = context; + if (context != null) { + this.context = context; + } ArrayList<Object> data = (ArrayList<Object>) context.getState(); StorageModel model = (StorageModel) getWindow(); @@ -2161,6 +2165,56 @@ new Object[] {context, isSucceeded, model, message}); } + private void checkDomainAttachedToDc(final TaskContext context, final String commandName) { + final StorageModel storageModel = (StorageModel) getWindow(); + StoragePool storagePool = storageModel.getDataCenter().getSelectedItem(); + + + if (storagePool == null) { + importFileStorage(context); + return; + } + + AsyncDataProvider.getInstance().getStorageDomainsWithAttachedStoragePoolGuid( + new AsyncQuery(this, new INewAsyncCallback() { + @Override + public void onSuccess(Object target, Object returnValue) { + StorageListModel StorageListModel = (StorageListModel) target; + List<StorageDomainStatic> attachedStorageDomains = (List<StorageDomainStatic>) returnValue; + if (!attachedStorageDomains.isEmpty()) { + ConfirmationModel model = new ConfirmationModel(); + setConfirmWindow(model); + + model.setTitle(ConstantsManager.getInstance().getConstants().storageDomainsAttachedToDataCenterWarningTitle()); + model.setMessage(ConstantsManager.getInstance().getConstants().storageDomainsAttachedToDataCenterWarningMessage()); + model.setHelpTag(HelpTag.import_storage_domain_confirmation); + model.setHashName("import_storage_domain_confirmation"); //$NON-NLS-1$ + + List<String> stoageDomainNames = new ArrayList<String>(); + for (StorageDomainStatic domain : attachedStorageDomains) { + stoageDomainNames.add(domain.getStorageName()); + } + model.setItems(stoageDomainNames); + storageModel.setWindow(model); + + UICommand maintenance = new UICommand(commandName, StorageListModel); //$NON-NLS-1$ + maintenance.setTitle(ConstantsManager.getInstance().getConstants().ok()); + maintenance.setIsDefault(true); + model.getCommands().add(maintenance); + + UICommand cancel = new UICommand("Cancel", StorageListModel); //$NON-NLS-1$ + cancel.setTitle(ConstantsManager.getInstance().getConstants().cancel()); + cancel.setIsCancel(true); + model.getCommands().add(cancel); + } else { + ArrayList<Object> data = (ArrayList<Object>) context.getState(); + data.set(0, commandName); + Task.create(StorageListModel, data).run(); + } + } + }), new ArrayList<StorageDomain>(Arrays.asList(storageModel.getStorage())), storagePool); + } + @Override public void run(TaskContext context) @@ -2188,12 +2242,16 @@ { saveSanStorage(context); } - else if ("ImportFile".equals(key)) //$NON-NLS-1$ - { + else if ("ImportFile".equals(key)) { //$NON-NLS-1$ + checkDomainAttachedToDc(context, "OnImportFile"); //$NON-NLS-1$ + } + else if ("ImportSan".equals(key)) { //$NON-NLS-1$ + checkDomainAttachedToDc(context, "OnImportSan"); //$NON-NLS-1$ + } + else if ("OnImportFile".equals(key)) { //$NON-NLS-1$ importFileStorage(context); } - else if ("ImportSan".equals(key)) //$NON-NLS-1$ - { + else if ("OnImportSan".equals(key)) { //$NON-NLS-1$ importSanStorage(context); } else if ("Finish".equals(key)) //$NON-NLS-1$ -- To view, visit http://gerrit.ovirt.org/35226 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib73b42baadc1c9f01d471dbac1e94d7793d30ab5 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Maor Lipchuk <mlipc...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches