From 6eefa8f605996b24d8d1e961985f917dc7558c62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 22 Sep 2010 13:36:20 +0200 Subject: [PATCH] Use IntraDayDates when merging an allocation into a Task This way when merging the allocation the new greater precision allowed by allocation algorithm is not lost. FEA: ItEr60S19TimeUnitDataType --- .../business/planner/entities/Task.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java index 6bab513f8..cc1381a2b 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java @@ -366,21 +366,21 @@ public class Task extends TaskElement implements ITaskLeafConstraint { if (aggregate.isEmpty()) { return; } - final LocalDate start = aggregate.getStart(); - final LocalDate end = aggregate.getEnd(); + final IntraDayDate start = aggregate.getIntraDayStart(); + final IntraDayDate end = aggregate.getIntraDayEnd(); mergeAllocation(scenario, start, end, calculatedValue, newAllocations, modifications, toRemove); } - private void mergeAllocation(Scenario scenario, final LocalDate start, - final LocalDate end, + private void mergeAllocation(Scenario scenario, final IntraDayDate start, + final IntraDayDate end, CalculatedValue calculatedValue, List> newAllocations, List modifications, Collection> toRemove) { this.calculatedValue = calculatedValue; - setStartDate(start.toDateTimeAtStartOfDay().toDate()); - setDaysDuration(Days.daysBetween(start, end).getDays()); + setIntraDayStartDate(start); + setIntraDayEndDate(end); for (ModifiedAllocation pair : modifications) { Validate.isTrue(resourceAllocations.contains(pair.getOriginal())); pair.getOriginal().mergeAssignmentsAndResourcesPerDay(scenario, @@ -514,8 +514,8 @@ public class Task extends TaskElement implements ITaskLeafConstraint { throw new RuntimeException("cant handle: " + calculatedValue); } updateDerived(copied); - mergeAllocation(onScenario, asLocalDate(getStartDate()), - asLocalDate(getEndDate()), + mergeAllocation(onScenario, getIntraDayStartDate(), + getIntraDayEndDate(), calculatedValue, Collections .> emptyList(), copied, Collections.> emptyList());