From b2cfa89d5c3e8fa02ac0f17bbd0ac8853b3147ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 9 Dec 2009 17:31:00 +0100 Subject: [PATCH] ItEr38S05ValidacionEProbasFuncionaisItEr37S06: [Bug #136] Fixed. DontPoseAsTransientObjectAnymore must be called on newly added objects --- .../web/planner/order/SaveCommand.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 30d5a900f..3d3d05ac3 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 @@ -122,6 +122,7 @@ public class SaveCommand implements ISaveCommand { private void saveTasksToSave() { for (TaskElement taskElement : state.getTasksToSave()) { taskElementDAO.save(taskElement); + dontPoseAsTransient(taskElement); if (taskElement instanceof Task) { saveTask(taskElement, (Task) taskElement); } @@ -131,6 +132,19 @@ public class SaveCommand implements ISaveCommand { } } + // newly added TaskElement such as milestones must be called + // dontPoseAsTransientObjectAnymore + private void dontPoseAsTransient(TaskElement taskElement) { + if (taskElement.isNewObject()) { + taskElement.dontPoseAsTransientObjectAnymore(); + } + if (!taskElement.isLeaf()) { + for (TaskElement each : taskElement.getChildren()) { + dontPoseAsTransient(each); + } + } + } + private void updateRootTaskPosition() { TaskGroup rootTask = state.getRootTask(); final Date min = minDate(state.getTasksToSave());