From cfd46647f877ea06ddeee16a09a99abc0a7df2dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Thu, 14 Apr 2011 02:18:28 +0200 Subject: [PATCH] Refactor to make easy further changes FEA: ItEr74S04BugFixing --- .../planner/entities/ResourceAllocation.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) 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 6e02a4038..c569f2759 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 @@ -821,35 +821,40 @@ public abstract class ResourceAllocation extends @Override public IAllocateHoursOnInterval fromStartUntil(final LocalDate end) { + final AllocationInterval interval = new AllocationInterval( + getStartSpecifiedByTask(), IntraDayDate.startOfDay(end)); return new IAllocateHoursOnInterval() { @Override public void allocateHours(int hours) { - allocateTheWholeAllocation(getStartSpecifiedByTask(), - IntraDayDate.startOfDay(end), hours(hours)); + allocateTheWholeAllocation(interval, hours(hours)); } }; } @Override public IAllocateHoursOnInterval fromEndUntil(final LocalDate start) { + final AllocationInterval interval = new AllocationInterval( + IntraDayDate.startOfDay(start), task.getIntraDayEndDate()); return new IAllocateHoursOnInterval() { @Override public void allocateHours(int hours) { - allocateTheWholeAllocation(IntraDayDate.startOfDay(start), - task.getIntraDayEndDate(), hours(hours)); + allocateTheWholeAllocation(interval, hours(hours)); } }; } - private void allocateTheWholeAllocation(IntraDayDate startInclusive, - IntraDayDate endExclusive, EffortDuration durationToAssign) { - AllocationInterval interval = new AllocationInterval( - startInclusive, endExclusive); + private void allocateTheWholeAllocation(AllocationInterval interval, + EffortDuration durationToAssign) { List assignmentsCreated = createAssignments(interval, durationToAssign); - resetAllAllocationAssignmentsTo(assignmentsCreated, + allocateTheWholeAllocation(interval, assignmentsCreated); + } + + private void allocateTheWholeAllocation(AllocationInterval interval, + List assignments) { + resetAllAllocationAssignmentsTo(assignments, interval.getStartInclusive(), interval.getEndExclusive()); updateResourcesPerDay(); }