ItEr22S12CUVistaRecursosTempoPorProxectoItEr21S07: The dependency associated is retrieved dinamically.

This commit is contained in:
Óscar González Fernández 2009-08-18 12:26:56 +02:00
parent 4d49e4c662
commit 99d5c21a4a
4 changed files with 21 additions and 9 deletions

View file

@ -100,8 +100,8 @@ public class DependencyComponent extends XulElement implements AfterCompose {
}
public Dependency getDependency() {
return new Dependency(source.getTask(), destination
.getTask(), DependencyType.END_START);
return context.getDiagramGraph().getDependencyFrom(source.getTask(),
destination.getTask());
}
public DependencyType getDependencyType() {

View file

@ -243,15 +243,19 @@ public class FunctionalityExposedForExtensions<T> implements IContext<T> {
return dep;
}
public void addDependency(DependencyComponent dependencyComponent) {
Dependency dependency = dependencyComponent.getDependency();
public void addDependency(Dependency dependency) {
if (!canAddDependency(dependency))
return;
getDependencyList().addDependencyComponent(dependencyComponent);
diagramGraph.add(dependency);
getDependencyList().addDependencyComponent(
getTaskList().asDependencyComponent(dependency));
adapter.addDependency(toDomainDependency(dependency));
}
private TaskList getTaskList() {
return planner.getTaskList();
}
private boolean canAddDependency(Dependency dependency) {
return adapter.canAddDependency(toDomainDependency(dependency));
}

View file

@ -1,12 +1,14 @@
package org.zkoss.ganttz;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.zkoss.ganttz.data.Dependency;
import org.zkoss.ganttz.data.DependencyType;
import org.zkoss.ganttz.data.Position;
import org.zkoss.ganttz.data.Task;
import org.zkoss.ganttz.util.MenuBuilder;
@ -80,6 +82,10 @@ public class TaskList extends XulElement implements AfterCompose {
return result;
}
public DependencyComponent asDependencyComponent(Dependency dependency) {
return asDependencyComponents(Arrays.asList(dependency)).get(0);
}
public synchronized void addTaskComponent(Component beforeThis,
final TaskComponent taskComponent, boolean relocate) {
final boolean isFirst = getFirstTopTaskComponent() == null
@ -290,9 +296,7 @@ public class TaskList extends XulElement implements AfterCompose {
}
public void addDependency(TaskComponent source, TaskComponent destination) {
DependencyComponent dependencyComponent = new DependencyComponent(
context,
source, destination);
context.addDependency(dependencyComponent);
context.addDependency(new Dependency(source.getTask(), destination
.getTask(), DependencyType.END_START));
}
}

View file

@ -225,4 +225,8 @@ public class GanttDiagramGraph {
parentShrinkingEnforcer.enforce();
}
public Dependency getDependencyFrom(Task from, Task to) {
return graph.getEdge(from, to);
}
}