Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Render Provider/Networks subtab columns sortable
......................................................................

webadmin: Render Provider/Networks subtab columns sortable

Implemented client-side sorting for the aforementioned columns.

Change-Id: I1822a628b43c0dc539a1ad472e8862fec6e3023e
Signed-off-by: Lior Vernia <lver...@redhat.com>
---
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/NetworkComparator.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/provider/SubTabProviderNetworkView.java
3 files changed, 49 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/50/28650/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/NetworkComparator.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/NetworkComparator.java
new file mode 100644
index 0000000..290c737
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/NetworkComparator.java
@@ -0,0 +1,43 @@
+package org.ovirt.engine.ui.uicommonweb.comparators;
+
+import java.util.Comparator;
+
+import 
org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator;
+import org.ovirt.engine.core.common.businessentities.network.Network;
+import org.ovirt.engine.core.common.businessentities.network.NetworkView;
+
+public class NetworkComparator {
+
+    public static class ByName implements Comparator<Network> {
+
+        private LexoNumericComparator lexoNumeric = new 
LexoNumericComparator();
+
+        @Override
+        public int compare(Network arg0, Network arg1) {
+            return lexoNumeric.compare(arg0.getName(), arg1.getName());
+        }
+    }
+
+    public static class ByExternalId implements Comparator<Network> {
+
+        private LexoNumericComparator lexoNumeric = new 
LexoNumericComparator();
+
+        @Override
+        public int compare(Network arg0, Network arg1) {
+            String id1 = (arg0.getProvidedBy() == null) ? null : 
arg0.getProvidedBy().getExternalId();
+            String id2 = (arg1.getProvidedBy() == null) ? null : 
arg1.getProvidedBy().getExternalId();
+            return lexoNumeric.compare(id1, id2);
+        }
+    }
+
+    public static class ByDataCenter implements Comparator<NetworkView> {
+
+        private LexoNumericComparator lexoNumeric = new 
LexoNumericComparator();
+
+        @Override
+        public int compare(NetworkView arg0, NetworkView arg1) {
+            return lexoNumeric.compare(arg0.getDataCenterName(), 
arg1.getDataCenterName());
+        }
+    }
+
+}
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
index 24bb58b..26b5b58 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
@@ -1,10 +1,10 @@
 package org.ovirt.engine.ui.uicommonweb.models.providers;
 
 import org.ovirt.engine.core.common.businessentities.Provider;
-import 
org.ovirt.engine.core.common.businessentities.comparators.NameableComparator;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
+import org.ovirt.engine.ui.uicommonweb.comparators.NetworkComparator;
 import org.ovirt.engine.ui.uicommonweb.help.HelpTag;
 import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
@@ -20,7 +20,7 @@
         setHelpTag(HelpTag.networks);
         setHashName("networks"); //$NON-NLS-1$
         setDiscoverCommand(new UICommand(CMD_DISCOVER, this));
-        setComparator(new NameableComparator());
+        setComparator(new NetworkComparator.ByName());
     }
 
     public UICommand getDiscoverCommand() {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/provider/SubTabProviderNetworkView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/provider/SubTabProviderNetworkView.java
index 9377382..4a18e69 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/provider/SubTabProviderNetworkView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/provider/SubTabProviderNetworkView.java
@@ -8,6 +8,7 @@
 import org.ovirt.engine.ui.common.widget.table.column.LinkColumnWithTooltip;
 import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
+import org.ovirt.engine.ui.uicommonweb.comparators.NetworkComparator;
 import org.ovirt.engine.ui.uicommonweb.models.providers.ProviderListModel;
 import 
org.ovirt.engine.ui.uicommonweb.models.providers.ProviderNetworkListModel;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
@@ -44,6 +45,7 @@
                 return object.getName();
             }
         };
+        nameColumn.makeSortable(new NetworkComparator.ByName());
         getTable().addColumn(nameColumn, constants.nameNetwork(), "200px"); 
//$NON-NLS-1$
 
         TextColumnWithTooltip<NetworkView> externalIdColumn =
@@ -53,6 +55,7 @@
                         return object.getProvidedBy().getExternalId();
                     }
                 };
+        externalIdColumn.makeSortable(new NetworkComparator.ByExternalId());
         getTable().addColumn(externalIdColumn, 
constants.externalIdProviderNetwork(), "300px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<NetworkView> dcColumn = new 
TextColumnWithTooltip<NetworkView>() {
@@ -61,6 +64,7 @@
                 return object.getDataCenterName();
             }
         };
+        dcColumn.makeSortable(new NetworkComparator.ByDataCenter());
         getTable().addColumn(dcColumn, constants.dataCenterProviderNetwork(), 
"200px"); //$NON-NLS-1$
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<NetworkView>(constants.importNetwork()) {


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

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

Reply via email to