From b335684ec5122d65a79ca45b10d508e760d31945 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Wed, 23 Jan 2013 14:55:26 -0800 Subject: [PATCH] EntityManager: Implement method to search by uuid including removed entities Signed-off-by: Rohit Yadav --- api/src/com/cloud/dao/EntityManager.java | 9 +++++++++ server/src/com/cloud/dao/EntityManagerImpl.java | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/api/src/com/cloud/dao/EntityManager.java b/api/src/com/cloud/dao/EntityManager.java index 4e4b9c293b5..b8fdaa7e9a7 100644 --- a/api/src/com/cloud/dao/EntityManager.java +++ b/api/src/com/cloud/dao/EntityManager.java @@ -47,6 +47,15 @@ public interface EntityManager { */ public T findByUuid(Class entityType, String uuid); + /** + * Finds a unique entity by uuid string + * @param entity class + * @param entityType type of entity you're looking for. + * @param uuid the unique id + * @return T if found, null if not. + */ + public T findByUuidIncludingRemoved(Class entityType, String uuid); + /** * Finds an entity by external id which is always String * @param entity class diff --git a/server/src/com/cloud/dao/EntityManagerImpl.java b/server/src/com/cloud/dao/EntityManagerImpl.java index 2eee445f933..1d881927533 100644 --- a/server/src/com/cloud/dao/EntityManagerImpl.java +++ b/server/src/com/cloud/dao/EntityManagerImpl.java @@ -51,6 +51,13 @@ public class EntityManagerImpl implements EntityManager, Manager { return dao.findByUuid(uuid); } + @Override + public T findByUuidIncludingRemoved(Class entityType, String uuid) { + // Finds and returns a unique VO using uuid, null if entity not found in db + GenericDao dao = (GenericDao)GenericDaoBase.getDao(entityType); + return dao.findByUuidIncludingRemoved(uuid); + } + @Override public T findByXId(Class entityType, String xid) { return null;