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