From e69a514a28fa42d84be0959485866b3c01e5f08d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Mon, 12 Apr 2010 19:28:50 +0200 Subject: [PATCH] ItEr53S04ValidacionEProbasFuncionaisItEr52S04: [Bug #389] Added the operation getResourcesCostCategoryAssignmentsByCostCategory to ResourcesCostCategoryAssignmentDAO --- .../IResourcesCostCategoryAssignmentDAO.java | 5 +++++ .../ResourcesCostCategoryAssignmentDAO.java | 12 ++++++++++++ ...ResourcesCostCategoryAssignmentDAOTest.java | 18 ++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/costcategories/daos/IResourcesCostCategoryAssignmentDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/costcategories/daos/IResourcesCostCategoryAssignmentDAO.java index c73b8e43f..7cced4bdb 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/costcategories/daos/IResourcesCostCategoryAssignmentDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/costcategories/daos/IResourcesCostCategoryAssignmentDAO.java @@ -20,7 +20,10 @@ package org.navalplanner.business.costcategories.daos; +import java.util.List; + import org.navalplanner.business.common.daos.IIntegrationEntityDAO; +import org.navalplanner.business.costcategories.entities.CostCategory; import org.navalplanner.business.costcategories.entities.ResourcesCostCategoryAssignment; /** @@ -29,4 +32,6 @@ import org.navalplanner.business.costcategories.entities.ResourcesCostCategoryAs public interface IResourcesCostCategoryAssignmentDAO extends IIntegrationEntityDAO { + List + getResourcesCostCategoryAssignmentsByCostCategory(CostCategory costCategory); } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/costcategories/daos/ResourcesCostCategoryAssignmentDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/costcategories/daos/ResourcesCostCategoryAssignmentDAO.java index 326b11805..18879b527 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/costcategories/daos/ResourcesCostCategoryAssignmentDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/costcategories/daos/ResourcesCostCategoryAssignmentDAO.java @@ -20,8 +20,12 @@ package org.navalplanner.business.costcategories.daos; +import java.util.List; + +import org.hibernate.criterion.Restrictions; import org.navalplanner.business.common.daos.IntegrationEntityDAO; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; +import org.navalplanner.business.costcategories.entities.CostCategory; import org.navalplanner.business.costcategories.entities.ResourcesCostCategoryAssignment; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; @@ -48,4 +52,12 @@ public class ResourcesCostCategoryAssignmentDAO } super.remove(id); } + + @Override + public List getResourcesCostCategoryAssignmentsByCostCategory( + CostCategory costCategory) { + return (List)getSession(). + createCriteria(ResourcesCostCategoryAssignment.class) + .add(Restrictions.eq("costCategory", costCategory)).list(); + } } diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/costcategories/daos/ResourcesCostCategoryAssignmentDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/costcategories/daos/ResourcesCostCategoryAssignmentDAOTest.java index 17a58598d..c978dbd84 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/costcategories/daos/ResourcesCostCategoryAssignmentDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/costcategories/daos/ResourcesCostCategoryAssignmentDAOTest.java @@ -141,4 +141,22 @@ public class ResourcesCostCategoryAssignmentDAOTest { resourcesCostCategoryAssignmentDAO.save(assignment); } + + @Test + public void testGetResourcesCostCategoryAssignmentsByCostCategory() { + ResourcesCostCategoryAssignment assignment1 = createValidResourcesCostCategoryAssignment(); + ResourcesCostCategoryAssignment assignment2 = createValidResourcesCostCategoryAssignment(); + resourcesCostCategoryAssignmentDAO.save(assignment1); + resourcesCostCategoryAssignmentDAO.save(assignment2); + + assertTrue(resourcesCostCategoryAssignmentDAO.getResourcesCostCategoryAssignmentsByCostCategory( + assignment1.getCostCategory()).contains(assignment1)); + assertFalse(resourcesCostCategoryAssignmentDAO.getResourcesCostCategoryAssignmentsByCostCategory( + assignment1.getCostCategory()).contains(assignment2)); + + assignment2.setCostCategory(assignment1.getCostCategory()); + resourcesCostCategoryAssignmentDAO.save(assignment2); + assertTrue(resourcesCostCategoryAssignmentDAO.getResourcesCostCategoryAssignmentsByCostCategory( + assignment1.getCostCategory()).contains(assignment2)); + } }