From f6a21e9942d0cd8130f09c3bc494202b7bce0bf7 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Tue, 27 Dec 2011 09:12:15 +0100 Subject: [PATCH] Refactor method getSpreadIndirectAdvanceAssignmentWithSameType to be used in more places FEA: ItEr75S04BugFixing --- .../ManageOrderElementAdvancesModel.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/orders/ManageOrderElementAdvancesModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/orders/ManageOrderElementAdvancesModel.java index a642c0fb5..772d487b0 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/orders/ManageOrderElementAdvancesModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/orders/ManageOrderElementAdvancesModel.java @@ -736,17 +736,9 @@ public class ManageOrderElementAdvancesModel implements AdvanceMeasurement advanceMeasurement) { AdvanceAssignment advance = advanceMeasurement.getAdvanceAssignment(); if ((orderElement != null) && (orderElement.getParent() != null) && (advance instanceof DirectAdvanceAssignment)) { - - List types = new ArrayList(); - - types.add(advance.getAdvanceType().getUnitName()); - if (advance.getReportGlobalAdvance()) { - types.add(PredefinedAdvancedTypes.CHILDREN.getTypeName()); - } - orderElementDAO.reattach(orderElement); Set indirects = getSpreadIndirectAdvanceAssignmentWithSameType( - orderElement, types); + orderElement, advance); for (IndirectAdvanceAssignment indirect : indirects) { if (findConsolidatedAdvance(indirect @@ -759,8 +751,20 @@ public class ManageOrderElementAdvancesModel implements } private Set getSpreadIndirectAdvanceAssignmentWithSameType( - OrderElement orderElement, List types) { + OrderElement orderElement, AdvanceAssignment advance) { + List types = new ArrayList(); + types.add(advance.getAdvanceType().getUnitName()); + if (advance.getReportGlobalAdvance()) { + types.add(PredefinedAdvancedTypes.CHILDREN.getTypeName()); + } + + return getSpreadIndirectAdvanceAssignmentWithSameType(orderElement, + types); + } + + private Set getSpreadIndirectAdvanceAssignmentWithSameType( + OrderElement orderElement, List types) { Set result = new HashSet(); for (IndirectAdvanceAssignment indirect : orderElement