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

Reply via email to