Moti Asayag has uploaded a new change for review.

Change subject: engine: Add VmDao.getAllForDataCenter
......................................................................

engine: Add VmDao.getAllForDataCenter

Added VmDao.getAllForDataCenter for retrieving all of the
VMs for a given data-center by its ID.

Change-Id: I65020ed89b84eeebf4e78b914b66007da97dda5f
Signed-off-by: Moti Asayag <[email protected]>
---
M backend/manager/dbscripts/vms_sp.sql
M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAO.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/VmDAOTest.java
4 files changed, 35 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/39/10339/1

diff --git a/backend/manager/dbscripts/vms_sp.sql 
b/backend/manager/dbscripts/vms_sp.sql
index 9c7e1e9..89f2904 100644
--- a/backend/manager/dbscripts/vms_sp.sql
+++ b/backend/manager/dbscripts/vms_sp.sql
@@ -884,4 +884,11 @@
 
 
 
-
+Create or replace FUNCTION GetVmsByDataCenterId(v_data_center_id UUID) RETURNS 
SETOF vms
+   AS $procedure$
+BEGIN
+   RETURN QUERY SELECT DISTINCT vms.*
+   FROM vms
+   WHERE storage_pool_id = v_data_center_id;
+END; $procedure$
+LANGUAGE plpgsql;
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAO.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAO.java
index 924de84..87bfde2 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAO.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAO.java
@@ -89,6 +89,15 @@
     List<VM> getAllForAdGroupByName(String name);
 
     /**
+     * Retrieves all VMs for the specified data-center.
+     *
+     * @param dataCenterId
+     *            the data-center ID
+     * @return the list of VMs
+     */
+    List<VM> getAllForDataCenter(Guid dataCenterId);
+
+    /**
      * Retrieves all virtual machines associated with the given template.
      *
      * @param template
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
index 92c88f5..18cb81f 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
@@ -241,6 +241,13 @@
                         .addValue("network_id", id));
     }
 
+    @Override
+    public List<VM> getAllForDataCenter(Guid dataCenterId) {
+        return getCallsHandler().executeReadList("GetVmsByDataCenterId",
+                VMRowMapper.instance,
+                getCustomMapSqlParameterSource().addValue("data_center_id", 
dataCenterId));
+    }
+
     static final class VMRowMapper implements ParameterizedRowMapper<VM> {
         public static final VMRowMapper instance = new VMRowMapper();
 
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/VmDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/VmDAOTest.java
index 7364533..e8f24a4 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/VmDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/VmDAOTest.java
@@ -20,6 +20,7 @@
 public class VmDAOTest extends BaseDAOTestCase {
     private static final Guid VDS_STATIC_ID = new 
Guid("afce7a39-8e8c-4819-ba9c-796d316592e6");
     private static final Guid VDS_GROUP_ID = new 
Guid("b399944a-81ab-4ec5-8266-e19ba7c3c9d1");
+    private static final Guid DATA_CENTER_ID = new 
Guid("6d849ebf-755f-4552-ad09-9a090cda105d");
     private static final Guid USER_ID = new 
Guid("9bf7c640-b620-456f-a550-0348f366544b");
     private static final Guid STORAGE_DOMAIN_ID = new 
Guid("72e3a666-89e1-4005-a7ca-f7548004a9ab");
 
@@ -346,6 +347,16 @@
         assertTrue(result.isEmpty());
     }
 
+    @Test
+    public void getAllForDataCenter() {
+        List<VM> vms = dao.getAllForDataCenter(DATA_CENTER_ID);
+        assertNotNull(vms);
+        assertFalse(vms.isEmpty());
+        for (VM vm : vms) {
+            assertEquals(DATA_CENTER_ID, vm.getStoragePoolId());
+        }
+    }
+
     private static void assertCorrectGetAllResult(List<VM> result) {
         assertNotNull(result);
         assertFalse(result.isEmpty());


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I65020ed89b84eeebf4e78b914b66007da97dda5f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Moti Asayag <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to