From fe5a957f50bb34518f542b64b57b9651a0c13e27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Fri, 7 Aug 2009 18:09:31 +0200 Subject: [PATCH] ItEr20S04ArquitecturaServidorItEr19S04: Erasing remove method on Resource instance. ResourcesDAORegistry no longer needed. --- .../resources/daos/ResourcesDAORegistry.java | 41 ------------------- .../business/resources/entities/Resource.java | 17 -------- .../services/ResourceServiceImpl.java | 3 +- .../navalplanner-business-spring-config.xml | 4 -- 4 files changed, 1 insertion(+), 64 deletions(-) delete mode 100644 navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourcesDAORegistry.java diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourcesDAORegistry.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourcesDAORegistry.java deleted file mode 100644 index 60d178633..000000000 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ResourcesDAORegistry.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.navalplanner.business.resources.daos; - -import org.springframework.beans.factory.annotation.Autowired; - -// FIXME: Improve with -// http://en.wikipedia.org/wiki/Initialization_on_demand_holder_idiom??? -// (I think it is not necessary). - -/** - * A registry of resource 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 Fernando Bellas Permuy - */ -public final class ResourcesDAORegistry { - - private static ResourcesDAORegistry instance = new ResourcesDAORegistry(); - - @Autowired - private IResourceDAO resourceDao; - - @Autowired - private IWorkerDAO workerDao; - - private ResourcesDAORegistry() { - } - - public static ResourcesDAORegistry getInstance() { - return instance; - } - - public static IResourceDAO getResourceDao() { - return getInstance().resourceDao; - } - - public static IWorkerDAO getWorkerDao() { - return getInstance().workerDao; - } - -} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java index 7a7fcf333..95ed8e572 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java @@ -14,8 +14,6 @@ import java.util.Set; import org.apache.commons.lang.Validate; import org.navalplanner.business.common.BaseEntity; -import org.navalplanner.business.common.exceptions.InstanceNotFoundException; -import org.navalplanner.business.resources.daos.ResourcesDAORegistry; // FIXME: Alternatively, Resource can be modeled with the style: // Resource.getParent() & Resource.getChilds(). This way, Resource does not @@ -172,21 +170,6 @@ public abstract class Resource extends BaseEntity { public abstract int getDailyCapacity(); - /** - * It removes the resource from the database and updates references. The - * default implementation removes the resource from the resource group it - * belongs to (if it belongs to someone) and from the database. This - * implementation should be valid for simple resources. - */ - public void remove() { - /* Remove from the database. */ - try { - ResourcesDAORegistry.getResourceDao().remove(getId()); - } catch (InstanceNotFoundException e) { - throw new RuntimeException(e); - } - } - public Set getAllSatisfactions() { return new HashSet(criterionSatisfactions); } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/ResourceServiceImpl.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/ResourceServiceImpl.java index cc309f00a..f24723afe 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/ResourceServiceImpl.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/ResourceServiceImpl.java @@ -71,8 +71,7 @@ public class ResourceServiceImpl implements IResourceService { public void removeResource(Long resourceId) throws InstanceNotFoundException { - - resourceDao.find(resourceId).remove(); + resourceDao.remove(resourceId); } @Override 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 e336a748a..8172a2a47 100644 --- a/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml +++ b/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml @@ -67,10 +67,6 @@ entities) --> - -