Daniel Erez has uploaded a new change for review.

Change subject: webadmin: disks - update ScanAlignment availability
......................................................................

webadmin: disks - update ScanAlignment availability

Update ScanAlignment command availability on EntityChanged
(i.e. only when selecting a VM).

Change-Id: I2eb0a8c94b77eee0f8299384bed5a569d1ea6fb7
Signed-off-by: Daniel Erez <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java
1 file changed, 45 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/35/17235/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java
index 162db25..f1b6325 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java
@@ -191,6 +191,22 @@
         }
     }
 
+    private boolean isScanAlignmentEnabled;
+
+    public boolean getIsScanAlignmentEnabled()
+    {
+        return isScanAlignmentEnabled;
+    }
+
+    private void setIsScanAlignmentEnabled(boolean value)
+    {
+        if (isScanAlignmentEnabled != value)
+        {
+            isScanAlignmentEnabled = value;
+            onPropertyChanged(new 
PropertyChangedEventArgs("IsScanAlignmentEnabled")); //$NON-NLS-1$
+        }
+    }
+
     public boolean isExtendImageSizeEnabled() {
         return (getEntity() != null) ?
                 VdcActionUtils.CanExecute(Arrays.asList(getEntity()), 
VM.class, VdcActionType.ExtendImageSize) : false;
@@ -236,6 +252,7 @@
             getSearchCommand().execute();
             updateIsDiskHotPlugAvailable();
             updateLiveStorageMigrationEnabled();
+            updateScanAlignmentEnabled();
         }
 
         updateActionAvailability();
@@ -670,6 +687,10 @@
     private void updateGetAlignmentCommandAvailability() {
         getScanAlignmentCommand().setIsExecutionAllowed(false);
 
+        if (!getIsScanAlignmentEnabled()) {
+            return;
+        }
+
         if (getSelectedItems() == null || getSelectedItems().size() != 1) {
             return; // leave the command disabled
         }
@@ -689,24 +710,7 @@
             return; // leave the command disabled
         }
 
-        AsyncDataProvider.getDataCenterById(new AsyncQuery(this, new 
INewAsyncCallback() {
-            @Override
-            public void onSuccess(Object target, Object returnValue) {
-                VmDiskListModel model = (VmDiskListModel) target;
-                StoragePool dataCenter = (StoragePool) returnValue;
-
-                Version minClusterVersion = 
vm.getVdsGroupCompatibilityVersion();
-                Version minDcVersion = dataCenter.getcompatibility_version();
-
-                AsyncDataProvider.isCommandCompatible(new AsyncQuery(model, 
new INewAsyncCallback() {
-                    @Override
-                    public void onSuccess(Object target, Object returnValue) {
-                        VmDiskListModel model = (VmDiskListModel) target;
-                        
model.getScanAlignmentCommand().setIsExecutionAllowed((Boolean) returnValue);
-                    }
-                }), VdcActionType.GetDiskAlignment, minClusterVersion, 
minDcVersion);
-            }
-        }), vm.getStoragePoolId());
+        getScanAlignmentCommand().setIsExecutionAllowed(true);
     }
 
     @Override
@@ -796,6 +800,29 @@
         }), vm.getStoragePoolId());
     }
 
+    private void updateScanAlignmentEnabled() {
+        final VM vm = getEntity();
+
+        AsyncDataProvider.getDataCenterById(new AsyncQuery(this, new 
INewAsyncCallback() {
+            @Override
+            public void onSuccess(Object target, Object returnValue) {
+                VmDiskListModel model = (VmDiskListModel) target;
+                StoragePool dataCenter = (StoragePool) returnValue;
+
+                Version minClusterVersion = 
vm.getVdsGroupCompatibilityVersion();
+                Version minDcVersion = dataCenter.getcompatibility_version();
+
+                AsyncDataProvider.isCommandCompatible(new AsyncQuery(model, 
new INewAsyncCallback() {
+                    @Override
+                    public void onSuccess(Object target, Object returnValue) {
+                        VmDiskListModel model = (VmDiskListModel) target;
+                        model.setIsScanAlignmentEnabled((Boolean) returnValue);
+                    }
+                }), VdcActionType.GetDiskAlignment, minClusterVersion, 
minDcVersion);
+            }
+        }), vm.getStoragePoolId());
+    }
+
     protected void updateDataCenterVersion()
     {
         AsyncQuery query = new AsyncQuery(this, new INewAsyncCallback() {


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

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

Reply via email to