ItEr34S08ValidacionEProbasFuncionaisItEr33S08: Adding the schedule state to the parent must be done after the children has been reorganizated
This commit is contained in:
parent
fc24ce7cc6
commit
3bcebae1b4
1 changed files with 9 additions and 5 deletions
|
|
@ -23,6 +23,7 @@ package org.navalplanner.business.orders.entities;
|
|||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* Implementation of {@link IOrderLineGroup}. <br />
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue