EN · DE · RU · FR · ES

#458 : GanttChartData.java

projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java Classe Java, projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java 123 lignes · 77 code · 32 commentaires · 14 vides
Objectif : Fichier source : projectforge/business/gantt/GanttChartData.java. GanttChartData.java fait partie de l'application open-source de gestion de projet ProjectForge.

Source (100 premières lignes)

/////////////////////////////////////////////////////////////////////////////
//
// Projet ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Allemagne (www.micromata.com)
//
// ProjectForge est sous double licence.
//
// Cette édition communautaire est un logiciel libre ; vous pouvez la redistribuer et/ou
// la modifier selon les termes de la GNU General Public License telle que publiée
// par la Free Software Foundation ; version 3 de la Licence.
//
// Cette édition communautaire est distribuée dans l'espoir qu'elle sera utile,
// mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de
// QUALITÉ MARCHANDE ou d'ADÉQUATION À UN USAGE PARTICULIER. Voir la GNU General
// Public License pour plus de détails.
//
// Vous devriez avoir reçu une copie de la GNU General Public License avec
// ce programme ; sinon, consultez http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.business.gantt;

import org.projectforge.business.task.TaskDO;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;

public class GanttChartData implements Serializable
{
  private static final long serialVersionUID = 726187772438594384L;

  private GanttTask rootObject;

  private Collection<GanttTask> externalObjects;

  public void setRootObject(GanttTask rootObject)
  {
    this.rootObject = rootObject;
  }

  public GanttTask getRootObject()
  {
    return rootObject;
  }
  
  public GanttTask findById(final Serializable id) {
    if (rootObject == null) {
      return null;
    }
    return rootObject.findById(id);
  }

  /**
   * L'objet retourné représente une tâche de l'arbre des tâches de ProjectForge qui doit être en dehors de l'arbre des objets Gantt. Les tâches
   * externes sont stockées en tant que tâches externes. Le GanttTask n'a pas de prédécesseur. La date de début et la date de fin seront définies sur les valeurs données ou, si non
   * données, sur les valeurs calculées.<br/>
   * La valeur par défaut est false. <br/>
   */
  public GanttTask ensureAndGetExternalGanttObject(final TaskDO task)
  {
    if (task == null || task.getId() == null) {
      return null;
    }
    if (externalObjects == null) {
      externalObjects = new ArrayList<>();
    }
    GanttTask ganttTask = getExternalObject(task.getId());
    if (ganttTask == null) {
      ganttTask = getExternalGanttObject(task);
      externalObjects.add(ganttTask);
    }
    return ganttTask;
  }

  private GanttTask getExternalGanttObject(final TaskDO task)
  {
    final GanttTask ganttObject = convertToGanttObject(task);
    if (ganttObject.getStartDate() == null) {
      ganttObject.setStartDate(GanttUtils.getCalculatedStartDate(ganttObject));
    }
    if (ganttObject.getEndDate() == null) {
      ganttObject.setEndDate(GanttUtils.getCalculatedEndDate(ganttObject));
    }
    // Supprimer toute chaîne de prédécesseurs existante :
    ganttObject.setPredecessor(null);
    return ganttObject;
  }

  private GanttTask convertToGanttObject(final TaskDO task)
  {
    final GanttTask ganttObject = Task2GanttTaskConverter.convertToGanttObject(task);
    final TaskDO predecessorTask = task.getGanttPredecessor();
    if (predecessorTask != null) {
      ganttObject.setPredecessor(convertToGanttObject(predecessorTask));
    }
    return ganttObject;

Historique Git

868d6abb7 2025 -> 2026
63081666f En-têtes des fichiers source : 2024 -> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
index d7999becd..7687e7cf1 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2025 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

63081666f

En-têtes des fichiers source : 2024 -> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
index 596b7cef4..d7999becd 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2024 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

b6092df09

Copyright 2023 -> 2024
b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
index 1e75526d2..596b7cef4 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2023 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2024 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

ab45d51fa

Copyright 2001-2022 -> 2001-2023.
ab45d51fa419ede6174b31d69987f96d4b841ff9
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
index 17a1cb67e..1e75526d2 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2022 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2023 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

5f7ef41b8

Copyright 2021 -> 2022
5f7ef41b8cbbf29b1bff094f0c0b708dcaecb19e
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
index c21c13ecb..17a1cb67e 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttChartData.java
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2021 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2022 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //