ItEr20S04ArquitecturaServidorItEr19S04: Doing the reattach of the criterions before the reattachment of worker.
This commit is contained in:
parent
6038e312ac
commit
050f333c70
1 changed files with 15 additions and 1 deletions
|
|
@ -16,6 +16,7 @@ import org.navalplanner.business.orders.entities.Order;
|
|||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
import org.navalplanner.business.orders.services.IOrderService;
|
||||
import org.navalplanner.business.planner.services.ITaskElementService;
|
||||
import org.navalplanner.business.resources.daos.ICriterionDAO;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
|
|
@ -58,6 +59,9 @@ public class OrderModel implements IOrderModel {
|
|||
|
||||
private final ITaskElementService taskElementService;
|
||||
|
||||
@Autowired
|
||||
private ICriterionDAO criterionDAO;
|
||||
|
||||
@Autowired
|
||||
public OrderModel(IOrderService orderService,
|
||||
ITaskElementService taskElementService) {
|
||||
|
|
@ -89,7 +93,6 @@ public class OrderModel implements IOrderModel {
|
|||
public void prepareEditFor(Order order) {
|
||||
Validate.notNull(order);
|
||||
loadCriterions();
|
||||
|
||||
this.order = getFromDB(order);
|
||||
this.orderElementTreeModel = new OrderElementTreeModel(this.order);
|
||||
}
|
||||
|
|
@ -114,6 +117,7 @@ public class OrderModel implements IOrderModel {
|
|||
@Override
|
||||
@Transactional
|
||||
public void save() throws ValidationException {
|
||||
reattachCriterions();
|
||||
InvalidValue[] invalidValues = orderValidator.getInvalidValues(order);
|
||||
if (invalidValues.length > 0)
|
||||
throw new ValidationException(invalidValues);
|
||||
|
|
@ -121,6 +125,14 @@ public class OrderModel implements IOrderModel {
|
|||
this.orderService.save(order);
|
||||
}
|
||||
|
||||
private void reattachCriterions() {
|
||||
for (List<Criterion> list : mapCriterions.values()) {
|
||||
for (Criterion criterion : list) {
|
||||
criterionDAO.reattachUnmodifiedEntity(criterion);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IOrderLineGroup getOrder() {
|
||||
return order;
|
||||
|
|
@ -146,7 +158,9 @@ public class OrderModel implements IOrderModel {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public IOrderElementModel getOrderElementModel(OrderElement orderElement) {
|
||||
reattachCriterions();
|
||||
orderElementModel.setCurrent(orderElement, this);
|
||||
return orderElementModel;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue