From ddf79bde1ffad4e86be4c0c9bd8f10e65da4d586 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Tue, 17 Apr 2012 13:17:24 +0200 Subject: [PATCH] Bug #1409: Fix problem replacing allocations for the ones related to the criterion Without this patch, the replacement was been doing wrong as it has been replacing the allocation related to a criterion with allocations related to any of the criteria being shown. This didn't happen in company view because of there's not unsaved changes, so the replacement method do nothing. FEA: ItEr76S04BugFixing --- .../web/resourceload/ResourceLoadModel.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/resourceload/ResourceLoadModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/resourceload/ResourceLoadModel.java index c321f783a..1a94198ef 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/resourceload/ResourceLoadModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/resourceload/ResourceLoadModel.java @@ -26,6 +26,7 @@ import static org.libreplan.web.I18nHelper._; import static org.libreplan.web.planner.order.PlanningStateCreator.and; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -461,8 +462,7 @@ public class ResourceLoadModel implements IResourceLoadModel { relatedWith, asDate(parameters.getInitDateFilter()), asDate(parameters.getEndDateFilter())); - return doReplacementsIfNeeded(result, - and(onInterval(), new RelatedWithAnyOf(relatedWith))); + return doReplacementsIfNeeded(result); } private Map>> withAssociatedSpecific( @@ -494,19 +494,19 @@ public class ResourceLoadModel implements IResourceLoadModel { resourceAllocationDAO.findGenericAllocationsByCriterion( getCurrentScenario(), asDate(parameters.getInitDateFilter()), - asDate(parameters.getEndDateFilter())), - onInterval()); + asDate(parameters.getEndDateFilter()))); } private Map> doReplacementsIfNeeded( - Map> map, - IAllocationCriteria criteria) { + Map> map) { if (!parameters.thereIsCurrentOrder()) { return map; } Map> result = new HashMap>(); for (Entry> each : map .entrySet()) { + IAllocationCriteria criteria = and(onInterval(), + new RelatedWithAnyOf(Arrays.asList(each.getKey()))); List> replaced = parameters .getPlanningState().replaceByCurrentOnes( each.getValue(), criteria);