Bug #1444: Save affected parent TaskElements in the end of the process.

We make sure that all TaskElements have been processed before saving.

FEA: ItEr76S04BugFixing
This commit is contained in:
Jacobo Aragunde Pérez 2012-05-15 09:39:45 +02:00
parent 70cecf14a7
commit f71d266f8d

View file

@ -398,6 +398,7 @@ public class SaveCommandBuilder {
private void removeTaskElementsWithTaskSourceNull() {
List<TaskElement> toRemove = taskElementDAO
.getTaskElementsNoMilestonesWithoutTaskSource();
List<TaskElement> toRemoveLater = new ArrayList<TaskElement>();
for (TaskElement taskElement : toRemove) {
try {
taskElementDAO.remove(taskElement.getId());
@ -405,7 +406,7 @@ public class SaveCommandBuilder {
TaskGroup parent = taskElement.getParent();
if (parent != null && !toRemove.contains(parent)) {
parent.remove(taskElement);
taskElementDAO.save(parent);
toRemoveLater.add(parent);
}
LOG.info("TaskElement removed because of TaskSource was null. "
@ -416,6 +417,9 @@ public class SaveCommandBuilder {
// so if it's not in the database there isn't any problem
}
}
for (TaskElement taskElement : toRemoveLater) {
taskElementDAO.save(taskElement);
}
}
private void saveOrderAuthorizations() {