api: Fix findByXId to findByUuid in EntityManager and ApiDispatcher

Signed-off-by: Rohit Yadav <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/22ee4200
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/22ee4200
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/22ee4200

Branch: refs/heads/api_refactoring
Commit: 22ee4200c32912b06027618be1793a2c336cc0f6
Parents: ba5fba9
Author: Rohit Yadav <[email protected]>
Authored: Tue Dec 18 16:25:25 2012 -0800
Committer: Rohit Yadav <[email protected]>
Committed: Tue Dec 18 17:44:17 2012 -0800

----------------------------------------------------------------------
 api/src/com/cloud/dao/EntityManager.java        |    9 +++++++++
 server/src/com/cloud/api/ApiDispatcher.java     |    4 ++--
 server/src/com/cloud/dao/EntityManagerImpl.java |   10 ++++++++--
 3 files changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/22ee4200/api/src/com/cloud/dao/EntityManager.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/dao/EntityManager.java 
b/api/src/com/cloud/dao/EntityManager.java
index 4ddfcec..4e4b9c2 100644
--- a/api/src/com/cloud/dao/EntityManager.java
+++ b/api/src/com/cloud/dao/EntityManager.java
@@ -39,6 +39,15 @@ public interface EntityManager {
     public <T, K extends Serializable> T findById(Class<T> entityType, K id);
 
     /**
+     * Finds a unique entity by uuid string
+     * @param <T> 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> T findByUuid(Class<T> entityType, String uuid);
+
+    /**
      * Finds an entity by external id which is always String
      * @param <T> entity class
      * @param entityType type of entity you're looking for.

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/22ee4200/server/src/com/cloud/api/ApiDispatcher.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiDispatcher.java 
b/server/src/com/cloud/api/ApiDispatcher.java
index e75a15c..32f8107 100755
--- a/server/src/com/cloud/api/ApiDispatcher.java
+++ b/server/src/com/cloud/api/ApiDispatcher.java
@@ -626,8 +626,8 @@ public class ApiDispatcher {
                 // Go through each entity which is an interface to a VO class 
and get a VO object
                 // Try to getId() for the object using reflection, break on 
first non-null value
                 for (Class<?> entity: entities) {
-                    // findByXId returns a VO object using uuid, use reflect 
to get the Id
-                    Object objVO = s_instance._entityMgr.findByXId(entity, 
paramObj.toString());
+                    // findByUuid returns one VO object using uuid, use 
reflect to get the Id
+                    Object objVO = s_instance._entityMgr.findByUuid(entity, 
paramObj.toString());
                     if (objVO == null) {
                         continue;
                     }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/22ee4200/server/src/com/cloud/dao/EntityManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/dao/EntityManagerImpl.java 
b/server/src/com/cloud/dao/EntityManagerImpl.java
index 4d7f7fb..2eee445 100644
--- a/server/src/com/cloud/dao/EntityManagerImpl.java
+++ b/server/src/com/cloud/dao/EntityManagerImpl.java
@@ -45,9 +45,15 @@ public class EntityManagerImpl implements EntityManager, 
Manager {
     }
 
     @Override
-    public <T> T findByXId(Class<T> entityType, String xid) {
+    public <T> T findByUuid(Class<T> entityType, String uuid) {
+        // Finds and returns a unique VO using uuid, null if entity not found 
in db
         GenericDao<? extends T, String> dao = (GenericDao<? extends T, 
String>)GenericDaoBase.getDao(entityType);
-        return dao.findByXId(xid);
+        return dao.findByUuid(uuid);
+    }
+
+    @Override
+    public <T> T findByXId(Class<T> entityType, String xid) {
+        return null;
     }
 
     @Override

Reply via email to