Daniel Erez has uploaded a new change for review.

Change subject: webadmin: MoveDiskModel - extract SD selection callback
......................................................................

webadmin: MoveDiskModel - extract SD selection callback

Extract callback of storage domain selection to a method
(for ensuring invocation on initial selection).

Change-Id: I87963e34a6df9e7c2ae6da2950afa490a7bb2afa
Bug-Url: https://bugzilla.redhat.com/1099083
Signed-off-by: Daniel Erez <de...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/MoveDiskModel.java
1 file changed, 29 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/15/28315/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/MoveDiskModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/MoveDiskModel.java
index db3106b..bf1509a 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/MoveDiskModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/MoveDiskModel.java
@@ -30,6 +30,8 @@
 
 public class MoveDiskModel extends MoveOrCopyDiskModel
 {
+    protected List<String> problematicDisksForWarning = new 
ArrayList<String>();
+
     public MoveDiskModel() {
         super();
 
@@ -77,7 +79,6 @@
         // and selected to be cold moved to a block domain (as it will cause
         // the disks to become preallocated, and it may consume considerably
         // more space on the target domain).
-        final List<String> problematicDisks = new ArrayList<String>();
         for (final DiskModel diskModel : getDisks()) {
             if (diskModel.isPluggedToRunningVm()) {
                 continue;
@@ -97,23 +98,35 @@
             
diskModel.getStorageDomain().getSelectedItemChangedEvent().addListener(new 
IEventListener() {
                 @Override
                 public void eventRaised(Event ev, Object sender, EventArgs 
args) {
-                    StorageDomain storageDomain = (StorageDomain) ((ListModel) 
sender).getSelectedItem();
-                    if (storageDomain.getStorageType().isBlockDomain()) {
-                        
problematicDisks.add(diskModel.getDisk().getDiskAlias());
-                    }
-                    else {
-                        
problematicDisks.remove(diskModel.getDisk().getDiskAlias());
-                    }
-
-                    if (!problematicDisks.isEmpty()) {
-                        
getDynamicWarning().setEntity(messages.moveDisksPreallocatedWarning(
-                                StringHelper.join(", ", 
problematicDisks.toArray()))); //$NON-NLS-1$
-                        getDynamicWarning().setIsAvailable(true);
-                    } else {
-                        getDynamicWarning().setIsAvailable(false);
-                    }
+                    updateProblematicDisk(diskModel);
                 }
             });
+            updateProblematicDisk(diskModel);
+        }
+    }
+
+    private void updateProblematicDisk(DiskModel diskModel) {
+        StorageDomain storageDomain = 
diskModel.getStorageDomain().getSelectedItem();
+        if (storageDomain == null) {
+            return;
+        }
+
+        String diskAlias = diskModel.getDisk().getDiskAlias();
+        if (storageDomain.getStorageType().isBlockDomain()) {
+            if (!problematicDisksForWarning.contains(diskAlias)) {
+                problematicDisksForWarning.add(diskAlias);
+            }
+        }
+        else {
+            problematicDisksForWarning.remove(diskAlias);
+        }
+
+        if (!problematicDisksForWarning.isEmpty()) {
+            
getDynamicWarning().setEntity(messages.moveDisksPreallocatedWarning(
+                    StringHelper.join(", ", 
problematicDisksForWarning.toArray()))); //$NON-NLS-1$
+            getDynamicWarning().setIsAvailable(true);
+        } else {
+            getDynamicWarning().setIsAvailable(false);
         }
     }
 


-- 
To view, visit http://gerrit.ovirt.org/28315
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I87963e34a6df9e7c2ae6da2950afa490a7bb2afa
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Daniel Erez <de...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to