diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/LoadPeriodGenerator.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/LoadPeriodGenerator.java index 2723d53b0..5c0bda181 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/LoadPeriodGenerator.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/LoadPeriodGenerator.java @@ -35,13 +35,13 @@ import org.apache.commons.lang.math.Fraction; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.navalplanner.business.planner.entities.ResourceAllocation; -import org.navalplanner.business.resources.daos.IResourceDAO; import org.navalplanner.business.resources.entities.Criterion; import org.navalplanner.business.resources.entities.CriterionCompounder; import org.navalplanner.business.resources.entities.ICriterion; import org.navalplanner.business.resources.entities.Resource; import org.navalplanner.business.workingday.EffortDuration; import org.navalplanner.business.workingday.IntraDayDate; +import org.navalplanner.web.resources.search.IResourceSearchModel; import org.zkoss.ganttz.data.resourceload.LoadLevel; import org.zkoss.ganttz.data.resourceload.LoadPeriod; @@ -91,12 +91,12 @@ abstract class LoadPeriodGenerator { } public static LoadPeriodGeneratorFactory onCriterion( - final Criterion criterion, final IResourceDAO resourcesDAO) { - final List potentialResources = resourcesDAO - .findSatisfyingAllCriterionsAtSomePoint(Collections - .singletonList(criterion)); - return new LoadPeriodGeneratorFactory() { + final Criterion criterion, final IResourceSearchModel resourceSearch) { + final List potentialResources = resourceSearch.searchBoth() + .byCriteria(Collections.singletonList(criterion)).execute(); + + return new LoadPeriodGeneratorFactory() { @Override public LoadPeriodGenerator create(ResourceAllocation allocation) { return new LoadPeriodGeneratorOnCriterion(criterion, diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java index 64eaad551..9fb5c359a 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java @@ -65,6 +65,7 @@ import org.navalplanner.business.users.entities.OrderAuthorizationType; import org.navalplanner.business.users.entities.User; import org.navalplanner.business.users.entities.UserRole; import org.navalplanner.web.calendars.BaseCalendarModel; +import org.navalplanner.web.resources.search.IResourceSearchModel; import org.navalplanner.web.security.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; @@ -84,6 +85,9 @@ public class ResourceLoadModel implements IResourceLoadModel { @Autowired private IResourceDAO resourcesDAO; + @Autowired + private IResourceSearchModel resourcesSearchModel; + @Autowired private ICriterionDAO criterionDAO; @@ -614,13 +618,12 @@ public class ResourceLoadModel implements IResourceLoadModel { private List createPeriods(Criterion criterion, List> value) { if (initDateFilter != null || endDateFilter != null) { - return PeriodsBuilder.build( - LoadPeriodGenerator.onCriterion(criterion, resourcesDAO), + return PeriodsBuilder.build(LoadPeriodGenerator.onCriterion( + criterion, resourcesSearchModel), value, asDate(initDateFilter), asDate(endDateFilter)); } - return PeriodsBuilder - .build(LoadPeriodGenerator.onCriterion(criterion, - resourcesDAO), value); + return PeriodsBuilder.build(LoadPeriodGenerator.onCriterion(criterion, + resourcesSearchModel), value); } private List groupsFor(List allResources) { @@ -982,8 +985,9 @@ public class ResourceLoadModel implements IResourceLoadModel { resources = resourcesToShow(); } else { - resources =resourcesDAO - .findSatisfyingAllCriterionsAtSomePoint(criteriaToShow()); + resources = resourcesSearchModel.searchBoth() + .byCriteria(criteriaToShow()) + .execute(); } for (Resource resource : resources) { resourcesDAO.reattach(resource);