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
