Tomas Jelinek has uploaded a new change for review. Change subject: core: sort vm nics before returning them ......................................................................
core: sort vm nics before returning them Added the sort according to nic name to GetTemplateInterfacesByTemplateIdQuery and GtVmInterfacesByVmIdQuery. Implemented on backend to make sure that each client will display the nics sorted the same way. Change-Id: I39f4638a0d312ad5188ca4758427cea7cfc1d8e8 Bug-Url: https://bugzilla.redhat.com/987957 Signed-off-by: Tomas Jelinek <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/GetTemplateInterfacesByTemplateIdQuery.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/GetVmInterfacesByVmIdQuery.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/NicComparator.java 3 files changed, 35 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/13/17313/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/GetTemplateInterfacesByTemplateIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/GetTemplateInterfacesByTemplateIdQuery.java index 231731a..a0838a0 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/GetTemplateInterfacesByTemplateIdQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/GetTemplateInterfacesByTemplateIdQuery.java @@ -1,6 +1,10 @@ package org.ovirt.engine.core.bll.network.template; +import java.util.Collections; +import java.util.List; import org.ovirt.engine.core.bll.QueriesCommandBase; +import org.ovirt.engine.core.bll.network.vm.NicComparator; +import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.queries.IdQueryParameters; public class GetTemplateInterfacesByTemplateIdQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> { @@ -10,7 +14,9 @@ @Override protected void executeQueryCommand() { - getQueryReturnValue().setReturnValue(getDbFacade().getVmNetworkInterfaceDao() - .getAllForTemplate(getParameters().getId(), getUserID(), getParameters().isFiltered())); + List<VmNetworkInterface> nics = getDbFacade().getVmNetworkInterfaceDao() + .getAllForTemplate(getParameters().getId(), getUserID(), getParameters().isFiltered()); + Collections.sort(nics, new NicComparator()); + getQueryReturnValue().setReturnValue(nics); } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/GetVmInterfacesByVmIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/GetVmInterfacesByVmIdQuery.java index b98dc27..a63f213 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/GetVmInterfacesByVmIdQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/GetVmInterfacesByVmIdQuery.java @@ -1,6 +1,9 @@ package org.ovirt.engine.core.bll.network.vm; +import java.util.Collections; +import java.util.List; import org.ovirt.engine.core.bll.QueriesCommandBase; +import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.queries.IdQueryParameters; public class GetVmInterfacesByVmIdQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> { @@ -10,8 +13,9 @@ @Override protected void executeQueryCommand() { - getQueryReturnValue().setReturnValue( - getDbFacade().getVmNetworkInterfaceDao() - .getAllForVm(getParameters().getId(), getUserID(), getParameters().isFiltered())); + List<VmNetworkInterface> nics = getDbFacade().getVmNetworkInterfaceDao() + .getAllForVm(getParameters().getId(), getUserID(), getParameters().isFiltered()); + Collections.sort(nics, new NicComparator()); + getQueryReturnValue().setReturnValue(nics); } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/NicComparator.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/NicComparator.java new file mode 100644 index 0000000..237fc3d --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/NicComparator.java @@ -0,0 +1,20 @@ +package org.ovirt.engine.core.bll.network.vm; + +import java.util.Comparator; +import org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator; +import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; + +public class NicComparator implements Comparator<VmNetworkInterface> { + + private LexoNumericComparator lexoNumeric = new LexoNumericComparator(); + + @Override + public int compare(VmNetworkInterface vmNetworkInterface1, VmNetworkInterface vmNetworkInterface2) { + if (vmNetworkInterface1 == null) { + return vmNetworkInterface2 == null ? 0 : 1; + } else if (vmNetworkInterface2 == null) { + return -1; + } + return lexoNumeric.compare(vmNetworkInterface1.getName(), vmNetworkInterface2.getName()); + } +} -- To view, visit http://gerrit.ovirt.org/17313 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I39f4638a0d312ad5188ca4758427cea7cfc1d8e8 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
