Mike Kolesnik has uploaded a new change for review.

Change subject: engine: Added query for all networks from provider
......................................................................

engine: Added query for all networks from provider

Added a query to retrieve all the networks that are provided by an
external provider, by it's ID.

Change-Id: I48ec0a3eb15fbe29a4b0ff7131ffb8b3a85bce38
Signed-off-by: Mike Kolesnik <mkole...@redhat.com>
---
M backend/manager/dbscripts/network_sp.sql
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllNetworksForProviderQuery.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkDaoHibernateImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDao.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
7 files changed, 67 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/09/11109/1

diff --git a/backend/manager/dbscripts/network_sp.sql 
b/backend/manager/dbscripts/network_sp.sql
index 369a742..a7560ee 100644
--- a/backend/manager/dbscripts/network_sp.sql
+++ b/backend/manager/dbscripts/network_sp.sql
@@ -220,6 +220,20 @@
 
 
 
+Create or replace FUNCTION GetAllNetworksByNetworkProviderId(v_id UUID)
+RETURNS SETOF network
+AS $procedure$
+BEGIN
+    RETURN QUERY
+    SELECT *
+    FROM   network
+    WHERE  provided_by = v_id;
+END; $procedure$
+LANGUAGE plpgsql;
+
+
+
+
 --The GetByFK stored procedure cannot be created because the [network] table 
doesn't have at least one foreign key column or the foreign keys are also 
primary keys.
 
 ----------------------------------------------------------------
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllNetworksForProviderQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllNetworksForProviderQuery.java
new file mode 100644
index 0000000..0598198
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllNetworksForProviderQuery.java
@@ -0,0 +1,16 @@
+package org.ovirt.engine.core.bll.provider;
+
+import org.ovirt.engine.core.bll.QueriesCommandBase;
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+
+public class GetAllNetworksForProviderQuery<P extends IdQueryParameters> 
extends QueriesCommandBase<P> {
+
+    public GetAllNetworksForProviderQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        
setReturnValue(getDbFacade().getNetworkDao().getAllForProvider(getParameters().getId()));
+    }
+}
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 09eb39e..15b9229 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
@@ -295,6 +295,7 @@
 
     // Providers
     GetAllProviders,
+    GetAllNetworksForProvider,
 
     // Default type instead of having to null check
     Unknown(VdcQueryAuthType.User);
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkDaoHibernateImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkDaoHibernateImpl.java
index f4a9fd3..65cd631 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkDaoHibernateImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkDaoHibernateImpl.java
@@ -51,4 +51,9 @@
     public List<Network> getAllForDataCenter(Guid id, Guid userID, boolean 
isFiltered) {
         throw new NotImplementedException();
     }
+
+    @Override
+    public List<Network> getAllForProvider(Guid id) {
+        throw new NotImplementedException();
+    }
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDao.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDao.java
index 7760409..c78cca3 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDao.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDao.java
@@ -93,4 +93,13 @@
      * @return the list of networks
      */
     List<Network> getAllForCluster(Guid id, Guid userID, boolean isFiltered);
+
+    /**
+     * Retrieves all networks for the given provider.
+     *
+     * @param id
+     *            the provider's ID
+     * @return the list of networks
+     */
+    List<Network> getAllForProvider(Guid id);
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
index c3d56ba..f0c26a3 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
@@ -92,6 +92,13 @@
     }
 
     @Override
+    public List<Network> getAllForProvider(Guid id) {
+        return 
getCallsHandler().executeReadList("GetAllNetworksByNetworkProviderId",
+                NetworkRowMapper.instance,
+                createIdParameterMapper(id));
+    }
+
+    @Override
     protected MapSqlParameterSource createIdParameterMapper(Guid id) {
         return getCustomMapSqlParameterSource().addValue("id", id);
     }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
index e273f7b..7f08da2 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
@@ -20,6 +20,7 @@
     private Guid cluster;
     private Guid datacenter;
     private Network new_net;
+    private Guid provider = new Guid("1115c1c6-cb15-4832-b2a4-023770607111");
     final static private String EXISTING_NETWORK_NAME = "engine";
 
     @Override
@@ -261,6 +262,20 @@
     }
 
     /**
+     * Ensures the right set of networks are returned for the given provider.
+     */
+    @Test
+    public void testGetAllForProvider() {
+        List<Network> result = dao.getAllForProvider(provider);
+
+        assertNotNull(result);
+        assertFalse(result.isEmpty());
+        for (Network network : result) {
+            assertEquals(provider, network.getProvidedBy());
+        }
+    }
+
+    /**
      * Ensures that saving a network works as expected.
      */
     @Test


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I48ec0a3eb15fbe29a4b0ff7131ffb8b3a85bce38
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Mike Kolesnik <mkole...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to