ItEr29S06CUAsignacionGrupoRecursosAPlanificacionItEr28S06: Chaning implementation of resetAssignments

This commit is contained in:
Óscar González Fernández 2009-10-07 22:41:05 +02:00
parent 1531c4124c
commit f72f0e6e60
3 changed files with 31 additions and 11 deletions

View file

@ -183,15 +183,21 @@ public class GenericResourceAllocation extends
}
@Override
protected void resetAssignmentsTo(
List<GenericDayAssignment> assignmentsCreated) {
this.genericDayAssignments = new HashSet<GenericDayAssignment>(
assignmentsCreated);
setParentFor(assignmentsCreated);
protected void addingAssignments(
Collection<? extends GenericDayAssignment> assignments) {
setParentFor(assignments);
this.genericDayAssignments.addAll(assignments);
clearFieldsCalculatedFromAssignments();
}
private void setParentFor(List<GenericDayAssignment> assignmentsCreated) {
@Override
protected void removingAssignments(List<? extends DayAssignment> assignments) {
this.genericDayAssignments.removeAll(assignments);
clearFieldsCalculatedFromAssignments();
}
private void setParentFor(
Collection<? extends GenericDayAssignment> assignmentsCreated) {
for (GenericDayAssignment genericDayAssignment : assignmentsCreated) {
genericDayAssignment.setGenericResourceAllocation(this);
}

View file

@ -300,7 +300,16 @@ public abstract class ResourceAllocation<T extends DayAssignment> extends
}
protected abstract void resetAssignmentsTo(List<T> assignments);
private void resetAssignmentsTo(List<T> assignments) {
removingAssignments(getAssignments());
addingAssignments(assignments);
}
protected abstract void addingAssignments(
Collection<? extends T> assignments);
protected abstract void removingAssignments(
List<? extends DayAssignment> assignments);
final int calculateTotalToDistribute(LocalDate day,
ResourcesPerDay resourcesPerDay) {

View file

@ -88,10 +88,15 @@ public class SpecificResourceAllocation extends
}
@Override
protected void resetAssignmentsTo(List<SpecificDayAssignment> assignments) {
this.specificDaysAssignment = new HashSet<SpecificDayAssignment>(
assignments);
setParentFor(specificDaysAssignment);
protected void addingAssignments(
Collection<? extends SpecificDayAssignment> assignments) {
setParentFor(assignments);
this.specificDaysAssignment.addAll(assignments);
}
@Override
protected void removingAssignments(List<? extends DayAssignment> assignments) {
this.specificDaysAssignment.removeAll(assignments);
}
private void setParentFor(