Alissa Bonas has uploaded a new change for review.

Change subject: webadmin: fix tree view items sorting
......................................................................

webadmin: fix tree view items sorting

Fixed items in the left tree being not sorted under each DC.
The fix applies to: storage domains, networks and clusters.

Change-Id: Icea17fd037ea4c97cc9a9976eda869b73e489f21
Bug-Url: https://bugzilla.redhat.com/1045380
Signed-off-by: Alissa Bonas <abo...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
2 files changed, 29 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/77/23077/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
index b746471..4e034c7 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
@@ -1153,6 +1153,26 @@
 
     }
 
+    public final static class StorageDomainComparator implements 
Comparator<StorageDomain>, Serializable {
+        private static final long serialVersionUID = 990203400356561587L;
+        private LexoNumericComparator lexoNumeric = new 
LexoNumericComparator();
+
+        @Override
+        public int compare(StorageDomain domain1, StorageDomain domain2) {
+            return lexoNumeric.compare(domain1.getName(), domain2.getName());
+        }
+    }
+
+    public final static class VDSGroupComparator implements 
Comparator<VDSGroup>, Serializable {
+        private static final long serialVersionUID = 990203400356561587L;
+        private LexoNumericComparator lexoNumeric = new 
LexoNumericComparator();
+
+        @Override
+        public int compare(VDSGroup cluster1, VDSGroup cluster2) {
+            return lexoNumeric.compare(cluster1.getName(), cluster2.getName());
+        }
+    }
+
     public final static class NetworkComparator implements 
Comparator<Network>, Serializable {
 
         private static final long serialVersionUID = 990203400356561587L;
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
index 6b56bca..e43c134 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
@@ -2,6 +2,7 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -22,6 +23,7 @@
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
+import org.ovirt.engine.ui.uicommonweb.Linq;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
@@ -448,6 +450,8 @@
 
             if (storages != null && storages.size() > 0)
             {
+                //sort by name first
+                Collections.sort(storages, new Linq.StorageDomainComparator());
                 for (StorageDomain storage : storages)
                 {
                     SystemTreeItemModel storageItem = new 
SystemTreeItemModel();
@@ -469,6 +473,8 @@
             List<Network> dcNetworks = 
getNetworkMap().get(getDataCenters().get(count).getId());
             if (dcNetworks != null)
             {
+                //sort by name first
+                Collections.sort(dcNetworks, new Linq.NetworkComparator());
                 for (Network network : dcNetworks)
                 {
                     SystemTreeItemModel networkItem = new 
SystemTreeItemModel();
@@ -496,9 +502,10 @@
 
             if 
(getClusterMap().containsKey(getDataCenters().get(count).getId()))
             {
-                for (VDSGroup cluster : 
getClusterMap().get(getDataCenters().get(count).getId()))
+                List<VDSGroup> clusters = 
getClusterMap().get(getDataCenters().get(count).getId());
+                Collections.sort(clusters, new Linq.VDSGroupComparator());
+                for (VDSGroup cluster : clusters)
                 {
-
                     SystemTreeItemModel clusterItem = new 
SystemTreeItemModel();
                     clusterItem.setType(cluster.supportsGlusterService() ? 
SystemTreeItemType.Cluster_Gluster
                             : SystemTreeItemType.Cluster);


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icea17fd037ea4c97cc9a9976eda869b73e489f21
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alissa Bonas <abo...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to