From a369e294a332415ce77e049a4f55f0c89fd16c39 Mon Sep 17 00:00:00 2001 From: Fernando Bellas Permuy Date: Thu, 2 Jul 2009 15:34:45 +0200 Subject: [PATCH] ItEr15S04ArquitecturaServidorItEr14S04: Refactoring to use @Repository in DAOs and @Service in services and models. The source code has been refactorized to use @Repository in DAOs and @Service in services and models. This way, DAOs, services and models do not need to be defined in the Spring configuration file. --- .../orders/services/OrderService.java | 5 ++-- .../resources/daos/impl/CriterionDAO.java | 6 +++++ .../daos/impl/CriterionSatisfactionDAO.java | 6 +++++ .../daos/impl/ResourceDaoHibernate.java | 5 ++++ .../daos/impl/WorkerDaoHibernate.java | 5 ++++ .../services/impl/CriterionServiceImpl.java | 6 +++++ .../services/impl/ResourceServiceImpl.java | 5 ++++ .../navalplanner-business-spring-config.xml | 23 ++----------------- .../web/orders/OrderElementModel.java | 4 ++-- .../navalplanner/web/orders/OrderModel.java | 4 ++-- .../web/resources/worker/WorkerModel.java | 4 ++-- 11 files changed, 44 insertions(+), 29 deletions(-) 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 bf3c249ae..3095085ed 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 @@ -10,14 +10,15 @@ import org.navalplanner.business.orders.entities.Order; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * Default implementation of {@link IOrderService}
* @author Óscar González Fernández + * @author Fernando Bellas Permuy */ -@Component +@Service @Scope(BeanDefinition.SCOPE_SINGLETON) @Transactional public class OrderService implements IOrderService { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/CriterionDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/CriterionDAO.java index 507233c51..de9795ffd 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/CriterionDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/CriterionDAO.java @@ -9,13 +9,19 @@ import org.navalplanner.business.common.daos.impl.GenericDaoHibernate; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.resources.daos.ICriterionDAO; import org.navalplanner.business.resources.entities.Criterion; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Repository; /** * DAO implementation for Criterion.
* * @author Óscar González Fernández * @author Diego Pino García + * @author Fernando Bellas Permuy */ +@Repository +@Scope(BeanDefinition.SCOPE_SINGLETON) public class CriterionDAO extends GenericDaoHibernate implements ICriterionDAO { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/CriterionSatisfactionDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/CriterionSatisfactionDAO.java index 5cdb152c9..34749712c 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/CriterionSatisfactionDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/CriterionSatisfactionDAO.java @@ -3,11 +3,17 @@ package org.navalplanner.business.resources.daos.impl; import org.navalplanner.business.common.daos.impl.GenericDaoHibernate; import org.navalplanner.business.resources.daos.ICriterionSatisfactionDAO; import org.navalplanner.business.resources.entities.CriterionSatisfaction; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Repository; /** * Implementation
* @author Óscar González Fernández + * @author Fernando Bellas Permuy */ +@Repository +@Scope(BeanDefinition.SCOPE_SINGLETON) public class CriterionSatisfactionDAO extends GenericDaoHibernate implements ICriterionSatisfactionDAO { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/ResourceDaoHibernate.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/ResourceDaoHibernate.java index 420a9ff32..8b7587ed4 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/ResourceDaoHibernate.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/ResourceDaoHibernate.java @@ -3,6 +3,9 @@ package org.navalplanner.business.resources.daos.impl; import org.navalplanner.business.common.daos.impl.GenericDaoHibernate; import org.navalplanner.business.resources.daos.IResourceDao; import org.navalplanner.business.resources.entities.Resource; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Repository; /** * Hibernate DAO for the Resource entity. @@ -10,5 +13,7 @@ import org.navalplanner.business.resources.entities.Resource; * @author Fernando Bellas Permuy * */ +@Repository +@Scope(BeanDefinition.SCOPE_SINGLETON) public class ResourceDaoHibernate extends GenericDaoHibernate implements IResourceDao {} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/WorkerDaoHibernate.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/WorkerDaoHibernate.java index 918bd888b..6831dfeb4 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/WorkerDaoHibernate.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/impl/WorkerDaoHibernate.java @@ -3,6 +3,9 @@ package org.navalplanner.business.resources.daos.impl; import org.navalplanner.business.common.daos.impl.GenericDaoHibernate; import org.navalplanner.business.resources.daos.IWorkerDao; import org.navalplanner.business.resources.entities.Worker; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Repository; /** * Hibernate DAO for the Worker entity. @@ -10,5 +13,7 @@ import org.navalplanner.business.resources.entities.Worker; * @author Fernando Bellas Permuy * */ +@Repository +@Scope(BeanDefinition.SCOPE_SINGLETON) public class WorkerDaoHibernate extends GenericDaoHibernate implements IWorkerDao {} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/CriterionServiceImpl.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/CriterionServiceImpl.java index 8dda4f8aa..ae0d88362 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/CriterionServiceImpl.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/CriterionServiceImpl.java @@ -22,13 +22,19 @@ import org.navalplanner.business.resources.entities.Resource; import org.navalplanner.business.resources.services.CriterionService; import org.navalplanner.business.resources.services.ResourceService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * Implementation of {@link CriterionService} using {@link CriterionDAO}
* @author Óscar González Fernández + * @author Fernando Bellas Permuy */ +@Service +@Scope(BeanDefinition.SCOPE_SINGLETON) @Transactional public class CriterionServiceImpl implements CriterionService { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/ResourceServiceImpl.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/ResourceServiceImpl.java index 3318038c8..35a7ce9d1 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/ResourceServiceImpl.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/ResourceServiceImpl.java @@ -13,6 +13,9 @@ import org.navalplanner.business.resources.entities.Resource; import org.navalplanner.business.resources.entities.Worker; import org.navalplanner.business.resources.services.ResourceService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** @@ -20,6 +23,8 @@ import org.springframework.transaction.annotation.Transactional; * autowired. * @author Fernando Bellas Permuy */ +@Service +@Scope(BeanDefinition.SCOPE_SINGLETON) @Transactional public class ResourceServiceImpl implements ResourceService { 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 014bf31d3..49673e414 100644 --- a/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml +++ b/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml @@ -49,30 +49,11 @@ - - - - - - - - - - + - - - - diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java index 74fc944e2..e26fd92f5 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java @@ -15,10 +15,10 @@ import org.navalplanner.business.resources.services.CriterionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -@Component +@Service @Scope(BeanDefinition.SCOPE_PROTOTYPE) public class OrderElementModel implements IOrderElementModel { 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 24dcdb5e7..ce231b5af 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 @@ -15,14 +15,14 @@ import org.navalplanner.business.orders.services.IOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * Model for UI operations related to {@link Order}.
* @author Óscar González Fernández */ -@Component +@Service @Scope(BeanDefinition.SCOPE_PROTOTYPE) public class OrderModel implements IOrderModel { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java index 90f4235f7..00a071f66 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java @@ -28,7 +28,7 @@ import org.navalplanner.business.resources.services.ResourceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** @@ -36,7 +36,7 @@ import org.springframework.transaction.annotation.Transactional; * @author Óscar González Fernández * @author Fernando Bellas Permuy */ -@Component +@Service @Scope(BeanDefinition.SCOPE_PROTOTYPE) public class WorkerModel implements IWorkerModel {