From 5b3e324eaed34fab7a5f58ab3f2cda54d0b1458c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Mon, 11 Apr 2011 19:25:48 +0200 Subject: [PATCH] Remove findSatisfyingAllCriterionsAtSomePoint from IResourceDAO Since it's no longer used it is removed. Use IResourcesSearcher instead. FEA: ItEr74S04BugFixing --- .../business/resources/daos/IResourceDAO.java | 9 ----- .../business/resources/daos/ResourceDAO.java | 39 ------------------- .../test/resources/daos/ResourceDAOTest.java | 12 ++++-- 3 files changed, 8 insertions(+), 52 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/IResourceDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/IResourceDAO.java index 75071d5c3..eb8fef58f 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/IResourceDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/IResourceDAO.java @@ -21,7 +21,6 @@ package org.navalplanner.business.resources.daos; -import java.util.Collection; import java.util.Date; import java.util.List; @@ -51,14 +50,6 @@ public interface IResourceDAO extends IIntegrationEntityDAO { */ List findResourcesRelatedTo(List tasks); - /** - * Returns a list of {@link Resource} satisfying all criteria at some point - * in time - * @param criterions - * @return - */ - List findSatisfyingAllCriterionsAtSomePoint(Collection criterions); - /** * Returns all {@link Machine} * diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourceDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourceDAO.java index c796dd844..541c7dc1e 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourceDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourceDAO.java @@ -22,14 +22,12 @@ package org.navalplanner.business.resources.daos; import java.util.ArrayList; -import java.util.Collection; import java.util.Date; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; -import org.apache.commons.lang.Validate; import org.hibernate.Query; import org.hibernate.criterion.Restrictions; import org.navalplanner.business.common.daos.IntegrationEntityDAO; @@ -93,43 +91,6 @@ public class ResourceDAO extends IntegrationEntityDAO implements return list; } - @Override - public List findSatisfyingAllCriterionsAtSomePoint( - Collection criterions) { - Validate.notNull(criterions); - Validate.noNullElements(criterions); - if (criterions.isEmpty()) { - return list(Resource.class); - } - return selectSatisfiyingAllAtSomePoint( - findRelatedWithSomeOfTheCriterions(criterions), criterions); - } - - private List selectSatisfiyingAllAtSomePoint( - List resources, - Collection criterions) { - List result = new ArrayList(); - for (Resource each : resources) { - if (each.satisfiesCriterionsAtSomePoint(criterions)) { - result.add(each); - } - } - return result; - } - - @SuppressWarnings("unchecked") - private List findRelatedWithSomeOfTheCriterions( - Collection criterions) { - String strQuery = "SELECT DISTINCT resource " - + "FROM Resource resource " - + "JOIN resource.criterionSatisfactions criterionSatisfactions " - + "JOIN criterionSatisfactions.criterion criterion " - + "WHERE criterion IN (:criterions)"; - Query query = getSession().createQuery(strQuery); - query.setParameterList("criterions", criterions); - return (List) query.list(); - } - @Override public List findResourcesRelatedTo(List taskElements) { if (taskElements.isEmpty()) { diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/ResourceDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/ResourceDAOTest.java index 773c24fb2..67b85349f 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/ResourceDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/ResourceDAOTest.java @@ -46,6 +46,7 @@ import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.resources.daos.ICriterionDAO; import org.navalplanner.business.resources.daos.ICriterionTypeDAO; import org.navalplanner.business.resources.daos.IResourceDAO; +import org.navalplanner.business.resources.daos.IResourcesSearcher; import org.navalplanner.business.resources.entities.Criterion; import org.navalplanner.business.resources.entities.CriterionSatisfaction; import org.navalplanner.business.resources.entities.CriterionType; @@ -71,6 +72,9 @@ public class ResourceDAOTest { @Autowired private IResourceDAO resourceDAO; + @Autowired + private IResourcesSearcher resourcesSearcher; + @Autowired private SessionFactory sessionFactory; @@ -116,8 +120,8 @@ public class ResourceDAOTest { public void testResourceIsRelatedWithAllCriterions() { Collection criterions = createCriterions(); createAndSaveResourceSatisfyingAllCriterions(criterions); - List result = resourceDAO - .findSatisfyingAllCriterionsAtSomePoint(criterions); + List result = resourcesSearcher.searchBoth() + .byCriteria(criterions).execute(); assertNotNull(result); assertEquals(1, result.size()); } @@ -167,8 +171,8 @@ public class ResourceDAOTest { // Modify criterions collection criterions.add(createCriterion("criterion3")); - List result = resourceDAO - .findSatisfyingAllCriterionsAtSomePoint(criterions); + List result = resourcesSearcher.searchBoth() + .byCriteria(criterions).execute(); assertNotNull(result); assertThat(result.size(), not(equalTo(1))); }