ItEr38S05ValidacionEProbasFuncionaisItEr37S06: [Bug #136] Fixed.

DontPoseAsTransientObjectAnymore must be called on newly added objects
This commit is contained in:
Óscar González Fernández 2009-12-09 17:31:00 +01:00
parent f58bf97f8b
commit b2cfa89d5c

View file

@ -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());