diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java b/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java index 34a1acb51..ad86d6c42 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java @@ -22,9 +22,12 @@ package org.zkoss.ganttz.adapters; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.List; import org.apache.commons.lang.Validate; +import org.zkoss.ganttz.data.constraint.Constraint; +import org.zkoss.ganttz.data.constraint.DateConstraint; import org.zkoss.ganttz.extensions.ICommand; import org.zkoss.ganttz.extensions.ICommandOnTask; import org.zkoss.ganttz.extensions.IContext; @@ -91,6 +94,9 @@ public class PlannerConfiguration implements IDisabilityConfiguration { private boolean editingDatesEnabled = true; + private Date notBeforeThan = null; + + public PlannerConfiguration(IAdapterToTaskFundamentalProperties adapter, IStructureNavigator navigator, List data) { this.adapter = adapter; @@ -132,6 +138,10 @@ public class PlannerConfiguration implements IDisabilityConfiguration { return goingDownInLastArrowCommand; } + public void setNotBeforeThan(Date notBeforeThan) { + this.notBeforeThan = new Date(notBeforeThan.getTime()); + } + public void setGoingDownInLastArrowCommand( ICommand goingDownInLastArrowCommand) { Validate.notNull(goingDownInLastArrowCommand); @@ -199,4 +209,17 @@ public class PlannerConfiguration implements IDisabilityConfiguration { this.editingDatesEnabled = editingDatesEnabled; } + public List> getStartConstraints() { + if (notBeforeThan != null) { + return Collections.singletonList(DateConstraint + .biggerOrEqualThan(notBeforeThan)); + } else { + return Collections.emptyList(); + } + } + + public List> getEndConstraints() { + return Collections.emptyList(); + } + }