ItEr44S19CUExportacionUnidadePlanificacion: Fixing problem exporting a subcontracted task.

This commit is contained in:
Manuel Rego Casasnovas 2010-01-22 18:06:36 +01:00 committed by Javier Moran Rua
parent 53960a6e38
commit a98a26295d
3 changed files with 16 additions and 6 deletions

View file

@ -25,6 +25,7 @@ import java.util.List;
import org.navalplanner.business.common.daos.IGenericDAO;
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.orders.entities.Order;
import org.navalplanner.business.orders.entities.OrderElement;
/**
@ -64,7 +65,7 @@ public interface IOrderElementDAO extends IGenericDAO<OrderElement, Long> {
*/
public OrderElement findParent(OrderElement orderElement);
public OrderElement loadOrderAvoidingProxyFor(OrderElement orderElement);
public Order loadOrderAvoidingProxyFor(OrderElement orderElement);
/**
* Returns the number of assigned hours for an {@link OrderElement}

View file

@ -32,6 +32,7 @@ import org.navalplanner.business.common.IAdHocTransactionService;
import org.navalplanner.business.common.IOnTransaction;
import org.navalplanner.business.common.daos.GenericDAOHibernate;
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.orders.entities.Order;
import org.navalplanner.business.orders.entities.OrderElement;
import org.navalplanner.business.orders.entities.TaskSource;
import org.navalplanner.business.planner.daos.ITaskSourceDAO;
@ -62,6 +63,9 @@ public class OrderElementDAO extends GenericDAOHibernate<OrderElement, Long>
@Autowired
private ITaskSourceDAO taskSourceDAO;
@Autowired
private IOrderDAO orderDAO;
@Autowired
private IAdHocTransactionService transactionService;
@ -103,7 +107,7 @@ public class OrderElementDAO extends GenericDAOHibernate<OrderElement, Long>
}
@Override
public OrderElement loadOrderAvoidingProxyFor(
public Order loadOrderAvoidingProxyFor(
final OrderElement orderElement) {
OrderElement order = transactionService
.runOnAnotherTransaction(new IOnTransaction<OrderElement>() {
@ -119,7 +123,7 @@ public class OrderElementDAO extends GenericDAOHibernate<OrderElement, Long>
return result;
}
});
return (OrderElement) findExistingEntity(order.getId());
return orderDAO.findExistingEntity(order.getId());
}
@Override

View file

@ -30,6 +30,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.cxf.jaxrs.client.WebClient;
import org.navalplanner.business.common.daos.IConfigurationDAO;
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.common.exceptions.ValidationException;
import org.navalplanner.business.externalcompanies.entities.ExternalCompany;
import org.navalplanner.business.orders.daos.IOrderElementDAO;
@ -181,9 +182,13 @@ public class SubcontractedTasksModel implements ISubcontractedTasksModel {
private OrderElementDTO getOrderElement(
SubcontractedTaskData subcontractedTaskData) {
OrderElement orderElement = orderElementDAO
.loadOrderAvoidingProxyFor(subcontractedTaskData.getTask()
.getOrderElement());
OrderElement orderElement;
try {
orderElement = orderElementDAO.find(subcontractedTaskData.getTask()
.getOrderElement().getId());
} catch (InstanceNotFoundException e) {
throw new RuntimeException(e);
}
if (subcontractedTaskData.isNodeWithoutChildrenExported()) {
orderElement = orderElement.calculateOrderLineForSubcontract();