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