diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java index 8d1feb50e..29d323345 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java @@ -150,9 +150,13 @@ public class Order extends OrderLineGroup { } public void useSchedulingDataFor(Scenario scenario) { + useSchedulingDataFor(scenario, true); + } + + public void useSchedulingDataFor(Scenario scenario, boolean recursive) { OrderVersion orderVersion = scenarios.get(scenario); currentVersionInfo = CurrentVersionInfo.create(scenario, orderVersion); - useSchedulingDataFor(orderVersion); + useSchedulingDataFor(orderVersion, recursive); } @Override diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java index b14f2926c..bc997ca87 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java @@ -30,8 +30,8 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.Map.Entry; +import java.util.Set; import org.apache.commons.lang.Validate; import org.hibernate.validator.AssertTrue; @@ -190,10 +190,17 @@ public abstract class OrderElement extends IntegrationEntity implements } public void useSchedulingDataFor(OrderVersion orderVersion) { + useSchedulingDataFor(orderVersion, true); + } + + public void useSchedulingDataFor(OrderVersion orderVersion, + boolean recursive) { Validate.notNull(orderVersion); SchedulingDataForVersion schedulingVersion = schedulingVersionFor(orderVersion); - for (OrderElement each : getChildren()) { - each.useSchedulingDataFor(orderVersion); + if (recursive) { + for (OrderElement each : getChildren()) { + each.useSchedulingDataFor(orderVersion); + } } current = schedulingVersion.makeAvailableFor(orderVersion); }