Yevgeny Zaspitsky has uploaded a new change for review.

Change subject: engine: add getManagementNetwork to NetworkDao
......................................................................

engine: add getManagementNetwork to NetworkDao

getManagementNetwork method was added to NetworkDao
Implementation, test and SP were added too.

Change-Id: I6af5a554ed743ff748b5c941f77a0b217761bd5b
Signed-off-by: Yevgeny Zaspitsky <[email protected]>
---
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/NetworkClusterDaoTest.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
M backend/manager/modules/dal/src/test/resources/fixtures.xml
M packaging/dbscripts/network_sp.sql
6 files changed, 73 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/78/32978/8

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 9c14c0e..6e1716b 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
@@ -136,4 +136,14 @@
      * @return the networks
      */
     List<Network> getAllByLabelForCluster(String label, Guid clusterId);
+
+    /**
+     * Retrieves the management network for the given cluster.
+     *
+     * @param clusterId
+     *            the cluster the network is attached to
+     *
+     * @return the management {@link Network}
+     */
+    Network getManagementNetwork(Guid clusterId);
 }
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 9717b53..8941ea6 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
@@ -135,6 +135,13 @@
     }
 
     @Override
+    public Network getManagementNetwork(Guid clusterId) {
+        return getCallsHandler().executeRead("GetManagementNetworkByCluster",
+                NetworkRowMapper.instance,
+                getCustomMapSqlParameterSource().addValue("cluster_id", 
clusterId));
+    }
+
+    @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/NetworkClusterDaoTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoTest.java
index 4f2c89a..c6784ed 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoTest.java
@@ -17,7 +17,7 @@
 import org.ovirt.engine.core.dao.VdsGroupDAO;
 
 public class NetworkClusterDaoTest extends BaseDAOTestCase {
-    private static final int NETWORK_CLUSTER_COUNT = 3;
+    private static final int NETWORK_CLUSTER_COUNT = 4;
     private NetworkClusterDao dao;
     private VDSGroup cluster;
     private Network network;
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 5013aa1..76f341c 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
@@ -18,13 +18,15 @@
 import org.ovirt.engine.core.dao.FixturesTool;
 
 public class NetworkDaoTest extends BaseDAOTestCase {
+    private static final Guid MANAGEMENT_NETWORK_ID = new 
Guid("58d5c1c6-cb15-4832-b2a4-1234567890ab");
+
     private NetworkDao dao;
     private Guid cluster;
     private Guid datacenter;
     private Network new_net;
     private static final String EXISTING_NETWORK_NAME1 = "engine";
     private static final String EXISTING_NETWORK_NAME2 = "engine3";
-    private static final int NUM_OF_NETWORKS = 6;
+    private static final int NUM_OF_NETWORKS = 7;
     private static final String NETWORK_LABEL = "lbl1";
 
     @Override
@@ -86,6 +88,17 @@
     }
 
     /**
+     * Ensures that retrieving the management network by cluster works as 
expected.
+     */
+    @Test
+    public void testGetManagementNetworkByCluster() {
+        Network result = dao.getManagementNetwork(cluster);
+
+        assertNotNull(result);
+        assertEquals(MANAGEMENT_NETWORK_ID, result.getId());
+    }
+
+    /**
      * Ensures that all networks are returned.
      */
     @Test
diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml 
b/backend/manager/modules/dal/src/test/resources/fixtures.xml
index d4d796e..cdc4ddf 100644
--- a/backend/manager/modules/dal/src/test/resources/fixtures.xml
+++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml
@@ -1171,6 +1171,23 @@
             <null />
            <value>lbl2</value>
         </row>
+        <row>
+            <value>58d5c1c6-cb15-4832-b2a4-1234567890ab</value>
+            <value>management</value>
+            <value>The Management Network</value>
+            <null />
+            <null />
+            <null />
+            <null />
+            <null />
+            <value>0</value>
+            <value>6d849ebf-755f-4552-ad09-9a090cda105d</value>
+            <value>0</value>
+            <value>true</value>
+            <null />
+            <null />
+            <null />
+        </row>
     </table>
 
     <table name="qos">
@@ -1522,6 +1539,15 @@
             <value>0</value>
             <value>0</value>
             <value>1</value>
+            <value>0</value>
+        </row>
+        <row>
+            <value>58d5c1c6-cb15-4832-b2a4-1234567890ab</value>
+            <value>b399944a-81ab-4ec5-8266-e19ba7c3c9d1</value>
+            <value>1</value>
+            <value>0</value>
+            <value>0</value>
+            <value>0</value>
             <value>1</value>
         </row>
         <row>
diff --git a/packaging/dbscripts/network_sp.sql 
b/packaging/dbscripts/network_sp.sql
index 23faffe..3c10734 100644
--- a/packaging/dbscripts/network_sp.sql
+++ b/packaging/dbscripts/network_sp.sql
@@ -174,6 +174,21 @@
 LANGUAGE plpgsql;
 
 
+Create or replace FUNCTION GetManagementNetworkByCluster(v_cluster_id UUID)
+RETURNS SETOF network STABLE
+   AS $procedure$
+BEGIN
+   RETURN QUERY
+   SELECT network.*
+   FROM network
+   WHERE id = (SELECT network_id
+               FROM network_cluster
+               WHERE network_cluster.cluster_id = v_cluster_id
+               AND   network_cluster.management);
+
+END; $procedure$
+LANGUAGE plpgsql;
+
 
 Create or replace FUNCTION GetAllNetworkByStoragePoolId(v_id UUID, v_user_id 
uuid, v_is_filtered boolean)
 RETURNS SETOF network STABLE


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6af5a554ed743ff748b5c941f77a0b217761bd5b
Gerrit-PatchSet: 8
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yevgeny Zaspitsky <[email protected]>
Gerrit-Reviewer: Alona Kaplan <[email protected]>
Gerrit-Reviewer: Eli Mesika <[email protected]>
Gerrit-Reviewer: Yevgeny Zaspitsky <[email protected]>
Gerrit-Reviewer: [email protected]
Gerrit-Reviewer: oVirt Jenkins CI Server
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to