Now by default the order lines are scheduled
FEA: ItEr65S06BugFixing
This commit is contained in:
parent
ec11dab825
commit
2f2ebb8f86
3 changed files with 20 additions and 9 deletions
|
|
@ -48,12 +48,14 @@ public class SchedulingDataForVersion extends BaseEntity {
|
|||
|
||||
private TaskSource taskSource;
|
||||
|
||||
private SchedulingState.Type schedulingStateType = Type.NO_SCHEDULED;
|
||||
private SchedulingState.Type schedulingStateType;
|
||||
|
||||
private final OrderVersion originOrderVersion;
|
||||
|
||||
private boolean hasPendingChanges = false;
|
||||
|
||||
private final Type initialSchedulingStateType;
|
||||
|
||||
private Data(OrderVersion orderVersion,
|
||||
SchedulingDataForVersion version,
|
||||
TaskSource taskSource,
|
||||
|
|
@ -63,6 +65,7 @@ public class SchedulingDataForVersion extends BaseEntity {
|
|||
this.originVersion = version;
|
||||
this.taskSource = taskSource;
|
||||
this.schedulingStateType = schedulingStateType;
|
||||
this.initialSchedulingStateType = schedulingStateType;
|
||||
}
|
||||
|
||||
public TaskSource getTaskSource() {
|
||||
|
|
@ -85,7 +88,7 @@ public class SchedulingDataForVersion extends BaseEntity {
|
|||
}
|
||||
|
||||
public void initializeType(Type type) {
|
||||
if (getSchedulingStateType() != Type.NO_SCHEDULED) {
|
||||
if (getSchedulingStateType() != initialSchedulingStateType) {
|
||||
throw new IllegalStateException("already initialized");
|
||||
}
|
||||
this.setSchedulingStateType(type);
|
||||
|
|
@ -153,11 +156,17 @@ public class SchedulingDataForVersion extends BaseEntity {
|
|||
Validate.notNull(orderElement);
|
||||
SchedulingDataForVersion schedulingDataForVersion = new SchedulingDataForVersion();
|
||||
schedulingDataForVersion.orderElement = orderElement;
|
||||
schedulingDataForVersion.schedulingStateType = defaultTypeFor(orderElement);
|
||||
return create(schedulingDataForVersion);
|
||||
}
|
||||
|
||||
private static Type defaultTypeFor(OrderElement orderElement) {
|
||||
return orderElement.isLeaf() ? Type.SCHEDULING_POINT
|
||||
: Type.NO_SCHEDULED;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private SchedulingState.Type schedulingStateType = Type.NO_SCHEDULED;
|
||||
private SchedulingState.Type schedulingStateType;
|
||||
|
||||
@NotNull
|
||||
private OrderElement orderElement;
|
||||
|
|
|
|||
|
|
@ -147,7 +147,8 @@ public class ResourceAllocationDAOTest {
|
|||
OrderVersion orderVersion = setupVersionUsing(scenarioManager,
|
||||
order);
|
||||
orderLine.useSchedulingDataFor(orderVersion);
|
||||
orderLine.getSchedulingState().schedule();
|
||||
assert orderLine.getSchedulingStateType().isSomewhatScheduled();
|
||||
|
||||
orderElementDAO.save(orderLine);
|
||||
|
||||
HoursGroup hoursGroup = HoursGroup.create(orderLine);
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ public class OrderModelTest {
|
|||
order.add(line);
|
||||
line.setName(UUID.randomUUID().toString());
|
||||
line.setCode(UUID.randomUUID().toString());
|
||||
line.getSchedulingState().schedule();
|
||||
assert line.getSchedulingState().isSomewhatScheduled();
|
||||
orderModel.save();
|
||||
assertTrue(orderDAO.exists(order.getId()));
|
||||
TaskSource lineTaskSource = line.getTaskSource();
|
||||
|
|
@ -230,14 +230,15 @@ public class OrderModelTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void itKnowsIfSchedulingDataHasBeenModified() {
|
||||
public void ifAnOrderLineIsScheduledItsTypeChanges() {
|
||||
Order order = givenOrderFromPrepareForCreate();
|
||||
assertFalse(order.hasSchedulingDataBeingModified());
|
||||
OrderElement line = OrderLine.createOrderLineWithUnfixedPercentage(20);
|
||||
line.useSchedulingDataFor(order.getCurrentOrderVersion());
|
||||
line.getSchedulingState().unschedule();
|
||||
order.add(line);
|
||||
assertFalse(order.hasSchedulingDataBeingModified());
|
||||
assertFalse(order.getSchedulingState().isSomewhatScheduled());
|
||||
line.getSchedulingState().schedule();
|
||||
assertTrue(order.hasSchedulingDataBeingModified());
|
||||
assertTrue(order.getSchedulingState().isSomewhatScheduled());
|
||||
}
|
||||
|
||||
@Ignore("Test ignored until having the possibility to have a user " +
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue