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
