diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java b/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java index ebd28abf8..f21297473 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java @@ -23,6 +23,8 @@ package org.zkoss.ganttz; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -438,4 +440,17 @@ public class FunctionalityExposedForExtensions implements IContext { } + @Override + public List getTasksOrderedByStartDate() { + List tasks = diagramGraph.getTasks(); + Collections.sort(tasks, new Comparator() { + + @Override + public int compare(Task o1, Task o2) { + return o1.getBeginDate().compareTo(o2.getBeginDate()); + } + }); + return tasks; + } + } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextRelativeToOtherComponent.java b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextRelativeToOtherComponent.java index 277e80666..56bbeb263 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextRelativeToOtherComponent.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextRelativeToOtherComponent.java @@ -20,9 +20,12 @@ package org.zkoss.ganttz.extensions; +import java.util.List; + import org.zkoss.ganttz.adapters.IDomainAndBeansMapper; import org.zkoss.ganttz.adapters.PlannerConfiguration; import org.zkoss.ganttz.data.Position; +import org.zkoss.ganttz.data.Task; import org.zkoss.ganttz.timetracker.TimeTracker; import org.zkoss.zk.ui.Component; @@ -107,4 +110,9 @@ public class ContextRelativeToOtherComponent implements IContext { context.reloadCharts(); } + @Override + public List getTasksOrderedByStartDate() { + return context.getTasksOrderedByStartDate(); + } + } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextWithPlannerTask.java b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextWithPlannerTask.java index cf362ad98..bc57f842b 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextWithPlannerTask.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextWithPlannerTask.java @@ -20,6 +20,8 @@ package org.zkoss.ganttz.extensions; +import java.util.List; + import org.zkoss.ganttz.adapters.IDomainAndBeansMapper; import org.zkoss.ganttz.adapters.PlannerConfiguration; import org.zkoss.ganttz.data.Position; @@ -110,4 +112,9 @@ public class ContextWithPlannerTask implements IContextWithPlannerTask { context.reloadCharts(); } + @Override + public List getTasksOrderedByStartDate() { + return context.getTasksOrderedByStartDate(); + } + } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/IContext.java b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/IContext.java index 79ad3b631..37815ee9a 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/IContext.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/IContext.java @@ -20,6 +20,8 @@ package org.zkoss.ganttz.extensions; +import java.util.List; + import org.zkoss.ganttz.Planner; import org.zkoss.ganttz.TaskComponent; import org.zkoss.ganttz.adapters.IAdapterToTaskFundamentalProperties; @@ -99,6 +101,8 @@ public interface IContext { IDomainAndBeansMapper getMapper(); + public List getTasksOrderedByStartDate(); + /** * Recalculates the position of the task associated to domainObject. * @param domainObject