Remove findSatisfyingAllCriterionsAtSomePoint from IResourceDAO
Since it's no longer used it is removed. Use IResourcesSearcher instead. FEA: ItEr74S04BugFixing
This commit is contained in:
parent
1744c8df90
commit
5b3e324eae
3 changed files with 8 additions and 52 deletions
|
|
@ -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<Resource> {
|
|||
*/
|
||||
List<Resource> findResourcesRelatedTo(List<Task> tasks);
|
||||
|
||||
/**
|
||||
* Returns a list of {@link Resource} satisfying all criteria at some point
|
||||
* in time
|
||||
* @param criterions
|
||||
* @return
|
||||
*/
|
||||
List<Resource> findSatisfyingAllCriterionsAtSomePoint(Collection<? extends Criterion> criterions);
|
||||
|
||||
/**
|
||||
* Returns all {@link Machine}
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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<Resource> implements
|
|||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Resource> findSatisfyingAllCriterionsAtSomePoint(
|
||||
Collection<? extends Criterion> criterions) {
|
||||
Validate.notNull(criterions);
|
||||
Validate.noNullElements(criterions);
|
||||
if (criterions.isEmpty()) {
|
||||
return list(Resource.class);
|
||||
}
|
||||
return selectSatisfiyingAllAtSomePoint(
|
||||
findRelatedWithSomeOfTheCriterions(criterions), criterions);
|
||||
}
|
||||
|
||||
private List<Resource> selectSatisfiyingAllAtSomePoint(
|
||||
List<Resource> resources,
|
||||
Collection<? extends Criterion> criterions) {
|
||||
List<Resource> result = new ArrayList<Resource>();
|
||||
for (Resource each : resources) {
|
||||
if (each.satisfiesCriterionsAtSomePoint(criterions)) {
|
||||
result.add(each);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Resource> findRelatedWithSomeOfTheCriterions(
|
||||
Collection<? extends Criterion> 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<Resource>) query.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Resource> findResourcesRelatedTo(List<Task> taskElements) {
|
||||
if (taskElements.isEmpty()) {
|
||||
|
|
|
|||
|
|
@ -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<Criterion> criterions = createCriterions();
|
||||
createAndSaveResourceSatisfyingAllCriterions(criterions);
|
||||
List<Resource> result = resourceDAO
|
||||
.findSatisfyingAllCriterionsAtSomePoint(criterions);
|
||||
List<Resource> 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<Resource> result = resourceDAO
|
||||
.findSatisfyingAllCriterionsAtSomePoint(criterions);
|
||||
List<Resource> result = resourcesSearcher.searchBoth()
|
||||
.byCriteria(criterions).execute();
|
||||
assertNotNull(result);
|
||||
assertThat(result.size(), not(equalTo(1)));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue