Gilad Chaplik has uploaded a new change for review.

Change subject: core: policy unit crud store proc
......................................................................

core: policy unit crud store proc

Insert and Update policy unit db store procedures with tests

Change-Id: I8838ae56c2ed927428c54e0319865425c54f51d7
Signed-off-by: Gilad Chaplik <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/PolicyUnitDaoTest.java
M packaging/dbscripts/policy_unit_sp.sql
4 files changed, 69 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/51/18551/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
index ccdd2b0..3043c42 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
@@ -134,7 +134,11 @@
     protected void loadPolicyUnits() {
         List<PolicyUnit> allPolicyUnits = getPolicyUnitDao().getAll();
         for (PolicyUnit policyUnit : allPolicyUnits) {
-            policyUnits.put(policyUnit.getId(), 
PolicyUnitImpl.getPolicyUnitImpl(policyUnit));
+            if (policyUnit.isInternal()) {
+                policyUnits.put(policyUnit.getId(), 
PolicyUnitImpl.getPolicyUnitImpl(policyUnit));
+            } else {
+                policyUnits.put(policyUnit.getId(), new 
PolicyUnitImpl(policyUnit));
+            }
         }
     }
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
index f6195e2..bd572f4 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
@@ -23,7 +23,10 @@
         return createIdParameterMapper(entity.getId())
                 .addValue("name", entity.getName())
                 .addValue("is_internal", entity.isInternal())
-                .addValue("type", entity.getPolicyUnitType().getValue())
+                .addValue("type",
+                        entity.getPolicyUnitType() == null ? 
PolicyUnitType.Filter.getValue()
+                                : entity.getPolicyUnitType()
+                                .getValue())
                 .addValue("custom_properties_regex",
                         
SerializationFactory.getSerializer().serialize(entity.getParameterRegExMap()));
     }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/PolicyUnitDaoTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/PolicyUnitDaoTest.java
index 4b83eca..e2136fd 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/PolicyUnitDaoTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/PolicyUnitDaoTest.java
@@ -5,10 +5,13 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.junit.Test;
 import org.ovirt.engine.core.common.scheduling.PolicyUnit;
+import org.ovirt.engine.core.common.scheduling.PolicyUnitType;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dao.scheduling.PolicyUnitDao;
 
@@ -52,6 +55,26 @@
         dummyPolicyUnit = new PolicyUnit();
         dummyPolicyUnit.setId(Guid.newGuid());
         dummyPolicyUnit.setName("Dummy policy unit");
+        dummyPolicyUnit.setPolicyUnitType(PolicyUnitType.Filter);
+        dummyPolicyUnit.setParameterRegExMap(new LinkedHashMap<String, 
String>());
     }
 
+    @Test
+    public void testSave() {
+        dao.save(dummyPolicyUnit);
+        PolicyUnit result = dao.get(dummyPolicyUnit.getId());
+        assertTrue(result.equals(dummyPolicyUnit));
+    }
+
+    @Test
+    public void testUpdate() {
+        PolicyUnit policyUnitToUpdate = 
dao.get(FixturesTool.POLICY_UNIT_MIGRATION);
+        Map<String, String> map = new LinkedHashMap<String, String>();
+        map.put("A", "B");
+        policyUnitToUpdate.setParameterRegExMap(map);
+        dao.update(policyUnitToUpdate);
+
+        PolicyUnit result = dao.get(policyUnitToUpdate.getId());
+        assertTrue(result.equals(policyUnitToUpdate));
+    }
 }
diff --git a/packaging/dbscripts/policy_unit_sp.sql 
b/packaging/dbscripts/policy_unit_sp.sql
index a87e1bd..bfd9db3 100644
--- a/packaging/dbscripts/policy_unit_sp.sql
+++ b/packaging/dbscripts/policy_unit_sp.sql
@@ -20,3 +20,40 @@
     WHERE id = v_id;
 END; $procedure$
 LANGUAGE plpgsql;
+
+-- CRUD procs:
+Create or replace FUNCTION InsertPolicyUnit(
+    v_id UUID,
+    v_name VARCHAR(128),
+    v_is_internal BOOLEAN,
+    v_type SMALLINT,
+    v_custom_properties_regex text)
+RETURNS VOID
+AS $procedure$
+BEGIN
+    INSERT INTO policy_units(
+        id,
+        name,
+        is_internal,
+        type,
+        custom_properties_regex)
+    VALUES(
+        v_id,
+        v_name,
+        v_is_internal,
+        v_type,
+        v_custom_properties_regex);
+END; $procedure$
+LANGUAGE plpgsql;
+
+Create or replace FUNCTION UpdatePolicyUnit(
+    v_id UUID,
+    v_custom_properties_regex text)
+RETURNS VOID
+AS $procedure$
+BEGIN
+    UPDATE policy_units
+    SET    custom_properties_regex = v_custom_properties_regex
+    WHERE  id = v_id;
+END; $procedure$
+LANGUAGE plpgsql;


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

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

Reply via email to