From 886a15e3d9987b3bad9fd2987b75eacadc2c155f Mon Sep 17 00:00:00 2001 From: Susana Montes Pedreira Date: Mon, 27 Jul 2009 09:54:14 +0200 Subject: [PATCH] ItEr18S04ArquitecturaServidorItEr17S04: Configuration and creation of PlannerDaoRegistry, OrdersDaoRegistry and WorkReportDaoRegistry. --- .../orders/daos/OrdersDaoRegistry.java | 36 +++++++++++++++ .../planner/daos/PlannerDaoRegistry.java | 30 +++++++++++++ .../daos/WorkReportsDaoRegistry.java | 44 +++++++++++++++++++ .../navalplanner-business-spring-config.xml | 11 +++++ 4 files changed, 121 insertions(+) create mode 100644 navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrdersDaoRegistry.java create mode 100644 navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/PlannerDaoRegistry.java create 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/orders/daos/OrdersDaoRegistry.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrdersDaoRegistry.java new file mode 100644 index 000000000..fdecee2b5 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrdersDaoRegistry.java @@ -0,0 +1,36 @@ +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; + + 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/planner/daos/PlannerDaoRegistry.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/PlannerDaoRegistry.java new file mode 100644 index 000000000..53016915d --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/daos/PlannerDaoRegistry.java @@ -0,0 +1,30 @@ +package org.navalplanner.business.planner.daos; + +import org.springframework.beans.factory.annotation.Autowired; + +/** + * A registry of Planner 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 PlannerDaoRegistry { + + private static PlannerDaoRegistry instance = new PlannerDaoRegistry(); + + @Autowired + private ITaskElementDao taskElement; + + private PlannerDaoRegistry() { + } + + public static PlannerDaoRegistry getInstance() { + return instance; + } + + public static ITaskElementDao getTaskElementDao() { + return getInstance().taskElement; + } +} 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 new file mode 100644 index 000000000..6f6b2cdbb --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportsDaoRegistry.java @@ -0,0 +1,44 @@ +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 8c0ef234c..b10bfcd27 100644 --- a/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml +++ b/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml @@ -65,4 +65,15 @@ class="org.navalplanner.business.resources.daos.ResourcesDaoRegistry" factory-method="getInstance" /> + + + + +