diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/IOrderDao.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/IOrderDao.java new file mode 100644 index 000000000..f6cc128eb --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/IOrderDao.java @@ -0,0 +1,12 @@ +package org.navalplanner.business.orders.daos; + +import org.navalplanner.business.common.daos.IGenericDao; +import org.navalplanner.business.orders.entities.Order; + +/** + * Contract for {@link OrderDao} + * @author Óscar González Fernández + */ +public interface IOrderDao extends IGenericDao { + +} \ No newline at end of file diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrderDao.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrderDao.java new file mode 100644 index 000000000..221f8da1b --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrderDao.java @@ -0,0 +1,17 @@ +package org.navalplanner.business.orders.daos; + +import org.navalplanner.business.common.daos.impl.GenericDaoHibernate; +import org.navalplanner.business.orders.entities.Order; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Repository; + +/** + * Dao for {@link Order} + * @author Óscar González Fernández + */ +@Repository +@Scope(BeanDefinition.SCOPE_SINGLETON) +public class OrderDao extends GenericDaoHibernate implements + IOrderDao { +} \ No newline at end of file diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/services/OrderService.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/services/OrderService.java index c01acb278..bf3c249ae 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/services/OrderService.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/services/OrderService.java @@ -2,12 +2,10 @@ package org.navalplanner.business.orders.services; import java.util.List; -import org.hibernate.Session; -import org.hibernate.SessionFactory; import org.navalplanner.business.common.OnTransaction; -import org.navalplanner.business.common.daos.impl.GenericDaoHibernate; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.common.exceptions.ValidationException; +import org.navalplanner.business.orders.daos.IOrderDao; import org.navalplanner.business.orders.entities.Order; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; @@ -25,25 +23,12 @@ import org.springframework.transaction.annotation.Transactional; public class OrderService implements IOrderService { @Autowired - private SessionFactory sessionFactory; - - /* - * Because the dao for orderwork doesn't have special needs, it's not - * created an interface for defining its contract - */ - - private GenericDaoHibernate dao = new GenericDaoHibernate() { - - @Override - protected Session getSession() { - return sessionFactory.getCurrentSession(); - } - }; + private IOrderDao orderDAO; @Override @Transactional(readOnly = true) public boolean exists(Order order) { - return dao.exists(order.getId()); + return orderDAO.exists(order.getId()); } @Override @@ -51,24 +36,22 @@ public class OrderService implements IOrderService { if (order.isEndDateBeforeStart()) { throw new ValidationException("endDate must be after startDate"); } - dao.save(order); + orderDAO.save(order); } @Override public List getOrders() { - return dao.list(Order.class); + return orderDAO.list(Order.class); } @Override - public Order find(Long orderId) - throws InstanceNotFoundException { - return dao.find(orderId); + public Order find(Long orderId) throws InstanceNotFoundException { + return orderDAO.find(orderId); } @Override - public void remove(Order order) - throws InstanceNotFoundException { - dao.remove(order.getId()); + public void remove(Order order) throws InstanceNotFoundException { + orderDAO.remove(order.getId()); } @Override