From a97dec36cdde567ee0500f230c163ead41a513e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Thu, 22 Oct 2009 00:12:20 +0200 Subject: [PATCH] ItEr31S12ValidacionEProbasFuncionaisItEr30S17: When detaching a DayAssignment, it's removed from the resource too bug #66 --- .../business/planner/entities/GenericDayAssignment.java | 2 ++ .../business/planner/entities/SpecificDayAssignment.java | 2 ++ .../navalplanner/business/resources/entities/Resource.java | 7 +++++++ 3 files changed, 11 insertions(+) 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); }