ItEr14S04ArquitecturaServidorItEr13S05: Extracting previously unexistent DAO.

It has been created the OrderDao.
This commit is contained in:
Óscar González Fernández 2009-06-25 17:04:01 +02:00 committed by Javier Moran Rua
parent 6592b2e8c9
commit 691c659f2c
3 changed files with 38 additions and 26 deletions

View file

@ -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 <ogonzalez@igalia.com>
*/
public interface IOrderDao extends IGenericDao<Order, Long> {
}

View file

@ -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 <ogonzalez@igalia.com>
*/
@Repository
@Scope(BeanDefinition.SCOPE_SINGLETON)
public class OrderDao extends GenericDaoHibernate<Order, Long> implements
IOrderDao {
}

View file

@ -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<Order, Long> dao = new GenericDaoHibernate<Order, Long>() {
@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<Order> 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