Kanagaraj M has uploaded a new change for review. Change subject: webadmin: Fixing refresh issues in Cluster Services ......................................................................
webadmin: Fixing refresh issues in Cluster Services Empty services tab will be shown if the selected cluster does not have any online hosts. Host list in the Cluster services tab will be refreshed only when selecting a different cluster. Change-Id: I4247e6a0814ea73a7b86910fed8a24b9bccea02c Bug-Url: https://bugzilla.redhat.com/885624 Bug-Url: https://bugzilla.redhat.com/885679 Signed-off-by: Kanagaraj M <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterServiceModel.java 1 file changed, 38 insertions(+), 22 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/58/9858/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterServiceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterServiceModel.java index 1b7bcdb..c5df80c 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterServiceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterServiceModel.java @@ -9,7 +9,6 @@ import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeAdvancedDetails; import org.ovirt.engine.core.common.businessentities.gluster.ServiceInfo; import org.ovirt.engine.core.common.businessentities.gluster.ServiceType; -import org.ovirt.engine.core.common.utils.ListUtils; import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.INewAsyncCallback; import org.ovirt.engine.ui.uicommonweb.UICommand; @@ -93,10 +92,7 @@ setServiceList(new ListModel()); setHostList(new ListModel()); setServiceTypeList(new ListModel()); - ArrayList<ServiceType> serviceTypes = new ArrayList<ServiceType>(); - serviceTypes.add(null); - serviceTypes.addAll(Arrays.asList(ServiceType.values())); - getServiceTypeList().setItems(serviceTypes); + updateServiceTypeList(); setFilterServicesCommand(new UICommand("FilterServices", this)); //$NON-NLS-1$ setClearFilterServicesCommand(new UICommand("ClearFilterServices", this)); //$NON-NLS-1$ } @@ -105,36 +101,51 @@ protected void OnEntityChanged() { super.OnEntityChanged(); if (getEntity() != null) { - updateHostList(); updateServiceList(); + updateHostList(); } } private void updateHostList() { + boolean refreshNeeded = false; + List<VDS> hostList = (List<VDS>) getHostList().getItems(); + if (hostList != null && hostList.size() > 1) { + for(VDS vds : hostList) { + if (vds != null && !vds.getvds_group_name().equals(getEntity().getname())) { + refreshNeeded = true; + break; + } + } + } + else { + refreshNeeded = true; + } + + if (!refreshNeeded) { + return; + } + + updateServiceTypeList(); + AsyncQuery asyncQuery = new AsyncQuery(); asyncQuery.setModel(this); asyncQuery.asyncCallback = new INewAsyncCallback() { @Override public void OnSuccess(Object model, Object result) { - List<VDS> hostListNew = (List<VDS>) result; - List<VDS> hostListOld = new ArrayList<VDS>(); - - if (getHostList().getItems() != null) { - hostListOld = new ArrayList((List<VDS>) getHostList().getItems()); - } - - if (hostListOld.size() > 0) { - hostListOld.remove(0); - } - - if (!ListUtils.listsEqual(hostListNew, hostListOld)) { - hostListNew.add(0, null); - getHostList().setItems(hostListNew); - } + List<VDS> hostList = (List<VDS>) result; + hostList.add(0, null); + getHostList().setItems(hostList); } }; AsyncDataProvider.GetHostListByCluster(asyncQuery, getEntity().getname()); + } + + private void updateServiceTypeList() { + ArrayList<ServiceType> serviceTypes = new ArrayList<ServiceType>(); + serviceTypes.add(null); + serviceTypes.addAll(Arrays.asList(ServiceType.values())); + getServiceTypeList().setItems(serviceTypes); } private void updateServiceList() { @@ -145,7 +156,12 @@ public void OnSuccess(Object model, Object result) { GlusterVolumeAdvancedDetails details = (GlusterVolumeAdvancedDetails) result; - setActualServiceList(details.getServiceInfo()); + if (details.getServiceInfo() != null) { + setActualServiceList(details.getServiceInfo()); + } + else { + setActualServiceList(new ArrayList<ServiceInfo>()); + } filterServices(); } }; -- To view, visit http://gerrit.ovirt.org/9858 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4247e6a0814ea73a7b86910fed8a24b9bccea02c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Kanagaraj M <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
