Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Fixed sorting in Cluster/Networks subtab
......................................................................

webadmin: Fixed sorting in Cluster/Networks subtab

Sorting now treats numeric subsequences in network names as such.

Change-Id: I8432b61ae79195a454eec50e5322182103f02527
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=920209
Signed-off-by: Lior Vernia <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
1 file changed, 21 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/49/13049/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
index b5ee95c..a392899 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
@@ -17,6 +17,7 @@
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.core.common.utils.LexoNumericComparator;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.NGuid;
 import org.ovirt.engine.core.compat.StringHelper;
@@ -78,10 +79,18 @@
 
     private final Comparator<ClusterNetworkModel> networkComparator =
             new Comparator<ClusterNetworkModel>() {
+                LexoNumericComparator lexoNumeric = new 
LexoNumericComparator();
+
                 @Override
-                public int compare(ClusterNetworkModel o1, ClusterNetworkModel 
o2) {
+                public int compare(ClusterNetworkModel model1, 
ClusterNetworkModel model2) {
                     // management first
-                    return o1.isManagement() ? -1 : 
o1.getNetworkName().compareTo(o2.getNetworkName());
+                    if (model1.isManagement()) {
+                        return -1;
+                    } else if (model2.isManagement()) {
+                        return 1;
+                    }
+
+                    return lexoNumeric.compare(model1.getNetworkName(), 
model2.getNetworkName());
                 }
             };
 
@@ -143,11 +152,18 @@
                 SearchableListModel searchableListModel = 
(SearchableListModel) model;
                 ArrayList<Network> newItems = (ArrayList<Network>) 
((VdcQueryReturnValue) ReturnValue).getReturnValue();
                 Collections.sort(newItems, new Comparator<Network>() {
+                    private LexoNumericComparator lexoNumeric = new 
LexoNumericComparator();
+
                     @Override
-                    public int compare(Network o1, Network o2) {
+                    public int compare(Network net1, Network net2) {
                         // management first
-                        return 
HostInterfaceListModel.ENGINE_NETWORK_NAME.equals(o1.getName()) ? -1
-                                : o1.getName().compareTo(o2.getName());
+                        if 
(net1.getName().equals(HostInterfaceListModel.ENGINE_NETWORK_NAME)) {
+                            return -1;
+                        } else if 
(net2.getName().equals(HostInterfaceListModel.ENGINE_NETWORK_NAME)) {
+                            return 1;
+                        }
+
+                        return lexoNumeric.compare(net1.getName(), 
net2.getName());
                     }
                 });
                 searchableListModel.setItems(newItems);


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

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

Reply via email to