From a242404b5baa3e51410d2c392c2efaf9e08ceefc Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Fri, 11 Jun 2010 13:19:00 +0200 Subject: [PATCH] ItEr59S04ValidacionEProbasFuncionaisItEr58S04: Fix bug NullPointerException, limiting allocations can be children from groups --- .../web/planner/order/SaveCommand.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/SaveCommand.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/SaveCommand.java index a01c678bb..400e8ca3e 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/SaveCommand.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/SaveCommand.java @@ -172,10 +172,7 @@ public class SaveCommand implements ISaveCommand { for (TaskElement taskElement : state.getTasksToSave()) { removeDetachedDerivedDayAssignments(taskElement); removeEmptyConsolidation(taskElement); - if (taskElement.isLimiting()) { - Task task = (Task) taskElement; - updateLimitingResourceQueueElementDates(task); - } + updateLimitingResourceQueueElementDates(taskElement); taskElementDAO.save(taskElement); } @@ -190,6 +187,17 @@ public class SaveCommand implements ISaveCommand { } } + private void updateLimitingResourceQueueElementDates(TaskElement taskElement) { + if (taskElement.isLimiting()) { + Task task = (Task) taskElement; + updateLimitingResourceQueueElementDates(task); + } else if (!taskElement.isLeaf()) { + for (TaskElement each : taskElement.getChildren()) { + updateLimitingResourceQueueElementDates(each); + } + } + } + private void updateLimitingResourceQueueElementDates(Task task) { LimitingResourceQueueElement limiting = task .getAssociatedLimitingResourceQueueElementIfAny();