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 3f8e1634f..d60d79f41 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 @@ -32,7 +32,6 @@ import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -706,30 +705,29 @@ public abstract class ResourceAllocation extends protected abstract void copyAssignments(Scenario from, Scenario to); protected void resetAssignmentsTo(List assignments) { - removingAssignments(removeConsolidated(getAssignments())); + removingAssignments(withoutConsolidated(getAssignments())); addingAssignments(assignments); updateOriginalTotalAssigment(); } protected void resetAssigmentsForInterval(LocalDate startInclusive, LocalDate endExclusive, List assignmentsCreated) { - removingAssignments(removeConsolidated(getAssignments(startInclusive, + removingAssignments(withoutConsolidated(getAssignments(startInclusive, endExclusive))); addingAssignments(assignmentsCreated); updateOriginalTotalAssigment(); updateResourcesPerDay(); } - private List removeConsolidated( - List assignments) { - for (Iterator iterator = assignments - .iterator(); iterator.hasNext();) { - DayAssignment dayAssignment = (DayAssignment) iterator.next(); - if (dayAssignment.isConsolidated()) { - iterator.remove(); + private static List withoutConsolidated( + List assignments) { + List result = new ArrayList(); + for (T each : assignments) { + if (!each.isConsolidated()) { + result.add(each); } } - return assignments; + return result; } protected final void addingAssignments(Collection assignments) {