@Override public Serializable getPredecessorId() { if (this.predecessor == null) { return null; } return this.predecessor.getId(); }
protected GanttTreeTableNode(GanttTreeTableNode parent, GanttTask ganttObject) { super(parent, ganttObject.getId()); this.ganttObject = ganttObject; }
public GanttTask getExternalObject(final Serializable id) { if (id == null || externalObjects == null) { return null; } for (final GanttTask task : externalObjects) { if (id.equals(task.getId()) == true) { return task; } } return null; }
@Override public boolean match(GanttTask object, Object expression) { if (CollectionUtils.isEmpty(object.getChildren()) == true) { return false; } for (final GanttTask child : object.getChildren()) { if (child.getId() != null && child.getId().equals(expression) == true) { return true; } } return false; } }, id);
private Integer getNextId(final GanttTask node, final int id) { Integer result = null; if (node == null) { return null; } if (node.getId() != null && ((Integer) node.getId()) <= id) { result = ((Integer) node.getId()) - 1; } final List<GanttTask> children = node.getChildren(); if (children == null) { return result; } for (final GanttTask child : children) { final Integer i = getNextId(child, id); if (i == null) { continue; } if (result != null && i <= result || result == null && i <= id) { result = i; } } return result; } }
@Override protected boolean addCollectionEntry(final Collection<?> col, final Object obj, final Element el) { if (obj instanceof GanttTask == false) { return false; } final GanttTask ganttTask = (GanttTask) obj; if (ganttChartData.findById(ganttTask.getId()) != null) { // GanttTask already added to the Gantt object tree. return true; } if (taskTree.getTaskById((Integer) ganttTask.getId()) != null) { // External task, so ignore it: return true; } return false; }
@Override public String toString() { final ToStringBuilder tos = new ToStringBuilder(this); tos.append("id", ganttObject.getId()); tos.append("title", ganttObject.getTitle()); if (getChilds() != null) { tos.append("children", getChilds()); } return tos.toString(); } }
final TaskTree taskTree = taskDao.getTaskTree(); final GanttTask ganttObject = (GanttTask) obj; final TaskDO task = taskTree.getTaskById((Integer) ganttObject.getId()); if (task != null) { String taskFieldname = fieldMapping.get(fieldName);
private static void setPredecessors(final Map<Serializable, Task> taskMap, final GanttTask ganttTask) { if (ganttTask.getPredecessor() != null) { final Task task = taskMap.get(ganttTask.getId()); final Task predecessor = taskMap.get(ganttTask.getPredecessorId()); if (task == null) { log.error("Oups, task with id '" + ganttTask.getId() + "' not found."); } else if (predecessor == null) { log.error("Oups, predecessor task with id '" + ganttTask.getPredecessorId() + "' not found."); } else { final Integer predecessorOffset = ganttTask.getPredecessorOffset(); final int value; if (predecessorOffset == null) { value = 0; } else { value = predecessorOffset.intValue(); } task.addPredecessor(predecessor, getRelationType(ganttTask.getRelationType()), Duration.getInstance(value, TimeUnit.DAYS)); } } final List<GanttTask> children = ganttTask.getChildren(); if (children == null) { return; } for (final GanttTask child : children) { setPredecessors(taskMap, child); } }
final TaskDO task = taskTree.getTaskById((Integer) ganttObject.getId()); if (task != null) { if ("predecessor".equals(field.getName()) == true) {
private void drawLabel(final GanttTask node, final Document doc, final Element labels) { int indent = 0; GanttTask n = node; while (true) { n = rootNode.findParent(n.getId()); if (n == rootNode || n == null) { break; } if (n.isVisible() == true) { ++indent; } } final ObjectInfo taskInfo = getObjectInfo(node); if (StringUtils.isNotBlank(node.getWorkpackageCode()) == true && style.getWorkPackageLabelWidth() > 0) { labels.appendChild(SVGHelper.createText(doc, 0 + indent * 5, taskInfo.y, node.getWorkpackageCode())); } if (StringUtils.isNotBlank(node.getTitle()) == true) { labels.appendChild(SVGHelper.createText(doc, style.getWorkPackageLabelWidth() + indent * 10, taskInfo.y, node.getTitle())); } }
final TaskDO task = taskTree.getTaskById((Integer) ganttTask.getId()); final Integer predecessorId = task.getGanttPredecessorId(); if (predecessorId != null) {
@Override public void select(final String property, final Object selectedValue) { if ("taskId".equals(property) == true) { final Integer id; if (selectedValue instanceof String) { id = NumberHelper.parseInteger((String) selectedValue); } else { id = (Integer) selectedValue; } if (ganttChartData == null || ObjectUtils.equals(id, ganttChartData.getRootObject().getId()) == false) { ganttChartData = null; // Force refresh. form.ganttChartEditTreeTablePanel.refreshTreeTable(); } getBaseDao().setTask(getData(), id); refresh(); } else if ("ownerId".equals(property) == true) { final Integer id; if (selectedValue instanceof String) { id = NumberHelper.parseInteger((String) selectedValue); } else { id = (Integer) selectedValue; } getBaseDao().setOwner(getData(), id); } else { log.error("Property '" + property + "' not supported for selection."); } }
@SuppressWarnings("serial") private void addStartDateColumns(final Item<GanttTreeTableNode> item, final GanttTreeTableNode node, final GanttTask ganttObject, final TaskDO task) { final DatePanel startDatePanel = new DatePanel("startDate", new PropertyModel<Date>(ganttObject, "startDate"), DatePanelSettings.get() .withSelectProperty("startDate:" + node.getHashId())); addColumn(item, startDatePanel, "white-space: nowrap;"); startDatePanelMap.put(ganttObject.getId(), startDatePanel); new RejectSaveLinksFragment("rejectSaveStartDate", item, startDatePanel, task, task != null ? DateTimeFormatter.instance() .getFormattedDate(task.getStartDate()) : "") { @Override protected void onSave() { task.setStartDate(ganttObject.getStartDate()); taskDao.update(task); } @Override protected void onReject() { ganttObject.setStartDate(task.getStartDate()); } }; }
@SuppressWarnings("serial") private void addEndDateColumns(final Item<GanttTreeTableNode> item, final GanttTreeTableNode node, final GanttTask ganttObject, final TaskDO task) { final DatePanel endDatePanel = new DatePanel("endDate", new PropertyModel<Date>(ganttObject, "endDate"), DatePanelSettings.get() .withSelectProperty("endDate:" + node.getHashId())); addColumn(item, endDatePanel, "white-space: nowrap;"); endDatePanelMap.put(ganttObject.getId(), endDatePanel); new RejectSaveLinksFragment("rejectSaveEndDate", item, endDatePanel, task, task != null ? DateTimeFormatter.instance() .getFormattedDate(task.getEndDate()) : "") { @Override protected void onSave() { task.setEndDate(ganttObject.getEndDate()); taskDao.update(task); } @Override protected void onReject() { ganttObject.setEndDate(task.getEndDate()); } }; }
task = parentTask.addTask(); taskMap.put(ganttTask.getId(), task); task.setName(ganttTask.getTitle()); if (ganttTask.getStartDate() != null) {