Alona Kaplan has uploaded a new change for review.

Change subject: code: Adding GetInterfacesAttachedToNetworkViaLabelQuery
......................................................................

code: Adding GetInterfacesAttachedToNetworkViaLabelQuery

A query that returns all the VdsNetworkInterface entities the network in
the parameter is attached to them via label.

Change-Id: Ib5701455e2b372e4b656c87e05781fe05a95f9f0
Signed-off-by: Alona Kaplan <alkap...@redhat.com>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInterfacesAttachedToNetworkViaLabelQuery.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
2 files changed, 44 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/03/27803/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInterfacesAttachedToNetworkViaLabelQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInterfacesAttachedToNetworkViaLabelQuery.java
new file mode 100644
index 0000000..802e346
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInterfacesAttachedToNetworkViaLabelQuery.java
@@ -0,0 +1,43 @@
+package org.ovirt.engine.core.bll.network.dc;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.ovirt.engine.core.bll.QueriesCommandBase;
+import org.ovirt.engine.core.common.businessentities.Entities;
+import org.ovirt.engine.core.common.businessentities.network.Network;
+import org.ovirt.engine.core.common.businessentities.network.NetworkCluster;
+import 
org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface;
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+import org.ovirt.engine.core.utils.NetworkUtils;
+
+public class GetInterfacesAttachedToNetworkViaLabelQuery<P extends 
IdQueryParameters> extends QueriesCommandBase<P> {
+    public GetInterfacesAttachedToNetworkViaLabelQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        Network network = 
getDbFacade().getNetworkDao().get(getParameters().getId());
+        List<NetworkCluster> clusters = 
getDbFacade().getNetworkClusterDao().getAllForNetwork(network.getId());
+        List<VdsNetworkInterface> labeledNics = new ArrayList<>();
+        for (NetworkCluster networkCluster : clusters) {
+            labeledNics.addAll(getDbFacade().getInterfaceDao()
+                    
.getAllInterfacesByLabelForCluster(networkCluster.getClusterId(), 
network.getLabel()));
+        }
+
+        List<VdsNetworkInterface> networkNics =
+                
getDbFacade().getInterfaceDao().getVdsInterfacesByNetworkId(network.getId());
+        Map<String, VdsNetworkInterface> labelNicsByName = 
Entities.entitiesByName(labeledNics);
+        List<VdsNetworkInterface> returnList = new ArrayList<>();
+
+        for (VdsNetworkInterface networkNic : networkNics) {
+            if 
(labelNicsByName.containsKey(NetworkUtils.stripVlan(networkNic))) {
+                returnList.add(networkNic);
+            }
+        }
+
+        getQueryReturnValue().setReturnValue(returnList);
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
index 4b0ca12..a1718bd 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
@@ -57,6 +57,7 @@
     GetAllNetworksByClusterId(VdcQueryAuthType.User),
     GetNetworksByDataCenterId(VdcQueryAuthType.User),
     GetManagementInterfaceAddressByVmId(VdcQueryAuthType.User),
+    GetInterfacesAttachedToNetworkViaLabel,
 
     // Vm Network
     GetVmInterfacesByVmId(VdcQueryAuthType.User),


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib5701455e2b372e4b656c87e05781fe05a95f9f0
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

Reply via email to