From 078009217bfdd048b7179b11fff6de2b99836a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Fri, 7 Aug 2009 17:06:15 +0200 Subject: [PATCH] ItEr20S04ArquitecturaServidorItEr19S04: Removing WorkReportsDAORegistry and creating a general Registry intended to replace all Registries. --- .../business/common/Registry.java | 48 +++++++++++++++++++ .../daos/WorkReportsDAORegistry.java | 44 ----------------- .../navalplanner-business-spring-config.xml | 8 ++-- 3 files changed, 52 insertions(+), 48 deletions(-) create mode 100644 navalplanner-business/src/main/java/org/navalplanner/business/common/Registry.java delete mode 100644 navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportsDAORegistry.java diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/common/Registry.java b/navalplanner-business/src/main/java/org/navalplanner/business/common/Registry.java new file mode 100644 index 000000000..7b9cb2075 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/common/Registry.java @@ -0,0 +1,48 @@ +package org.navalplanner.business.common; + +import org.navalplanner.business.workreports.daos.IWorkReportDAO; +import org.navalplanner.business.workreports.daos.IWorkReportLineDAO; +import org.navalplanner.business.workreports.daos.IWorkReportTypeDAO; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * A registry, AKA service locator, for objects in which dependency injection + * (DI) is not directly supported by Spring (e.g. entities) must use this class + * to access DAOs. For the rest of classes (e.g. services, tests, etc.), Spring + * DI is a more convenient option. + * @author Óscar González Fernández + */ +public class Registry { + + private static final Registry singleton = new Registry(); + + @Autowired + private IWorkReportDAO workReport; + + @Autowired + private IWorkReportTypeDAO workReportType; + + @Autowired + private IWorkReportLineDAO workReportLine; + + private Registry() { + + } + + public static Registry getInstance() { + return singleton; + } + + public static IWorkReportDAO getWorkReportDao() { + return getInstance().workReport; + } + + public static IWorkReportTypeDAO getWorkReportTypeDao() { + return getInstance().workReportType; + } + + public static IWorkReportLineDAO getWorkReportLineDao() { + return getInstance().workReportLine; + } + +} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportsDAORegistry.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportsDAORegistry.java deleted file mode 100644 index ecc500385..000000000 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportsDAORegistry.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.navalplanner.business.workreports.daos; - -import org.springframework.beans.factory.annotation.Autowired; - -/** - * A registry of WorkReports 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 final class WorkReportsDAORegistry { - - private static WorkReportsDAORegistry instance = new WorkReportsDAORegistry(); - - @Autowired - private IWorkReportDAO workReport; - - @Autowired - private IWorkReportTypeDAO workReportType; - - @Autowired - private IWorkReportLineDAO workReportLine; - - private WorkReportsDAORegistry() { - } - - public static WorkReportsDAORegistry getInstance() { - return instance; - } - - public static IWorkReportDAO getWorkReportDao() { - return getInstance().workReport; - } - - public static IWorkReportTypeDAO getWorkReportTypeDao() { - return getInstance().workReportType; - } - - public static IWorkReportLineDAO getWorkReportLineDao() { - return getInstance().workReportLine; - } -} 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 0dbe88ab3..e336a748a 100644 --- a/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml +++ b/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml @@ -75,12 +75,12 @@ class="org.navalplanner.business.planner.daos.PlannerDAORegistry" factory-method="getInstance" /> - - + +