diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java index ad30f3a12..11d8627f4 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java @@ -26,8 +26,10 @@ import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.Map.Entry; import org.apache.commons.lang.Validate; @@ -156,6 +158,22 @@ public abstract class ResourceAllocation extends return new AllocationsAndResourcesCurried(task, resources, resourceAllocations); } + + public AllocationsAndResourcesCurried withExistentResources() { + return new AllocationsAndResourcesCurried(task, + getResourcesFrom(ResourceAllocationWithDesiredResourcesPerDay + .stripResourcesPerDay(resourceAllocations)), + resourceAllocations); + } + + private List getResourcesFrom( + List> allocations) { + Set resources = new HashSet(); + for (ResourceAllocation resourceAllocation : allocations) { + resources.addAll(resourceAllocation.getAssociatedResources()); + } + return new ArrayList(resources); + } } public static class AllocationsAndResourcesCurried {