Lior Vernia has uploaded a new change for review. Change subject: webadmin: Only set cluster once when opening VM dialog ......................................................................
webadmin: Only set cluster once when opening VM dialog Previously the cluster could potentially be called twice in the initialization of the dialog: once UiCommonEditorVisitor set the selected item to be the first in the collection, then if the VM belonged to another cluster the selection would change. This would cause issues due to asynchronous tasks, triggered by the selectedItemChangedEvent, returning in reversed order. This is fixed by using the new overload of ListModel.setItems(), to make sure that the selected cluster is properly selected the first time and so won't trigger dual sets of backend queries. Change-Id: I5b4dd3328f207dadb73ee93d27f084249f3f9704 Bug-Url: https://bugzilla.redhat.com/1070835 Signed-off-by: Lior Vernia <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java 1 file changed, 8 insertions(+), 15 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/32/26232/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java index dd10495..9b9b90c 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java @@ -2202,9 +2202,7 @@ dataCentersWithClusters.add(new DataCenterWithCluster(dataCenter, cluster)); } } - getDataCenterWithClustersList().setItems(dataCentersWithClusters); - - selectDataCenterWithCluster(model, selectedCluster, dataCentersWithClusters); + selectDataCenterWithCluster(selectedCluster, dataCentersWithClusters); } protected void setupDataCenterWithClusters(UnitVmModel model, @@ -2234,20 +2232,15 @@ } } } - getDataCenterWithClustersList().setItems(dataCentersWithClusters); - - selectDataCenterWithCluster(model, selectedCluster, dataCentersWithClusters); + selectDataCenterWithCluster(selectedCluster, dataCentersWithClusters); } - protected void selectDataCenterWithCluster(UnitVmModel model, - Guid selectedCluster, - List<DataCenterWithCluster> dataCentersWithClusters) { - if (selectedCluster == null) { - getDataCenterWithClustersList().setSelectedItem(Linq.firstOrDefault(dataCentersWithClusters)); - } else { - model.getDataCenterWithClustersList().setSelectedItem(Linq.firstOrDefault(dataCentersWithClusters, - new Linq.DataCenterWithClusterAccordingClusterPredicate(selectedCluster))); - } + protected void selectDataCenterWithCluster(Guid selectedCluster, List<DataCenterWithCluster> dataCentersWithClusters) { + DataCenterWithCluster selectedDataCenterWithCluster = + (selectedCluster == null) ? Linq.firstOrDefault(dataCentersWithClusters) + : Linq.firstOrDefault(dataCentersWithClusters, + new Linq.DataCenterWithClusterAccordingClusterPredicate(selectedCluster)); + getDataCenterWithClustersList().setItems(dataCentersWithClusters, selectedDataCenterWithCluster); } private StoragePool getDataCenterAccordingSystemTree(UnitVmModel model, List<StoragePool> list) { -- To view, visit http://gerrit.ovirt.org/26232 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5b4dd3328f207dadb73ee93d27f084249f3f9704 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.4 Gerrit-Owner: Lior Vernia <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
