diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IOrderModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IOrderModel.java index 73144f8ee..2324b5741 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IOrderModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IOrderModel.java @@ -21,7 +21,6 @@ package org.navalplanner.web.orders; -import java.util.ConcurrentModificationException; import java.util.List; import java.util.Map; @@ -84,7 +83,7 @@ public interface IOrderModel extends IIntegrationEntityModel { void initEdit(Order order); - void prepareForCreate() throws ConcurrentModificationException; + void prepareForCreate(); void remove(Order order); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java index 2c25554fb..ad1db0cf3 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java @@ -1062,12 +1062,8 @@ public class OrderCRUDController extends GenericForwardComposer { } public void goToCreateForm() { - try { - prepareForCreate(); - getCreationPopup().showWindow(this, null); - } catch (ConcurrentModificationException e) { - messagesForUser.showMessage(Level.ERROR, e.getMessage()); - } + prepareForCreate(); + getCreationPopup().showWindow(this, null); } public void prepareForCreate() { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java index e85cb4d44..5698c4bd0 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java @@ -25,7 +25,6 @@ import static org.navalplanner.web.I18nHelper._; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collection; -import java.util.ConcurrentModificationException; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -89,6 +88,7 @@ import org.navalplanner.business.users.entities.UserRole; import org.navalplanner.web.common.IntegrationEntityModel; import org.navalplanner.web.common.concurrentdetection.OnConcurrentModification; import org.navalplanner.web.orders.labels.LabelsOnConversation; +import org.navalplanner.web.planner.order.PlanningStateCreator; import org.navalplanner.web.security.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; @@ -109,6 +109,9 @@ import org.zkoss.zul.Messagebox; @OnConcurrentModification(goToPage = "/planner/index.zul;orders_list") public class OrderModel extends IntegrationEntityModel implements IOrderModel { + @Autowired + private PlanningStateCreator planningStateCreator; + @Autowired private ICriterionTypeDAO criterionTypeDAO; @@ -412,7 +415,7 @@ public class OrderModel extends IntegrationEntityModel implements IOrderModel { @Override @Transactional(readOnly = true) - public void prepareForCreate() throws ConcurrentModificationException { + public void prepareForCreate() { loadNeededDataForConversation(); this.order = Order.create(); initializeOrder();