ItEr48S15CUFiltradoNaPlanificacionItEr47S17: Fixing lazy exceptions doing the filter.
This commit is contained in:
parent
af7d653319
commit
bf8f5675ab
3 changed files with 35 additions and 0 deletions
|
|
@ -43,4 +43,6 @@ public interface IOrderPlanningModel {
|
|||
|
||||
Order getOrder();
|
||||
|
||||
void forceLoadLabelsAndCriterionRequirements();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -197,6 +197,8 @@ public class OrderPlanningController implements Composer {
|
|||
}
|
||||
|
||||
private void filterByPredicate(final OrderElementPredicate predicate) {
|
||||
model.forceLoadLabelsAndCriterionRequirements();
|
||||
|
||||
final IContext<?> context = planner.getContext();
|
||||
planner.setTaskListPredicate(new FilterAndParentExpandedPredicates(context) {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ import org.navalplanner.business.common.IAdHocTransactionService;
|
|||
import org.navalplanner.business.common.IOnTransaction;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.orders.daos.IOrderDAO;
|
||||
import org.navalplanner.business.orders.entities.HoursGroup;
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
import org.navalplanner.business.orders.entities.OrderStatusEnum;
|
||||
|
|
@ -1224,4 +1225,34 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
|
|||
return orderReloaded;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public void forceLoadLabelsAndCriterionRequirements() {
|
||||
orderDAO.reattach(orderReloaded);
|
||||
forceLoadLabels(orderReloaded);
|
||||
forceLoadCriterionRequirements(orderReloaded);
|
||||
}
|
||||
|
||||
private void forceLoadLabels(OrderElement orderElement) {
|
||||
orderElement.getLabels().size();
|
||||
if (!orderElement.isLeaf()) {
|
||||
for (OrderElement element : orderElement.getChildren()) {
|
||||
forceLoadLabels(element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void forceLoadCriterionRequirements(OrderElement orderElement) {
|
||||
orderElement.getCriterionRequirements().size();
|
||||
for (HoursGroup hoursGroup : orderElement.getHoursGroups()) {
|
||||
hoursGroup.getCriterionRequirements().size();
|
||||
}
|
||||
|
||||
if (!orderElement.isLeaf()) {
|
||||
for (OrderElement element : orderElement.getChildren()) {
|
||||
forceLoadCriterionRequirements(element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue