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() {