From f72f0e6e605835f5aca01d03fc30164218f9ff07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 7 Oct 2009 22:41:05 +0200 Subject: [PATCH] ItEr29S06CUAsignacionGrupoRecursosAPlanificacionItEr28S06: Chaning implementation of resetAssignments --- .../entities/GenericResourceAllocation.java | 18 ++++++++++++------ .../planner/entities/ResourceAllocation.java | 11 ++++++++++- .../entities/SpecificResourceAllocation.java | 13 +++++++++---- 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java index 8d4c35aa5..fd6de7a98 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java @@ -183,15 +183,21 @@ public class GenericResourceAllocation extends } @Override - protected void resetAssignmentsTo( - List assignmentsCreated) { - this.genericDayAssignments = new HashSet( - assignmentsCreated); - setParentFor(assignmentsCreated); + protected void addingAssignments( + Collection assignments) { + setParentFor(assignments); + this.genericDayAssignments.addAll(assignments); clearFieldsCalculatedFromAssignments(); } - private void setParentFor(List assignmentsCreated) { + @Override + protected void removingAssignments(List assignments) { + this.genericDayAssignments.removeAll(assignments); + clearFieldsCalculatedFromAssignments(); + } + + private void setParentFor( + Collection assignmentsCreated) { for (GenericDayAssignment genericDayAssignment : assignmentsCreated) { genericDayAssignment.setGenericResourceAllocation(this); } 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 8952c91ca..18fc11357 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 @@ -300,7 +300,16 @@ public abstract class ResourceAllocation extends } - protected abstract void resetAssignmentsTo(List assignments); + private void resetAssignmentsTo(List assignments) { + removingAssignments(getAssignments()); + addingAssignments(assignments); + } + + protected abstract void addingAssignments( + Collection assignments); + + protected abstract void removingAssignments( + List assignments); final int calculateTotalToDistribute(LocalDate day, ResourcesPerDay resourcesPerDay) { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java index 095ac148a..e86624ab1 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java @@ -88,10 +88,15 @@ public class SpecificResourceAllocation extends } @Override - protected void resetAssignmentsTo(List assignments) { - this.specificDaysAssignment = new HashSet( - assignments); - setParentFor(specificDaysAssignment); + protected void addingAssignments( + Collection assignments) { + setParentFor(assignments); + this.specificDaysAssignment.addAll(assignments); + } + + @Override + protected void removingAssignments(List assignments) { + this.specificDaysAssignment.removeAll(assignments); } private void setParentFor(