[Bug #712] Printed container as in critical path when it is collapsed and some of its children are in critical path.
FEA: ItEr63S03BugFixing
This commit is contained in:
parent
64b5c4e72e
commit
9daf7e6d34
2 changed files with 17 additions and 6 deletions
|
|
@ -58,6 +58,11 @@
|
|||
<groupId>commons-lang</groupId>
|
||||
<artifactId>commons-lang</artifactId>
|
||||
</dependency>
|
||||
<!-- Commons collections -->
|
||||
<dependency>
|
||||
<groupId>commons-collections</groupId>
|
||||
<artifactId>commons-collections</artifactId>
|
||||
</dependency>
|
||||
<!-- ZK -->
|
||||
<dependency>
|
||||
<groupId>org.zkoss.zk</groupId>
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.zkoss.ganttz.adapters.DomainDependency;
|
||||
import org.zkoss.ganttz.adapters.IAdapterToTaskFundamentalProperties;
|
||||
|
|
@ -39,13 +40,13 @@ import org.zkoss.ganttz.adapters.PlannerConfiguration;
|
|||
import org.zkoss.ganttz.data.Dependency;
|
||||
import org.zkoss.ganttz.data.DependencyType;
|
||||
import org.zkoss.ganttz.data.GanttDiagramGraph;
|
||||
import org.zkoss.ganttz.data.GanttDiagramGraph.GanttZKDiagramGraph;
|
||||
import org.zkoss.ganttz.data.ITaskFundamentalProperties;
|
||||
import org.zkoss.ganttz.data.Milestone;
|
||||
import org.zkoss.ganttz.data.Position;
|
||||
import org.zkoss.ganttz.data.Task;
|
||||
import org.zkoss.ganttz.data.TaskContainer;
|
||||
import org.zkoss.ganttz.data.TaskLeaf;
|
||||
import org.zkoss.ganttz.data.GanttDiagramGraph.GanttZKDiagramGraph;
|
||||
import org.zkoss.ganttz.data.criticalpath.CriticalPathCalculator;
|
||||
import org.zkoss.ganttz.extensions.IContext;
|
||||
import org.zkoss.ganttz.timetracker.TimeTracker;
|
||||
|
|
@ -386,11 +387,16 @@ public class FunctionalityExposedForExtensions<T> implements IContext<T> {
|
|||
List<Task> criticalPath = criticalPathCalculator
|
||||
.calculateCriticalPath(diagramGraph);
|
||||
for (Task task : diagramGraph.getTasks()) {
|
||||
if (criticalPath.contains(task)) {
|
||||
task.setInCriticalPath(true);
|
||||
} else {
|
||||
task.setInCriticalPath(false);
|
||||
}
|
||||
task.setInCriticalPath(isInCriticalPath(criticalPath, task));
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isInCriticalPath(List<Task> criticalPath, Task task) {
|
||||
if (task.isContainer() && !task.isExpanded()) {
|
||||
List<Task> allTaskLeafs = ((TaskContainer) task).getAllTaskLeafs();
|
||||
return CollectionUtils.containsAny(criticalPath, allTaskLeafs);
|
||||
} else {
|
||||
return criticalPath.contains(task);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue