Yevgeny Zaspitsky has uploaded a new change for review.

Change subject: engine: add support for the new management field in save&update
......................................................................

engine: add support for the new management field in save&update

Add support for Networkcluster entity save and update opertations
in its DAO.

Change-Id: I0c5ee2075fa593e7d3f96694dce8cd896b4eb449
Signed-off-by: Yevgeny Zaspitsky <[email protected]>
---
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoTest.java
M packaging/dbscripts/network_sp.sql
3 files changed, 53 insertions(+), 27 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/99/33499/1

diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
index cc57717..476f448 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
@@ -67,20 +67,19 @@
 
     @Override
     public void save(NetworkCluster cluster) {
-        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
-                .addValue("cluster_id", cluster.getClusterId())
-                .addValue("network_id", cluster.getNetworkId())
-                .addValue("status", cluster.getStatus())
-                .addValue("is_display", cluster.isDisplay())
-                .addValue("required", cluster.isRequired())
-                .addValue("migration", cluster.isMigration())
-                .addValue("management", cluster.isManagement());
+        MapSqlParameterSource parameterSource = 
createAllFieldsParameterSource(cluster);
 
         getCallsHandler().executeModification("Insertnetwork_cluster", 
parameterSource);
     }
 
     @Override
     public void update(NetworkCluster cluster) {
+        MapSqlParameterSource parameterSource = 
createAllFieldsParameterSource(cluster);
+
+        getCallsHandler().executeModification("Updatenetwork_cluster", 
parameterSource);
+    }
+
+    private MapSqlParameterSource 
createAllFieldsParameterSource(NetworkCluster cluster) {
         MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
                 .addValue("cluster_id", cluster.getClusterId())
                 .addValue("network_id", cluster.getNetworkId())
@@ -89,8 +88,7 @@
                 .addValue("required", cluster.isRequired())
                 .addValue("migration", cluster.isMigration())
                 .addValue("management", cluster.isManagement());
-
-        getCallsHandler().executeModification("Updatenetwork_cluster", 
parameterSource);
+        return parameterSource;
     }
 
     @Override
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 04cf0ba..a992cfc 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
@@ -42,11 +42,20 @@
         network = networkDAO.getByName("engine");
         networkNoCluster = networkDAO.getByName("engine3");
 
+        createNewCluster();
+
+        existingNetworkCluster = dao.getAll().get(0);
+    }
+
+    private void createNewCluster() {
         newNetworkCluster = new NetworkCluster();
         newNetworkCluster.setNetworkId(networkNoCluster.getId());
         newNetworkCluster.setClusterId(freeCluster.getId());
-
-        existingNetworkCluster = dao.getAll().get(0);
+        newNetworkCluster.setStatus(NetworkStatus.OPERATIONAL);
+        newNetworkCluster.setManagement(true);
+        newNetworkCluster.setRequired(true);
+        newNetworkCluster.setDisplay(true);
+        newNetworkCluster.setMigration(true);
     }
 
     /**
@@ -134,7 +143,17 @@
         List<NetworkCluster> after = 
dao.getAllForNetwork(networkNoCluster.getId());
 
         assertFalse(after.isEmpty());
-        assertEquals(newNetworkCluster, after.get(0));
+        assertNetworkClustersEqual(newNetworkCluster, after.get(0));
+    }
+
+    private void assertNetworkClustersEqual(NetworkCluster expected, 
NetworkCluster actual) {
+        assertEquals(expected.getClusterId(), actual.getClusterId());
+        assertEquals(expected.getNetworkId(), actual.getNetworkId());
+        assertEquals(expected.getStatus(), actual.getStatus());
+        assertEquals(expected.isManagement(), actual.isManagement());
+        assertEquals(expected.isRequired(), actual.isRequired());
+        assertEquals(expected.isMigration(), actual.isMigration());
+        assertEquals(expected.isDisplay(), actual.isDisplay());
     }
 
     /**
@@ -142,20 +161,22 @@
      */
     @Test
     public void testUpdate() {
+
         
existingNetworkCluster.setRequired(!existingNetworkCluster.isRequired());
+        existingNetworkCluster.setDisplay(!existingNetworkCluster.isDisplay());
+        
existingNetworkCluster.setMigration(!existingNetworkCluster.isMigration());
+        
existingNetworkCluster.setManagement(!existingNetworkCluster.isManagement());
+        
existingNetworkCluster.setStatus(invert(existingNetworkCluster.getStatus()));
 
         dao.update(existingNetworkCluster);
 
-        List<NetworkCluster> result = dao.getAll();
-        boolean itworked = false;
+        NetworkCluster result = dao.get(existingNetworkCluster.getId());
 
-        for (NetworkCluster thiscluster : result) {
-            itworked |= 
(thiscluster.getClusterId().equals(existingNetworkCluster.getClusterId())) &&
-                    
(thiscluster.getNetworkId().equals(existingNetworkCluster.getNetworkId())) &&
-                    (thiscluster.getStatus() == 
existingNetworkCluster.getStatus());
-        }
+        assertNetworkClustersEqual(existingNetworkCluster, result);
+    }
 
-        assertTrue(itworked);
+    private NetworkStatus invert(NetworkStatus networkStatus) {
+        return networkStatus == NetworkStatus.OPERATIONAL ? 
NetworkStatus.NON_OPERATIONAL : NetworkStatus.OPERATIONAL;
     }
 
     /**
diff --git a/packaging/dbscripts/network_sp.sql 
b/packaging/dbscripts/network_sp.sql
index 51fb52d..30ad980 100644
--- a/packaging/dbscripts/network_sp.sql
+++ b/packaging/dbscripts/network_sp.sql
@@ -931,12 +931,13 @@
    v_status INTEGER,
    v_is_display BOOLEAN,
    v_required BOOLEAN,
-   v_migration BOOLEAN)
+   v_migration BOOLEAN,
+   v_management BOOLEAN)
 RETURNS VOID
    AS $procedure$
 BEGIN
-INSERT INTO network_cluster(cluster_id, network_id, status, is_display, 
required, migration)
-       VALUES(v_cluster_id, v_network_id, v_status, v_is_display, v_required, 
v_migration);
+INSERT INTO network_cluster(cluster_id, network_id, status, is_display, 
required, migration, management)
+       VALUES(v_cluster_id, v_network_id, v_status, v_is_display, v_required, 
v_migration, v_management);
 END; $procedure$
 LANGUAGE plpgsql;
 
@@ -948,13 +949,19 @@
     v_status INTEGER,
     v_is_display BOOLEAN,
     v_required BOOLEAN,
-    v_migration BOOLEAN)
+    v_migration BOOLEAN,
+    v_management BOOLEAN)
 RETURNS VOID
    AS $procedure$
 BEGIN
    UPDATE network_cluster
-   SET status = v_status,is_display = v_is_display, required = v_required, 
migration = v_migration
-   WHERE cluster_id = v_cluster_id AND network_id = v_network_id;
+   SET status = v_status,
+       is_display = v_is_display,
+       required = v_required,
+       migration = v_migration,
+       management = v_management
+   WHERE cluster_id = v_cluster_id 
+   AND network_id = v_network_id;
 END; $procedure$
 LANGUAGE plpgsql;
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0c5ee2075fa593e7d3f96694dce8cd896b4eb449
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yevgeny Zaspitsky <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to