Parametrize useSchedulingDataFor so it can be specified if it's recursive

By default the behaviour is recursive so existent code is not broken.

FEA: ItEr60S17CambiosPantallaVistaEmpresa
This commit is contained in:
Óscar González Fernández 2010-09-22 16:17:15 +02:00 committed by Jacobo Aragunde Pérez
parent fc475b1c34
commit fba968b3ab
2 changed files with 15 additions and 4 deletions

View file

@ -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

View file

@ -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);
}