ItEr49S04ValidacionEProbasFuncionaisItEr48S04: [Bug #351] Fixed bug. Using order element code for hours group instead of INITIAL_HOURS_GROUP_CODE.

This commit is contained in:
Manuel Rego Casasnovas 2010-03-03 16:12:49 +01:00 committed by Javier Moran Rua
parent efd6bb9e74
commit 37b801ce12
6 changed files with 21 additions and 8 deletions

View file

@ -157,6 +157,7 @@ public class HoursGroup extends BaseEntity implements Cloneable,
private HoursGroup(OrderLine parentOrderLine) {
this.parentOrderLine = parentOrderLine;
this.code = parentOrderLine.getCode();
this.setOrderLineTemplate(null);
}

View file

@ -263,7 +263,6 @@ public abstract class HoursGroupHandler<T> implements IHoursGroupHandler<T> {
HoursGroup hoursGroup = createHoursGroup(orderLine);
hoursGroup.setWorkingHours(workHours);
hoursGroup.setPercentage((new BigDecimal(1).setScale(2)));
hoursGroup.setCode(OrderLine.INITIAL_HOURS_GROUP_CODE);
addHoursGroup(orderLine, hoursGroup);
} else {

View file

@ -707,6 +707,9 @@ public abstract class OrderElement extends BaseEntity implements
}
public Order getOrder() {
if (parent == null) {
return null;
}
return parent.getOrder();
}

View file

@ -42,8 +42,6 @@ import org.navalplanner.business.templates.entities.OrderLineTemplate;
public class OrderLine extends OrderElement {
public static final String INITIAL_HOURS_GROUP_CODE = "HOURS-GROUP-CODE";
private HoursGroupOrderLineHandler hoursGroupOrderLineHandler = HoursGroupOrderLineHandler
.getInstance();
@ -57,7 +55,6 @@ public class OrderLine extends OrderElement {
OrderLine result = create();
HoursGroup hoursGroup = HoursGroup.create(result);
result.addHoursGroup(hoursGroup);
hoursGroup.setCode(INITIAL_HOURS_GROUP_CODE);
hoursGroup.setFixedPercentage(false);
hoursGroup.setPercentage(new BigDecimal(1));
hoursGroup.setWorkingHours(hours);
@ -335,4 +332,18 @@ public class OrderLine extends OrderElement {
return getAllDirectAdvanceAssignments(advanceType);
}
@Override
public void setCode(String code) {
super.setCode(code);
Order order = getOrder();
if ((order != null) && (!order.isCodeAutogenerated())) {
for (HoursGroup hoursGroup : getHoursGroups()) {
if (hoursGroup.getCode() == null) {
hoursGroup.setCode(code);
}
}
}
}
}

View file

@ -271,8 +271,8 @@ public class OrderElementServiceTest {
List<ConstraintViolationDTO> constraintViolations = instanceConstraintViolationsList
.get(0).constraintViolations;
// Mandatory fields: code, name.
assertThat(constraintViolations.size(), equalTo(2));
// Mandatory fields: code, name, hours group code.
assertThat(constraintViolations.size(), equalTo(3));
assertThat(orderDAO.getOrders().size(), equalTo(previous));
}

View file

@ -176,11 +176,10 @@ public class ReportAdvancesServiceTest {
OrderLine orderLine = OrderLine
.createOrderLineWithUnfixedPercentage(1000);
order.add(orderLine);
orderLine.setCode(UUID.randomUUID().toString());
orderLine.setName("Order line name");
order.add(orderLine);
orderDAO.save(order);
return order;