From 4ac2564b6175de0267529454da6f10571af0ca14 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Tue, 11 Sep 2012 16:02:09 +0200 Subject: [PATCH] Indent tasks in project status report FEA: ItEr77S09WBSReport --- .../libreplan/business/orders/entities/Order.java | 5 +++++ .../business/orders/entities/OrderElement.java | 4 ++++ .../reports/dtos/ProjectStatusReportDTO.java | 13 +++++++++++++ 3 files changed, 22 insertions(+) diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/Order.java b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/Order.java index 1feab7cd4..d67d15f36 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/Order.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/Order.java @@ -670,4 +670,9 @@ public class Order extends OrderLineGroup implements Comparable { return neededToRecalculateSumExpenses; } + @Override + public boolean isOrder() { + return true; + } + } diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderElement.java b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderElement.java index 422bd4141..fea3430a3 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderElement.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderElement.java @@ -1541,4 +1541,8 @@ public abstract class OrderElement extends IntegrationEntity implements return this.sumExpenses; } + public boolean isOrder() { + return false; + } + } diff --git a/libreplan-business/src/main/java/org/libreplan/business/reports/dtos/ProjectStatusReportDTO.java b/libreplan-business/src/main/java/org/libreplan/business/reports/dtos/ProjectStatusReportDTO.java index 7982a294d..6c5dde087 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/reports/dtos/ProjectStatusReportDTO.java +++ b/libreplan-business/src/main/java/org/libreplan/business/reports/dtos/ProjectStatusReportDTO.java @@ -19,6 +19,7 @@ package org.libreplan.business.reports.dtos; +import org.apache.commons.lang.StringUtils; import org.libreplan.business.orders.entities.OrderElement; import org.libreplan.business.orders.entities.SumChargedEffort; import org.libreplan.business.orders.entities.TaskSource; @@ -58,6 +59,8 @@ public class ProjectStatusReportDTO { if (sumChargedEffort != null) { imputedHours = sumChargedEffort.getTotalChargedEffort(); } + + appendPrefixSpacesDependingOnDepth(orderElement); } public String getCode() { @@ -87,4 +90,14 @@ public class ProjectStatusReportDTO { return effortDuration.toFormattedString(); } + private void appendPrefixSpacesDependingOnDepth(OrderElement orderElement) { + int depth = 0; + while (!orderElement.getParent().isOrder()) { + depth++; + orderElement = orderElement.getParent(); + } + + name = StringUtils.repeat(" ", depth) + name; + } + } \ No newline at end of file