diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericDayAssignment.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericDayAssignment.java index 7a7d0ccb6..b5c53580b 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericDayAssignment.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericDayAssignment.java @@ -20,6 +20,7 @@ package org.navalplanner.business.planner.entities; +import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.Set; @@ -80,6 +81,7 @@ public class GenericDayAssignment extends DayAssignment { public void detach() { genericResourceAllocation = null; + getResource().removeAssignments(Arrays.asList(this)); } } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificDayAssignment.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificDayAssignment.java index 3a0ffa49a..e79bb4202 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificDayAssignment.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificDayAssignment.java @@ -20,6 +20,7 @@ package org.navalplanner.business.planner.entities; +import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.Set; @@ -81,5 +82,6 @@ public class SpecificDayAssignment extends DayAssignment { void detach() { this.specificResourceAllocation = null; + getResource().removeAssignments(Arrays.asList(this)); } } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java index eca6b10b7..8a74eb26b 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java @@ -596,6 +596,13 @@ public abstract class Resource extends BaseEntity{ this.dayAssignments.addAll(assignments); } + public void removeAssignments( + Collection assignments) { + Validate.noNullElements(assignments); + clearCachedData(); + this.dayAssignments.removeAll(assignments); + } + public List getAssignments() { return new ArrayList(dayAssignments); }