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