From 12a2dc372d340f5748f11a617c3cbb8c6e09e6f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 15 Dec 2010 00:35:37 +0100 Subject: [PATCH] Remove method from adapter getSmallestBeginDateFromChildrenFor can be implemented in GanttDiagramGraph. Thus there is less duplication. FEA: ItEr64OTS03PlanificacionHaciaAtras --- .../zkoss/ganttz/data/GanttDiagramGraph.java | 23 +++++++++++-------- .../org/zkoss/ganttz/data/TaskContainer.java | 15 ------------ .../web/common/TemplateModelAdapter.java | 7 ------ 3 files changed, 13 insertions(+), 32 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 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();