From 9353eb4cc4469d43d7574e4f47bd4769e2937063 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Tue, 29 Nov 2011 09:09:00 +0100 Subject: [PATCH] [Bug #1276] Fix problem with START_START and END_END dependencies in critical path FEA: ItEr75S04BugFixing --- .../zkoss/ganttz/data/GanttDiagramGraph.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java index a4b7cfde1..4a0b3255f 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java @@ -1933,16 +1933,27 @@ public class GanttDiagramGraph> implements } public boolean hasVisibleIncomingDependencies(V task) { - return isSomeVisible(graph.incomingEdgesOf(task)); + return isSomeVisibleAndNotEndEnd(graph.incomingEdgesOf(task)); + } + + private boolean isSomeVisibleAndNotEndEnd(Set dependencies) { + for (D each : dependencies) { + if (!each.getType().equals(DependencyType.END_END) + && adapter.isVisible(each)) { + return true; + } + } + return false; } public boolean hasVisibleOutcomingDependencies(V task) { - return isSomeVisible(graph.outgoingEdgesOf(task)); + return isSomeVisibleAndNotStartStart(graph.outgoingEdgesOf(task)); } - private boolean isSomeVisible(Set dependencies) { + private boolean isSomeVisibleAndNotStartStart(Set dependencies) { for (D each : dependencies) { - if (adapter.isVisible(each)) { + if (!each.getType().equals(DependencyType.START_START) + && adapter.isVisible(each)) { return true; } }