From c2889c88b712f71ccfe0d42eeba72efc74f059e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Thu, 22 Dec 2011 12:34:06 +0100 Subject: [PATCH] [Bug #1304] Reorder the code to improve the performance with TaskGroups. FEA: ItEr75S04BugFixing --- .../org/libreplan/web/planner/TaskElementAdapter.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/TaskElementAdapter.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/TaskElementAdapter.java index ef7138b65..76456815d 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/TaskElementAdapter.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/TaskElementAdapter.java @@ -592,6 +592,13 @@ public class TaskElementAdapter { private GanttDate getAdvanceEndDate(BigDecimal advancePercentage) { BigDecimal hours = BigDecimal.ZERO; + + if (taskElement instanceof TaskGroup) { + //progess calculation for TaskGroups is done with + //this method, which is much lighter + return calculateLimitDateByPercentage(advancePercentage); + } + if (taskElement.getOrderElement() != null) { if(taskElement.getParent() == null){ //it's an order, we use the cached value @@ -604,10 +611,6 @@ public class TaskElementAdapter { } } - if (taskElement instanceof TaskGroup) { - return calculateLimitDateByPercentage(advancePercentage); - } - // Calculate date according to advanceHours or advancePercentage final Integer advanceHours = advancePercentage.multiply( hours).intValue();