Alona Kaplan has uploaded a new change for review. Change subject: webadmin: sort vnic profiles tabs ......................................................................
webadmin: sort vnic profiles tabs Vnic profile tabs (Main and Network->VnicProfile) should be sorted according to- primary- network name, secondary- profile name. Added a new VnicProfileComparator to Linq. Change-Id: I13a13c881bca54daeca97f7bd5bae74e5b37bb90 Signed-off-by: Alona Kaplan <alkap...@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/networks/NetworkProfileListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/profiles/VnicProfileListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ProfileBehavior.java 4 files changed, 41 insertions(+), 20 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/74/17574/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 434c568..c375e8d 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 @@ -34,6 +34,7 @@ import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.NetworkInterface; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; +import org.ovirt.engine.core.common.businessentities.network.VnicProfileView; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.compat.StringHelper; import org.ovirt.engine.core.compat.Version; @@ -1103,6 +1104,25 @@ } } + public final static class VnicProfileViewComparator implements Comparator<VnicProfileView>, Serializable { + + private static final long serialVersionUID = 990203400356561587L; + private LexoNumericComparator lexoNumeric = new LexoNumericComparator(); + + @Override + public int compare(VnicProfileView vnicProfile1, VnicProfileView vnicProfile2) { + if (vnicProfile1 == null) { + return vnicProfile2 == null ? 0 : 1; + } else if (vnicProfile2 == null) { + return -1; + } + + int retVal = lexoNumeric.compare(vnicProfile1.getNetworkName(), vnicProfile2.getNetworkName()); + + return retVal == 0 ? lexoNumeric.compare(vnicProfile1.getName(), vnicProfile2.getName()) : retVal; + } + } + public final static class ClusterNetworkModelComparator implements Comparator<ClusterNetworkModel>, Serializable { private static final long serialVersionUID = -8571840939180248617L; diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkProfileListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkProfileListModel.java index 934115f..f1d9c99 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkProfileListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkProfileListModel.java @@ -1,6 +1,7 @@ package org.ovirt.engine.ui.uicommonweb.models.networks; import java.util.Arrays; +import java.util.Collections; import java.util.List; import org.ovirt.engine.core.common.businessentities.network.NetworkView; @@ -8,6 +9,7 @@ import org.ovirt.engine.core.compat.StringHelper; import org.ovirt.engine.ui.frontend.AsyncQuery; 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.uicommonweb.models.SearchableListModel; @@ -198,6 +200,14 @@ } @Override + public void setItems(Iterable value) { + if (value != null) { + Collections.sort((List<VnicProfileView>) value, new Linq.VnicProfileViewComparator()); + } + super.setItems(value); + } + + @Override public void executeCommand(UICommand command) { super.executeCommand(command); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/profiles/VnicProfileListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/profiles/VnicProfileListModel.java index 85735fb..ab18c9e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/profiles/VnicProfileListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/profiles/VnicProfileListModel.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import org.ovirt.engine.core.common.businessentities.StoragePool; @@ -305,6 +306,14 @@ } @Override + public void setItems(Iterable value) { + if (value != null) { + Collections.sort((List<VnicProfileView>) value, new Linq.VnicProfileViewComparator()); + } + super.setItems(value); + } + + @Override protected String getListName() { return "VnicProfileListModel"; //$NON-NLS-1$ } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ProfileBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ProfileBehavior.java index 23c0252..d9e3ea9 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ProfileBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ProfileBehavior.java @@ -2,10 +2,8 @@ import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import java.util.List; -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.VmNetworkInterface; import org.ovirt.engine.core.common.businessentities.network.VnicProfileView; @@ -13,6 +11,7 @@ import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.IAsyncConverter; import org.ovirt.engine.ui.frontend.INewAsyncCallback; +import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.ListModel; @@ -51,24 +50,7 @@ vnicProfiles.add(null); } - Collections.sort(vnicProfiles, new Comparator<VnicProfileView>() { - - private LexoNumericComparator lexoNumeric = new LexoNumericComparator(); - - @Override - public int compare(VnicProfileView profile1, VnicProfileView profile2) { - if (profile1 == null) { - return profile2 == null ? 0 : 1; - } else if (profile2 == null) { - return -1; - } - - int retVal = lexoNumeric.compare(profile1.getNetworkName(), profile2.getNetworkName()); - - return retVal == 0 ? lexoNumeric.compare(profile1.getName(), profile2.getName()) : retVal; - } - - }); + Collections.sort(vnicProfiles, new Linq.VnicProfileViewComparator()); return vnicProfiles; } -- To view, visit http://gerrit.ovirt.org/17574 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I13a13c881bca54daeca97f7bd5bae74e5b37bb90 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <alkap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches