EN · DE · RU · FR · ES

#470: Task2GanttTaskConverter.java

projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java Clase Java, projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java 139 líneas · 94 código · 37 comentarios · 8 en blanco
Propósito: Archivo fuente: projectforge/business/gantt/Task2GanttTaskConverter.java. Task2GanttTaskConverter.java es parte de la aplicación de gestión de proyectos de código abierto ProjectForge.

Fuente (primeras 100 líneas)

/////////////////////////////////////////////////////////////////////////////
//
// Proyecto ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Alemania (www.micromata.com)
//
// ProjectForge tiene doble licencia.
//
// Esta edición comunitaria es software libre; puedes redistribuirla y/o
// modificarla bajo los términos de la Licencia Pública General GNU publicada
// por la Free Software Foundation; versión 3 de la Licencia.
//
// Esta edición comunitaria se distribuye con la esperanza de que sea útil,
// pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
// COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la Licencia
// General GNU para más detalles.
//
// Deberías haber recibido una copia de la Licencia Pública General GNU junto
// con este programa; si no, visita http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.business.gantt;

import org.projectforge.business.task.TaskDO;
import org.projectforge.business.task.TaskNode;
import org.projectforge.business.task.TaskTree;

public class Task2GanttTaskConverter
{
  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(Task2GanttTaskConverter.class);

  /**
   * Profundidad máxima de predecesores para evitar configuraciones circulares de predecesores.
   */
  public static final GanttChartData convertToGanttObjectTree(final TaskTree taskTree, final TaskDO rootTask)
  {
    final GanttChartData ganttChartData = new GanttChartData();
    convertToGanttObject(ganttChartData, taskTree, rootTask);
    processPredecessor(ganttChartData, taskTree, ganttChartData.getRootObject());
    return ganttChartData;
  }

  /**
   * Crea una nueva tarea Gantt y copia todos los campos de la tarea dada (excluyendo el predecesor y cualquier hijo).
   * @param task
   * @return
   */
  public static final GanttTask convertToGanttObject(final TaskDO task)
  {
    final GanttTaskImpl ganttObject = new GanttTaskImpl();
    ganttObject.setId(task.getId());
    ganttObject.setPredecessorOffset(task.getGanttPredecessorOffset());
    ganttObject.setRelationType(task.getGanttRelationType());
    ganttObject.setDuration(task.getDuration());
    ganttObject.setStartDate(task.getStartDate());
    ganttObject.setEndDate(task.getEndDate());
    ganttObject.setProgress(task.getProgress());
    ganttObject.setType(task.getGanttObjectType());
    ganttObject.setDescription(task.getDescription());
    ganttObject.setTitle(task.getTitle());
    return ganttObject;
  }

  /**
   * Crea una nueva tarea Gantt y copia todos los campos de la tarea dada (excluyendo el predecesor y cualquier hijo).
   * @param task
   * @return
   */
  public static final TaskDO convertToTask(final GanttTask ganttObject)
  {
    final TaskDO task = new TaskDO();
    // No copiar el id! El id es proporcionado por la base de datos.
    task.setGanttPredecessorOffset(ganttObject.getPredecessorOffset());
    task.setGanttRelationType(ganttObject.getRelationType());
    task.setDuration(ganttObject.getDuration());
    task.setStartDate(ganttObject.getStartDate());
    task.setEndDate(ganttObject.getEndDate());
    task.setProgress(ganttObject.getProgress());
    task.setGanttObjectType(ganttObject.getType());
    task.setDescription(ganttObject.getDescription());
    task.setTitle(ganttObject.getTitle());
    return task;
  }

  private static final GanttTask convertToGanttObject(final GanttChartData ganttChartData, final TaskTree taskTree, final TaskDO task)
  {
    if (task == null) {
      log.warn("Vaya, la tarea no debería ser nula.");
      return null;
    }
    final GanttTask ganttObject = convertToGanttObject(task);
    if (ganttChartData.getRootObject() == null) {
      ganttChartData.setRootObject(ganttObject);
    }
    final TaskNode taskNode = taskTree.getTaskNodeById(task.getId());
    if (taskNode.hasChildren()) {
      for (final TaskNode childNode : taskNode.getChildren()) {
        if (!childNode.isDeleted()) {

Historial Git

868d6abb7 2025 -> 2026
63081666f Encabezados de archivos fuente: 2024 -> 2025.
4c04cfd65 CAMBIO IMPORTANTE! Migración de ids enteros a ids Long (incluyendo claves foráneas, etc.)
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
index 9072d7a45..ce8fd8a1f 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

63081666f

Encabezados de archivos fuente: 2024 -> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
index 2eb7a00ac..9072d7a45 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

4c04cfd65

CAMBIO IMPORTANTE! Migración de ids enteros a ids Long (incluyendo claves foráneas, etc.)
4c04cfd652210afe373d55f53a5300c85997b109
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
index 490fa519e..2eb7a00ac 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
@@ -112,8 +112,8 @@ public class Task2GanttTaskConverter
       return;
     }
     if (!ganttTask.equals(ganttChartData.getRootObject())) {
-      final TaskDO task = taskTree.getTaskById((Integer) ganttTask.getId());
-      final Integer predecessorId = task.getGanttPredecessorId();
+      final TaskDO task = taskTree.getTaskById((Long) ganttTask.getId());
+      final Long predecessorId = task.getGanttPredecessorId();
       if (predecessorId != null) {
         GanttTask predecessor = ganttChartData.getRootObject().findById(predecessorId);
         if (predecessor == null) {

b6092df09

Copyright 2023 -> 2024
b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
index 37306edcc..490fa519e 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2023 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

ab45d51fa

Copyright 2001-2022 -> 2001-2023.
ab45d51fa419ede6174b31d69987f96d4b841ff9
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
index f152a616f..37306edcc 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/Task2GanttTaskConverter.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2022 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2023 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //