From 5cc8cdf0900e4f82b8d51908908f50408e8de15a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 25 Nov 2009 18:33:24 +0100 Subject: [PATCH] ItEr36S07ValidacionEProbasFuncionaisItEr35S08: Letting remove all allocations --- .../business/planner/entities/Task.java | 3 ++ .../ResourceAllocationsBeingEdited.java | 39 +++++++------------ 2 files changed, 18 insertions(+), 24 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 994b60492..cf32b67e0 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 @@ -236,6 +236,9 @@ public class Task extends TaskElement { List> newAllocations, List modifications, Collection> toRemove) { + if (aggregate.isEmpty()) { + return; + } final LocalDate start = aggregate.getStart(); final LocalDate end = aggregate.getEnd(); mergeAllocation(start, end, calculatedValue, newAllocations, diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationsBeingEdited.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationsBeingEdited.java index 0d7c555d1..385cfa02e 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationsBeingEdited.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationsBeingEdited.java @@ -183,36 +183,27 @@ public class ResourceAllocationsBeingEdited { && formBinder.getAssignedHours() <= 0) { formBinder.markAssignedHoursMustBePositive(); } - if (!thereIsLeastOneNoEmptyAllocation()) { - formBinder.markThereMustBeAtLeastOneNoEmptyAllocation(); - } - } - - private boolean thereIsLeastOneNoEmptyAllocation() { - for (AllocationDTO allocationDTO : currentAllocations) { - if (!allocationDTO.isEmptyResourcesPerDay()) { - return true; - } - } - return false; } public AllocationResult doAllocation() { checkInvalidValues(); Map> fromDetachedToAttached = getAllocationsWithRelationshipsToOriginal(); List allocations = asList(fromDetachedToAttached); - switch (calculatedValue) { - case NUMBER_OF_HOURS: - ResourceAllocation.allocating(allocations).allocateOnTaskLength(); - daysDuration = task.getDaysDuration(); - break; - case END_DATE: - LocalDate end = ResourceAllocation.allocating(allocations) - .untilAllocating(formBinder.getAssignedHours()); - daysDuration = from(task.getStartDate(), end); - break; - default: - throw new RuntimeException("cant handle: " + calculatedValue); + if (!allocations.isEmpty()) { + switch (calculatedValue) { + case NUMBER_OF_HOURS: + ResourceAllocation.allocating(allocations) + .allocateOnTaskLength(); + daysDuration = task.getDaysDuration(); + break; + case END_DATE: + LocalDate end = ResourceAllocation.allocating(allocations) + .untilAllocating(formBinder.getAssignedHours()); + daysDuration = from(task.getStartDate(), end); + break; + default: + throw new RuntimeException("cant handle: " + calculatedValue); + } } return new AllocationResult(task, calculatedValue, new AggregateOfResourceAllocations(