/** * The returned object represents a task of the ProjectForge's task tree which should be outside from the Gantt object tree. External * tasks are stored as external tasks. The GanttTask has no predecessor. The start date and end date will be set to the given or if not * given to the calculated values.<br/> * Default is false. <br/> */ public GanttTask ensureAndGetExternalGanttObject(final TaskDO task) { if (task == null || task.getId() == null) { return null; } if (externalObjects == null) { externalObjects = new ArrayList<GanttTask>(); } GanttTask ganttTask = getExternalObject(task.getId()); if (ganttTask == null) { ganttTask = getExternalGanttObject(task); externalObjects.add(ganttTask); } return ganttTask; }
GanttChartData data = ganttChartDao.readGanttObjects(ganttChartDO); assertExternalTasks(data, prefix); final GanttTask external2_1 = ganttChartData.getExternalObject(getTask(prefix + "2.1").getId());
private void assertExternalTasks(final GanttChartData ganttChartData, final String prefix) { GanttTask externalGanttTask = ganttChartData.getExternalObject(getTaskId(prefix + "2.1")); assertNull("Predecessor should be null.", externalGanttTask.getPredecessor()); assertDate("Start date unmodified.", 2010, Calendar.AUGUST, 16, externalGanttTask.getStartDate()); assertDate("End date should have been calculated and set.", 2010, Calendar.AUGUST, 30, externalGanttTask.getEndDate()); externalGanttTask = ganttChartData.getExternalObject(getTaskId(prefix + "2.2")); assertNull("Predecessor should be null.", externalGanttTask.getPredecessor()); assertDate("Start date should have been calculated and set.", 2010, Calendar.AUGUST, 30, externalGanttTask.getStartDate()); assertDate("End date should have been calculated and set.", 2010, Calendar.SEPTEMBER, 13, externalGanttTask.getEndDate()); }