From 3bcebae1b4b0f7baca4a389f6714d24384d42600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Mon, 16 Nov 2009 00:57:52 +0100 Subject: [PATCH] ItEr34S08ValidacionEProbasFuncionaisItEr33S08: Adding the schedule state to the parent must be done after the children has been reorganizated --- .../orders/entities/OrderLineGroupManipulator.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroupManipulator.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroupManipulator.java index 874c813d0..ddcef2dda 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroupManipulator.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroupManipulator.java @@ -23,6 +23,7 @@ package org.navalplanner.business.orders.entities; import java.util.Collections; import java.util.List; + /** * Implementation of {@link IOrderLineGroup}.
* @author Óscar González Fernández @@ -52,20 +53,21 @@ public class OrderLineGroupManipulator implements IOrderLineGroup { public void add(OrderElement orderElement) { setParentIfRequired(orderElement); orderElements.add(orderElement); + addSchedulingStateToParent(orderElement); } private void setParentIfRequired(OrderElement orderElement) { if (this.parent != null) { orderElement.setParent(this.parent); - addSchedulingStateToParent(orderElement); } } private void addSchedulingStateToParent(OrderElement orderElement) { - SchedulingState schedulingState = orderElement.getSchedulingState(); - removeSchedulingStateFromParent(orderElement); - this.parent.getSchedulingState().add( - schedulingState); + if (this.parent != null) { + SchedulingState schedulingState = orderElement.getSchedulingState(); + removeSchedulingStateFromParent(orderElement); + this.parent.getSchedulingState().add(schedulingState); + } } private void removeSchedulingStateFromParent(OrderElement orderElement) { @@ -85,6 +87,7 @@ public class OrderLineGroupManipulator implements IOrderLineGroup { public void replace(OrderElement oldOrderElement, OrderElement orderElement) { setParentIfRequired(orderElement); Collections.replaceAll(orderElements, oldOrderElement, orderElement); + addSchedulingStateToParent(orderElement); } @Override @@ -109,6 +112,7 @@ public class OrderLineGroupManipulator implements IOrderLineGroup { public void add(int position, OrderElement orderElement) { setParentIfRequired(orderElement); orderElements.add(position, orderElement); + addSchedulingStateToParent(orderElement); } }