diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrdersDAORegistry.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrdersDAORegistry.java deleted file mode 100644 index 4ee1a73fe..000000000 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrdersDAORegistry.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.navalplanner.business.orders.daos; - -import org.springframework.beans.factory.annotation.Autowired; - -/** - * A registry of Orders DAOs. Classes in which dependency injection (DI) is - * not directly supported by Spring (e.g. entities) must use this class to - * access resource DAOs. For the rest of classes (e.g. services, tests, etc.), - * Spring DI is a more convenient option. - * @author Susana Montes Pedreira - */ - -public class OrdersDAORegistry { - - private static OrdersDAORegistry instance = new OrdersDAORegistry(); - - @Autowired - private IOrderDAO order; - - @Autowired - private IOrderElementDAO orderElement; - - private OrdersDAORegistry() { - } - - public static OrdersDAORegistry getInstance() { - return instance; - } - - public static IOrderDAO getOrderDao() { - return getInstance().order; - } - - public static IOrderElementDAO getOrderElementDao() { - return getInstance().orderElement; - } -} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java index fee4ae217..c4d8245b0 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java @@ -10,7 +10,6 @@ import org.hibernate.validator.NotEmpty; import org.navalplanner.business.advance.entities.AdvanceAssigment; import org.navalplanner.business.advance.exceptions.DuplicateAdvanceAssigmentForOrderElementException; import org.navalplanner.business.advance.exceptions.DuplicateValueTrueReportGlobalAdvanceException; -import org.navalplanner.business.orders.daos.OrdersDAORegistry; import org.navalplanner.business.planner.entities.TaskElement; public abstract class OrderElement { @@ -202,24 +201,19 @@ public abstract class OrderElement { private void existParentsWithSameAdvanceType(OrderElement orderElement, AdvanceAssigment newAdvanceAssigment) throws DuplicateAdvanceAssigmentForOrderElementException { - - List parents = OrdersDAORegistry.getOrderElementDao() - .findParent(orderElement); - for (OrderElement orderElementParent : parents) { - for (AdvanceAssigment advanceAssigment : orderElementParent - .getAdvanceAssigments()) { - if (advanceAssigment.getAdvanceType().getId() == newAdvanceAssigment - .getAdvanceType().getId()) { - throw new DuplicateAdvanceAssigmentForOrderElementException( - "Duplicate Advance Assigment For Order Element", - this, - "org.navalplanner.business.orders.entities.OrderElement"); - } + for (AdvanceAssigment advanceAssigment : orderElement + .getAdvanceAssigments()) { + if (advanceAssigment.getAdvanceType().getId() == newAdvanceAssigment + .getAdvanceType().getId()) { + throw new DuplicateAdvanceAssigmentForOrderElementException( + "Duplicate Advance Assigment For Order Element", this, + "org.navalplanner.business.orders.entities.OrderElement"); } - existParentsWithSameAdvanceType(orderElementParent, + } + if (orderElement.getParent() != null) { + existParentsWithSameAdvanceType(orderElement.getParent(), newAdvanceAssigment); } - } -} \ No newline at end of file +} diff --git a/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml b/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml index c78d05c65..251c4dd8f 100644 --- a/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml +++ b/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml @@ -68,10 +68,6 @@ class="org.navalplanner.business.resources.daos.ResourcesDAORegistry" factory-method="getInstance" /> - -