Now more tasks are reachable from a TaskPoint

Now from an end date change the start can change because of backwards
scheduling. This must be considered when considering if a dependency
provokes an infinite loop or when calculating the recalculations to be
done.

For example, if a end date of a tasks is modified the start date could
be moved and this could provoke other tasks depending on this start
date to be moved. This is true for all tasks but the containers that
have a special behavior.

FEA: ItEr64OTS03PlanificacionHaciaAtras
This commit is contained in:
Óscar González Fernández 2010-11-23 18:10:58 +01:00
parent 2b28b757f8
commit f7e3adbfd2

View file

@ -1342,7 +1342,11 @@ public class GanttDiagramGraph<V, D extends IDependency<V>> implements
public enum PointType {
BOTH, END, NONE;
public boolean sendsModificationsThrough(DependencyType type) {
public <V> boolean sendsModificationsThrough(IAdapter<V, ?> adapter,
V source, DependencyType type) {
if (!adapter.isContainer(source)) {
return true;
}
switch (this) {
case NONE:
return false;
@ -1403,8 +1407,10 @@ public class GanttDiagramGraph<V, D extends IDependency<V>> implements
public boolean sendsModificationsThrough(D dependency) {
DependencyType type = adapter.getType(dependency);
return adapter.getSource(dependency).equals(task)
&& pointType.sendsModificationsThrough(type);
T source = adapter.getSource(dependency);
return source.equals(task)
&& pointType.sendsModificationsThrough(adapter, source,
type);
}
}