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
