From c3208fa78cd2a9dab141e65fc2b342b7947f4b05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Mon, 25 Apr 2011 19:22:53 +0200 Subject: [PATCH] [Bug #1015] Fix bug at hours worked by resource report Include in the query descendant criteria. FEA: ItEr74S04BugFixing --- .../business/resources/daos/ResourceDAO.java | 3 ++- .../business/resources/daos/ResourcesSearcher.java | 13 +------------ .../business/resources/entities/Criterion.java | 10 ++++++++++ 3 files changed, 13 insertions(+), 13 deletions(-) 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 541c7dc1e..1e62c9ce1 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 @@ -231,7 +231,8 @@ public class ResourceDAO extends IntegrationEntityDAO implements query.setParameterList("labels", labels); } if (criterions != null && !criterions.isEmpty()) { - query.setParameterList("criterions", criterions); + query.setParameterList("criterions", + Criterion.withAllDescendants(criterions)); } // Get result diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourcesSearcher.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourcesSearcher.java index ce1c13572..d98c2be11 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourcesSearcher.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourcesSearcher.java @@ -29,7 +29,6 @@ import static org.hibernate.criterion.Restrictions.or; import java.util.ArrayList; import java.util.Collection; -import java.util.HashSet; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; @@ -144,17 +143,7 @@ public class ResourcesSearcher implements IResourcesSearcher { return; } criteria.createCriteria("criterionSatisfactions").add( - in("criterion", withAllDescendants(this.criteria))); - } - - private Set withAllDescendants( - Collection originalCriteria) { - Set result = new HashSet(); - for (Criterion each : originalCriteria) { - result.add(each); - result.addAll(withAllDescendants(each.getChildren())); - } - return result; + in("criterion", Criterion.withAllDescendants(this.criteria))); } private boolean criteriaSpecified() { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Criterion.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Criterion.java index 455d18708..2995eedce 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Criterion.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Criterion.java @@ -70,6 +70,16 @@ public class Criterion extends IntegrationEntity implements ICriterion { } + public static Set withAllDescendants( + Collection originalCriteria) { + Set result = new HashSet(); + for (Criterion each : originalCriteria) { + result.add(each); + result.addAll(withAllDescendants(each.getChildren())); + } + return result; + } + public static final Comparator byName = new Comparator() { @Override