Arik Hadas has uploaded a new change for review.

Change subject: webadmin: represent occupied name on import differently
......................................................................

webadmin: represent occupied name on import differently

I tried to add a generic field for errors on ImportVmData that will also
indicate if the name of the VM we're about to import already exists in
the system. However, it is problematic so it is better to add another
field for it.

Change-Id: I4411e79f7018d5b2c1a8d8ac9d3b0b79de26a4e3
Signed-off-by: Arik Hadas <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmData.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmFromExportDomainPopupView.java
3 files changed, 24 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/40529/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmData.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmData.java
index 5f8276e..dc8e782 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmData.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmData.java
@@ -14,6 +14,7 @@
     private EntityModel<Boolean> collapseSnapshots;
     private String warning;
     private String error;
+    private boolean nameExistsInTheSystem;
 
     public ImportVmData(VM vm) {
         setCollapseSnapshots(new EntityModel<>(true));
@@ -89,4 +90,12 @@
     public void setError(String error) {
         this.error = error;
     }
+
+    public boolean isNameExistsInTheSystem() {
+        return nameExistsInTheSystem;
+    }
+
+    public void setNameExistsInTheSystem(boolean nameExistsInTheSystem) {
+        this.nameExistsInTheSystem = nameExistsInTheSystem;
+    }
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java
index e8c0fdf..d9b562f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java
@@ -656,9 +656,7 @@
                                 vmData.getClone().setIsChangable(false);
                             }
 
-                            if (!vmData.getClone().getEntity() && 
existingNames.contains(vm.getName())) {
-                                
vmData.setError(ConstantsManager.getInstance().getConstants().nameMustBeUniqueInvalidReason());
-                            }
+                            
vmData.setNameExistsInTheSystem(!vmData.getClone().getEntity() && 
existingNames.contains(vm.getName()));
 
                             vmDataList.add(vmData);
                         }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmFromExportDomainPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmFromExportDomainPopupView.java
index 3340816..65c3d3d 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmFromExportDomainPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmFromExportDomainPopupView.java
@@ -39,6 +39,7 @@
 import 
org.ovirt.engine.ui.uicommonweb.models.vms.ImportVmFromExportDomainModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.VmAppListModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.VmImportGeneralModel;
+import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.IEventListener;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
@@ -241,7 +242,7 @@
             @Override
             public ImageResource getValue(Object object) {
                 ImportVmData importVmData = ((ImportVmData) object);
-                if (!importVmData.getClone().getEntity() && 
importVmData.getError() != null) {
+                if (!canImportVm(importVmData)) {
                     return resources.errorImage();
                 }
                 if (importVmData.getWarning() != null) {
@@ -253,9 +254,20 @@
             @Override
             public SafeHtml getTooltip(Object object) {
                 ImportVmData importVmData = ((ImportVmData) object);
-                String problem = !importVmData.getClone().getEntity() && 
importVmData.getError() != null ? importVmData.getError() : 
importVmData.getWarning();
+                String problem = getErrorOrWarning(importVmData);
                 return problem != null ? 
SafeHtmlUtils.fromSafeConstant(problem) : null;
             }
+
+            private String getErrorOrWarning(ImportVmData data) {
+                if (data.isNameExistsInTheSystem()) {
+                    return 
ConstantsManager.getInstance().getConstants().nameMustBeUniqueInvalidReason();
+                }
+                return data.getError() != null ? data.getError() : 
data.getWarning();
+            }
+
+            private boolean canImportVm(ImportVmData data) {
+                return !data.isNameExistsInTheSystem() && data.getError() == 
null;
+            }
         };
         table.addColumn(isProblematicImportVmColumn, constants.empty(), 
"20px"); //$NON-NLS-1$
 


-- 
To view, visit https://gerrit.ovirt.org/40529
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4411e79f7018d5b2c1a8d8ac9d3b0b79de26a4e3
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Arik Hadas <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to