ItEr44S10CUGravacionModelosUnidadesTraballoItEr43S12: Adding prepareCreationFrom method template to model.

This commit is contained in:
Óscar González Fernández 2010-01-20 13:24:48 +01:00
parent eef8667a73
commit ad871fb450
2 changed files with 33 additions and 7 deletions

View file

@ -33,6 +33,7 @@ import org.navalplanner.business.orders.entities.OrderLineGroup;
import org.navalplanner.business.qualityforms.entities.QualityForm;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.CriterionType;
import org.navalplanner.business.templates.entities.OrderTemplate;
/**
* Contract for {@link OrderModel}<br />
@ -102,4 +103,6 @@ public interface IOrderModel {
void setCodeAutogenerated(boolean codeAutogenerated)
throws ConcurrentModificationException;
void prepareCreationFrom(OrderTemplate template);
}

View file

@ -63,6 +63,8 @@ import org.navalplanner.business.resources.daos.ICriterionDAO;
import org.navalplanner.business.resources.daos.ICriterionTypeDAO;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.CriterionType;
import org.navalplanner.business.templates.daos.IOrderElementTemplateDAO;
import org.navalplanner.business.templates.entities.OrderTemplate;
import org.navalplanner.web.orders.labels.LabelsOnConversation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
@ -107,6 +109,9 @@ public class OrderModel implements IOrderModel {
@Autowired
private IOrderElementDAO orderElementDAO;
@Autowired
private IOrderElementTemplateDAO templateDAO;
@Autowired
private ITaskSourceDAO taskSourceDAO;
@ -188,9 +193,7 @@ public class OrderModel implements IOrderModel {
@Transactional(readOnly = true)
public void initEdit(Order order) {
Validate.notNull(order);
initializeCacheLabels();
getQualityFormsOnConversation().initialize();
loadCriterions();
loadNeededDataForConversation();
this.order = getFromDB(order);
this.orderElementTreeModel = new OrderElementTreeModel(this.order);
forceLoadAdvanceAssignmentsAndMeasurements(this.order);
@ -198,6 +201,12 @@ public class OrderModel implements IOrderModel {
forceLoadCalendar(this.getCalendar());
}
private void loadNeededDataForConversation() {
loadCriterions();
initializeCacheLabels();
getQualityFormsOnConversation().initialize();
}
private void initializeCacheLabels() {
getLabelsOnConversation().initializeLabels();
}
@ -270,18 +279,32 @@ public class OrderModel implements IOrderModel {
@Override
@Transactional(readOnly = true)
public void prepareForCreate() throws ConcurrentModificationException {
loadCriterions();
initializeCacheLabels();
getQualityFormsOnConversation().initialize();
loadNeededDataForConversation();
this.order = Order.create();
initializeOrder();
}
private void initializeOrder() {
this.orderElementTreeModel = new OrderElementTreeModel(this.order);
this.order.setInitDate(new Date());
this.order.setCalendar(getDefaultCalendar());
setDefaultOrderCode();
this.order.setCodeAutogenerated(true);
}
@Override
@Transactional(readOnly = true)
public void prepareCreationFrom(OrderTemplate template) {
loadNeededDataForConversation();
this.order = createOrderFrom((OrderTemplate) templateDAO
.findExistingEntity(template.getId()));
initializeOrder();
}
private Order createOrderFrom(OrderTemplate template) {
return template.createElement();
}
private void setDefaultOrderCode() throws ConcurrentModificationException {
String code = orderSequenceDAO.getNextOrderCode();
if (code == null) {