From b3ceb7a70dbfe5f35b9e5f955feee68c7f081a91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Thu, 1 Oct 2009 23:07:31 +0200 Subject: [PATCH] ItEr28S07CUVistaRecursosTempoPorProxectoItEr27S08: Fixing bug at view of resource load when there are no assignments yet --- .../data/resourceload/LoadTimelinesGroup.java | 1 + .../web/resourceload/ResourceLoadModel.java | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/resourceload/LoadTimelinesGroup.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/resourceload/LoadTimelinesGroup.java index 8fd48aea1..833287c59 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/resourceload/LoadTimelinesGroup.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/resourceload/LoadTimelinesGroup.java @@ -32,6 +32,7 @@ import org.zkoss.ganttz.util.Interval; public class LoadTimelinesGroup { public static Interval getIntervalFrom(List timeLines) { + Validate.notEmpty(timeLines); LocalDate start = null; LocalDate end = null; for (LoadTimelinesGroup loadTimelinesGroup : timeLines) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java index b8c1da032..aa0130b3c 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java @@ -24,6 +24,8 @@ import static org.navalplanner.web.I18nHelper._; import java.util.ArrayList; import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; @@ -66,7 +68,18 @@ public class ResourceLoadModel implements IResourceLoadModel { @Transactional(readOnly = true) public void initGlobalView() { loadTimeLines = calculateLoadTimelinesGroups(); - viewInterval = LoadTimelinesGroup.getIntervalFrom(loadTimeLines); + if (!loadTimeLines.isEmpty()) { + viewInterval = LoadTimelinesGroup.getIntervalFrom(loadTimeLines); + } else { + viewInterval = new Interval(new Date(), plusFiveYears(new Date())); + } + } + + private Date plusFiveYears(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.YEAR, 5); + return calendar.getTime(); } private List calculateLoadTimelinesGroups() {