Fixing bug: When a task is removed, it kept enforcing the dependecies that came from it.
This commit is contained in:
parent
1370ffcd98
commit
0e418ad9ae
2 changed files with 12 additions and 4 deletions
|
|
@ -20,6 +20,8 @@ public class Planner extends XulElement implements AfterCompose {
|
|||
|
||||
private DependencyRemovedListener dependencyRemovedListener;
|
||||
|
||||
private TaskRemovedListener taskRemovedListener;
|
||||
|
||||
public Planner() {
|
||||
}
|
||||
|
||||
|
|
@ -85,12 +87,13 @@ public class Planner extends XulElement implements AfterCompose {
|
|||
}
|
||||
};
|
||||
taskList.addDependencyListener(dependencyAddedListener);
|
||||
taskList.addTaskRemovedListener(new TaskRemovedListener() {
|
||||
taskRemovedListener = new TaskRemovedListener() {
|
||||
@Override
|
||||
public void taskRemoved(Task taskRemoved) {
|
||||
dependencyRegistry.remove(taskRemoved.getTaskBean());
|
||||
}
|
||||
});
|
||||
};
|
||||
taskList.addTaskRemovedListener(taskRemovedListener);
|
||||
dependencyRemovedListener = new DependencyRemovedListener() {
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -76,13 +76,18 @@ public class DependencyRegistry {
|
|||
}
|
||||
|
||||
public void remove(TaskBean task) {
|
||||
List<RulesEnforcer> outgoing = getOutgoing(task);
|
||||
graph.removeVertex(task);
|
||||
rulesEnforcersByTask.remove(task);
|
||||
updateOutgoing(task);
|
||||
update(outgoing);
|
||||
}
|
||||
|
||||
private void updateOutgoing(TaskBean task) {
|
||||
for (RulesEnforcer rulesEnforcer : getOutgoing(task)) {
|
||||
update(getOutgoing(task));
|
||||
}
|
||||
|
||||
private void update(List<RulesEnforcer> outgoing) {
|
||||
for (RulesEnforcer rulesEnforcer : outgoing) {
|
||||
rulesEnforcer.update();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue