EN · DE · RU · FR · ES

#466 : GanttTaskImpl.java

projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java Classe Java, projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java 643 lignes · 438 code · 127 commentaires · 78 vides
Objectif : Fichier source : projectforge/business/gantt/GanttTaskImpl.java. GanttTaskImpl.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.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.projectforge.framework.time.PFDateTime;
import org.projectforge.framework.utils.NumberHelper;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

public class GanttTaskImpl implements GanttTask, Serializable
{
  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(GanttTaskImpl.class);

  private static final long serialVersionUID = -2948691380516113581L;

  /**
   * Profondeur maximale prise en charge (indépendamment de tout algorithme d'affichage). Cette valeur est uniquement utilisée pour la détection des références cycliques !
   */
  public static int MAX_DEPTH = 50;

  private Long id;

  private Integer predecessorOffset;

  private GanttRelationType relationType;

  private GanttTask predecessor;

  private String description;

  private BigDecimal duration;

  private LocalDate endDate;

  private LocalDate startDate;

  private Integer progress;

  private String title;

  private GanttObjectType type;

  private String workpackageCode;

  private List<GanttTask> children;

  private boolean visible = false;

  private transient LocalDate calculatedStartDate;

  private transient boolean startDateCalculated;

  private transient LocalDate calculatedEndDate;

  private transient boolean endDateCalculated;

  public GanttTaskImpl()
  {
  }

  public GanttTaskImpl(final Long id)
  {
    this.id = id;
  }

  /**
   * @see org.projectforge.business.gantt.GanttTask#getId()
   */
  @Override
  public Serializable getId()
  {
    return this.id;

Historique Git

868d6abb7 2025 -> 2026
63081666f En-têtes des fichiers source : 2024 -> 2025.
4c04cfd65 CHANGEMENT-MAJEUR ! Migration des identifiants integer vers Long (y compris les clés étrangères, 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/GanttTaskImpl.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
index 0e3aeb173..e94f1bba8 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.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/GanttTaskImpl.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
index 1c2bf9644..0e3aeb173 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.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.
 //

4c04cfd65

CHANGEMENT-MAJEUR ! Migration des identifiants integer vers Long (y compris les clés étrangères, etc.)
4c04cfd652210afe373d55f53a5300c85997b109
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
index 37f70d4ff..1c2bf9644 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
@@ -46,7 +46,7 @@ public class GanttTaskImpl implements GanttTask, Serializable
    */
   public static int MAX_DEPTH = 50;
 
-  private Integer id;
+  private Long id;
 
   private Integer predecessorOffset;
 
@@ -86,7 +86,7 @@ public class GanttTaskImpl implements GanttTask, Serializable
   {
   }
 
-  public GanttTaskImpl(final Integer id)
+  public GanttTaskImpl(final Long id)
   {
     this.id = id;
   }
@@ -103,7 +103,7 @@ public class GanttTaskImpl implements GanttTask, Serializable
   @Override
   public GanttTaskImpl setId(final Serializable id)
   {
-    this.id = (Integer) id;
+    this.id = (Long) id;
     return this;
   }
 
@@ -610,27 +610,27 @@ public class GanttTaskImpl implements GanttTask, Serializable
    * (de TaskTree de ProjectForge) (l'id est égal à l'id de la tâche).
    * @return
    */
-  public int getNextId()
+  public long getNextId()
   {
-    final Integer id = getNextId(this, -1);
+    final Long id = getNextId(this, -1);
     return id != null ? id : -1;
   }
 
-  private Integer getNextId(final GanttTask node, final int id)
+  private Long getNextId(final GanttTask node, final int id)
   {
-    Integer result = null;
+    Long result = null;
     if (node == null) {
       return null;
     }
-    if (node.getId() != null && ((Integer) node.getId()) <= id) {
-      result = ((Integer) node.getId()) - 1;
+    if (node.getId() != null && ((Long) node.getId()) <= id) {
+      result = ((Long) node.getId()) - 1;
     }
     final List<GanttTask> children = node.getChildren();
     if (children == null) {
       return result;

b6092df09

Copyright 2023 -> 2024
b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
index eb6e567ea..37f70d4ff 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.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/GanttTaskImpl.java b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
index 6f98f5822..eb6e567ea 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/gantt/GanttTaskImpl.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.
 //