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 c4f556db2..46fd64b6a 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java @@ -99,8 +99,6 @@ public class GanttDiagramGraph> implements void setEndDateFor(V task, GanttDate newEnd); - GanttDate getSmallestBeginDateFromChildrenFor(V container); - public List> getConstraints( ConstraintCalculator calculator, Set withDependencies, Point point); @@ -213,12 +211,6 @@ public class GanttDiagramGraph> implements return task.getEndConstraints(); } - @Override - public GanttDate getSmallestBeginDateFromChildrenFor(Task container) { - return ((TaskContainer) container) - .getSmallestBeginDateFromChildren(); - } - @Override public boolean isFixed(Task task) { return task.isFixed(); @@ -844,8 +836,7 @@ public class GanttDiagramGraph> implements boolean enforceParentShrinkage(V container) { GanttDate oldBeginDate = adapter.getStartDate(container); - GanttDate firstStart = adapter - .getSmallestBeginDateFromChildrenFor(container); + GanttDate firstStart = getSmallestBeginDateFromChildrenFor(container); GanttDate previousEnd = adapter.getEndDateFor(container); if (firstStart.after(oldBeginDate)) { adapter.setStartDateFor(container, firstStart); @@ -856,6 +847,18 @@ public class GanttDiagramGraph> implements } } + private GanttDate getSmallestBeginDateFromChildrenFor(V container) { + List children = adapter.getChildren(container); + if (children.isEmpty()) { + return adapter.getStartDate(container); + } + List dates = new ArrayList(); + for (V each : children) { + dates.add(adapter.getStartDate(each)); + } + return Collections.min(dates); + } + List getRecalculationsNeededFrom(V task) { List result = new LinkedList(); Set parentRecalculationsAlreadyDone = new HashSet(); diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/TaskContainer.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/TaskContainer.java index bcbf6faf7..7035c9582 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/TaskContainer.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/TaskContainer.java @@ -87,21 +87,6 @@ public class TaskContainer extends Task { return tasks; } - public GanttDate getSmallestBeginDateFromChildren() { - if (tasks.isEmpty()) { - return getBeginDate(); - } - return getSmallest(getStartDates()); - } - - private List getStartDates() { - ArrayList result = new ArrayList(); - for (Task task : tasks) { - result.add(task.getBeginDate()); - } - return result; - } - private List getEndDates() { ArrayList result = new ArrayList(); for (Task task : tasks) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/TemplateModelAdapter.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/TemplateModelAdapter.java index e895ed896..d87e9408c 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/TemplateModelAdapter.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/TemplateModelAdapter.java @@ -11,7 +11,6 @@ import org.apache.commons.lang.Validate; import org.joda.time.LocalDate; import org.navalplanner.business.planner.entities.TaskElement; import org.navalplanner.business.planner.entities.TaskElement.IDatesInterceptor; -import org.navalplanner.business.planner.entities.TaskGroup; import org.navalplanner.business.scenarios.entities.Scenario; import org.navalplanner.business.workingday.IntraDayDate; import org.navalplanner.web.common.TemplateModel.DependencyWithVisibility; @@ -78,12 +77,6 @@ public class TemplateModelAdapter implements return toGantt(task.getIntraDayEndDate()); } - @Override - public GanttDate getSmallestBeginDateFromChildrenFor(TaskElement container) { - TaskGroup taskGroup = (TaskGroup) container; - return toGantt(taskGroup.getSmallestStartDateFromChildren()); - } - @Override public TaskElement getSource(DependencyWithVisibility dependency) { return dependency.getSource();