From 464ca820423beae4c2ca29bee2545d4d4118a991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Thu, 12 May 2011 17:51:22 +0200 Subject: [PATCH] Fix disparity between dates in task properties and allocation tab FEA: ItEr74S04BugFixing --- .../org/zkoss/ganttz/TaskEditFormComposer.java | 12 ++++++++++-- .../main/java/org/zkoss/ganttz/data/GanttDate.java | 14 ++++++++++++++ .../web/planner/TaskElementAdapter.java | 10 ++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/TaskEditFormComposer.java b/ganttzk/src/main/java/org/zkoss/ganttz/TaskEditFormComposer.java index e15309d25..9a1df4f99 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/TaskEditFormComposer.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/TaskEditFormComposer.java @@ -23,6 +23,7 @@ package org.zkoss.ganttz; import java.util.Date; +import org.joda.time.LocalDate; import org.zkoss.ganttz.data.GanttDate; import org.zkoss.ganttz.data.Task; import org.zkoss.zk.ui.Component; @@ -104,14 +105,21 @@ public class TaskEditFormComposer extends GenericForwardComposer { TaskDTO result = new TaskDTO(); result.name = task.getName(); - result.beginDate = task.getBeginDate().toDayRoundedDate(); - result.endDate = task.getEndDate().toDayRoundedDate(); + result.beginDate = asDate(task.getBeginDate().toLocalDate()); + result.endDate = asDate(task.getEndDate().asExclusiveEnd()); result.notes = task.getNotes(); result.deadlineDate = task.getDeadline(); return result; } + private Date asDate(LocalDate localDate) { + if (localDate == null) { + return null; + } + return localDate.toDateTimeAtStartOfDay().toDate(); + } + private void copyFromDTO(TaskDTO taskDTO, Task currentTask, boolean copyDates) { currentTask.setName(taskDTO.name); diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDate.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDate.java index 8263eed47..99c5f4f08 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDate.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDate.java @@ -130,6 +130,10 @@ public abstract class GanttDate implements Comparable { */ public abstract Date toDayRoundedDate(); + public abstract LocalDate toLocalDate(); + + public abstract LocalDate asExclusiveEnd(); + public abstract int toPixels(IDatesMapper datesMapper); public static class LocalDateBased extends GanttDate { @@ -170,6 +174,16 @@ public abstract class GanttDate implements Comparable { return localDate.toDateTimeAtStartOfDay().toDate(); } + @Override + public LocalDate toLocalDate() { + return localDate; + } + + @Override + public LocalDate asExclusiveEnd() { + return localDate; + } + @Override public boolean isEqualsTo(GanttDate other) { return other.byCases(new ICases() { 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 8fc6285b5..4c836795b 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 @@ -290,6 +290,16 @@ public class TaskElementAdapter implements ITaskElementAdapter { return date.toDateTimeAtStartOfDay().toDate(); } + @Override + public LocalDate toLocalDate() { + return date.getDate(); + } + + @Override + public LocalDate asExclusiveEnd() { + return date.asExclusiveEnd(); + } + @Override protected boolean isEqualsToCustom(CustomDate customType) { if (customType instanceof GanttDateAdapter) {