Hello Yair Zaslavsky,

I'd like you to do a code review.  Please visit

    http://gerrit.ovirt.org/15566

to review the following change.

Change subject: core: Adding the ability to get async tasks by entity id
......................................................................

core: Adding the ability to get async tasks by entity id

The following patch adds the ability to get asyncs by
entity Id

Change-Id: Id7609857273bf8ac74557ba88550dee8316eb5c7
Signed-off-by: Yair Zaslavsky <[email protected]>
---
M backend/manager/dbscripts/async_tasks_sp.sql
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAO.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java
4 files changed, 35 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/66/15566/1

diff --git a/backend/manager/dbscripts/async_tasks_sp.sql 
b/backend/manager/dbscripts/async_tasks_sp.sql
index e790841..410c841 100644
--- a/backend/manager/dbscripts/async_tasks_sp.sql
+++ b/backend/manager/dbscripts/async_tasks_sp.sql
@@ -159,6 +159,17 @@
 END; $procedure$
 LANGUAGE plpgsql;
 
+
+Create or replace FUNCTION GetAsyncTasksByEntityId(v_entity_id UUID) RETURNS 
SETOF async_tasks
+   AS $procedure$
+BEGIN
+   RETURN QUERY SELECT *
+   FROM async_tasks JOIN async_tasks_entities ON async_task_id = task_id
+   WHERE entity_id = v_entity_id;
+
+END; $procedure$
+LANGUAGE plpgsql;
+
 Create or replace FUNCTION GetAsyncTasksByVdsmTaskId(v_vdsm_task_id UUID) 
RETURNS SETOF async_tasks
    AS $procedure$
 BEGIN
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAO.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAO.java
index 5b2e2d8..6898d3e 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAO.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAO.java
@@ -94,4 +94,12 @@
      * @return the number of tasks deleted
      */
     int removeByVdsmTaskId(Guid vdsmTaskId);
+
+    /**
+     * Gets all the tasks that are associated with an entity id
+     *
+     * @param entityId
+     * @return
+     */
+    List<AsyncTasks> getTasksByEntity(Guid entityId);
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
index f2e5287..4edcfee 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
@@ -202,4 +202,13 @@
         parameterSource.addValue("storage_pool_id", storagePoolId);
         return 
getCallsHandler().executeReadList("GetAsyncTasksByStoragePoolId", 
IdRowMapper.instance, parameterSource);
     }
+
+    @Override
+    public List<AsyncTasks> getTasksByEntity(Guid entityId) {
+        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource();
+        parameterSource.addValue("entity_id", entityId);
+        return getCallsHandler().executeReadList("GetAsyncTasksByEntityId",
+                AsyncTaskRowMapper.instance,
+                parameterSource);
+    }
 }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java
index fe5ffd9..0a0686f 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java
@@ -87,6 +87,13 @@
     }
 
     @Test
+    public void testGetAsyncTaskEntitiesById() {
+        List<AsyncTasks> tasks = 
dao.getTasksByEntity(FixturesTool.ENTITY_WITH_TASKS_ID);
+        assertNotNull(tasks);
+        assertEquals(tasks.size(), 1);
+    }
+
+    @Test
     public void testGetAsyncTaskIdsByInvalidEntity() {
         List<Guid> guids = dao.getAsyncTaskIdsByEntity(Guid.NewGuid());
         assertNotNull(guids);


-- 
To view, visit http://gerrit.ovirt.org/15566
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id7609857273bf8ac74557ba88550dee8316eb5c7
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ravi Nori <[email protected]>
Gerrit-Reviewer: Yair Zaslavsky <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to