From 749bf03981247c7e9f05a70e8faeb78d20b128fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Tue, 28 Sep 2010 17:28:49 +0200 Subject: [PATCH] Add getEndDate and setEndDate to ITaskFundamentalProperties FEA: ItEr61S08TimeUnitConfigurablePlanning --- .../data/DefaultFundamentalProperties.java | 10 ++++++++++ .../data/ITaskFundamentalProperties.java | 4 ++++ .../main/java/org/zkoss/ganttz/data/Task.java | 4 +++- .../web/planner/TaskElementAdapter.java | 18 +++++++++++------- 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java index 2fb283ce2..d5d4dcf2f 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java @@ -105,6 +105,16 @@ public class DefaultFundamentalProperties implements ITaskFundamentalProperties this.lengthMilliseconds = lengthMilliseconds; } + @Override + public Date getEndDate() { + return new Date(beginDate + getLengthMilliseconds()); + } + + @Override + public void setEndDate(Date endDate) { + this.lengthMilliseconds = endDate.getTime() - beginDate; + } + public String getNotes() { return notes; } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java index 4c5bb7f98..dc2a2d30c 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java @@ -56,6 +56,10 @@ public interface ITaskFundamentalProperties { public void setLengthMilliseconds(long lengthMilliseconds); + public Date getEndDate(); + + public void setEndDate(Date endDate); + public long getLengthMilliseconds(); public String getNotes(); diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java index 18eab1b6e..b04441c81 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java @@ -34,8 +34,8 @@ import org.zkoss.ganttz.data.GanttDiagramGraph.IDependenciesEnforcerHook; import org.zkoss.ganttz.data.GanttDiagramGraph.IDependenciesEnforcerHookFactory; import org.zkoss.ganttz.data.GanttDiagramGraph.INotificationAfterDependenciesEnforcement; import org.zkoss.ganttz.data.constraint.Constraint; -import org.zkoss.ganttz.data.constraint.DateConstraint; import org.zkoss.ganttz.data.constraint.Constraint.IConstraintViolationListener; +import org.zkoss.ganttz.data.constraint.DateConstraint; import org.zkoss.ganttz.util.ConstraintViolationNotificator; /** @@ -233,6 +233,7 @@ public abstract class Task implements ITaskFundamentalProperties { .removePropertyChangeListener(listener); } + @Override public Date getEndDate() { return new Date(getBeginDate().getTime() + getLengthMilliseconds()); } @@ -261,6 +262,7 @@ public abstract class Task implements ITaskFundamentalProperties { previousValue, this.fundamentalProperties.getNotes()); } + @Override public void setEndDate(Date value) { if (value == null) { return; diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java index 60440795f..5035161c8 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java @@ -208,23 +208,27 @@ public class TaskElementAdapter implements ITaskElementAdapter { @Override public void setLengthMilliseconds(final long lengthMilliseconds) { + setEndDate(new Date(getBeginDate().getTime() + + lengthMilliseconds)); + } + + @Override + public Date getEndDate() { + return taskElement.getEndDate(); + } + + public void setEndDate(final Date endDate) { transactionService .runOnReadOnlyTransaction(new IOnTransaction() { @Override public Void execute() { stepsBeforePossibleReallocation(); - updateEndDate(lengthMilliseconds); + taskElement.resizeTo(currentScenario, endDate); return null; } }); } - private void updateEndDate(long lengthMilliseconds) { - Date endDate = new Date(getBeginDate().getTime() - + lengthMilliseconds); - taskElement.resizeTo(currentScenario, endDate); - } - @Override public Date getHoursAdvanceEndDate() { OrderElement orderElement = taskElement.getOrderElement();