Tal Nisan has uploaded a new change for review. Change subject: core: Added a query to retrieve storage domains by connection id ......................................................................
core: Added a query to retrieve storage domains by connection id Change-Id: I45c5d09c5358ad6378761ad3d8d2ae30863ea92a Signed-off-by: Tal Nisan <[email protected]> --- M backend/manager/dbscripts/storages_sp.sql M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAO.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAOWrapperImpl.java M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StorageDomainDAOTest.java 5 files changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/04/8604/1 diff --git a/backend/manager/dbscripts/storages_sp.sql b/backend/manager/dbscripts/storages_sp.sql index ec7eac2..73347d2 100644 --- a/backend/manager/dbscripts/storages_sp.sql +++ b/backend/manager/dbscripts/storages_sp.sql @@ -469,6 +469,16 @@ END; $procedure$ LANGUAGE plpgsql; +Create or replace FUNCTION GetAllFromStorageDomainsByConnectionId(v_connection_id CHARACTER VARYING) +RETURNS SETOF storage_domains + AS $procedure$ +BEGIN + RETURN QUERY SELECT * + FROM storage_domains + WHERE storage = v_connection_id; +END; $procedure$ +LANGUAGE plpgsql; + Create or replace FUNCTION GetAllFromstorage_domains(v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF storage_domains AS $procedure$ diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAO.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAO.java index 48c9a5b..adb6eaf 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAO.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAO.java @@ -74,6 +74,15 @@ List<storage_domains> getAllForConnection(String connection); /** + * Retrieves all storage domains for the specified connection id. + * + * @param connectionId + * The connection id + * @return the list of storage domains (empty if no storage is using this connection id) + */ + List<storage_domains> getAllByConnectionId(Guid connectionId); + + /** * Retrieves all storage domains for the specified storage pool. * * @param pool diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java index b05ccbb..6b0c6e5 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java @@ -64,6 +64,14 @@ } @Override + public List<storage_domains> getAllByConnectionId(Guid connectionId) { + return getCallsHandler().executeReadList("GetAllFromStorageDomainsByConnectionId", + StorageDomainRowMapper.instance, + getCustomMapSqlParameterSource() + .addValue("connection_id", connectionId)); + } + + @Override public List<storage_domains> getAllForStoragePool(Guid pool) { return getAllForStoragePool(pool, null, false); } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAOWrapperImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAOWrapperImpl.java index e09d200..0baf187 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAOWrapperImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAOWrapperImpl.java @@ -102,6 +102,12 @@ } @Override + public List<storage_domains> getAllByConnectionId(Guid connectionId) { + // TODO Auto-generated method stub + return null; + } + + @Override public List<storage_domains> getAllForStoragePool(Guid pool) { return createDomains(staticDAO.getAllForStoragePool(pool)); } diff --git a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StorageDomainDAOTest.java b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StorageDomainDAOTest.java index 519e104..6206be4 100644 --- a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StorageDomainDAOTest.java +++ b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StorageDomainDAOTest.java @@ -25,6 +25,8 @@ private static final Guid EXISTING_STORAGE_POOL_ID = new Guid("6d849ebf-755f-4552-ad09-9a090cda105d"); private static final String EXISTING_CONNECTION = "10.35.64.25"; private static final Guid EXISTING_USER_ID = new Guid("9bf7c640-b620-456f-a550-0348f366544b"); + private static final Guid EXISTING_CONNECTION_ID = new Guid("7fe9a439-a68e-4c15-8885-29d34eb6cabf"); + private static final Guid EXISTING_DOMAIN_ID_FOR_CONNECTION_ID = new Guid("c2211b56-8869-41cd-84e1-78d7cb96f31d"); private StorageDomainDAO dao; private storage_domains existingDomain; @@ -421,6 +423,14 @@ } + @Test + public void testAllByConnectionId() { + List<storage_domains> domains = dao.getAllByConnectionId(EXISTING_CONNECTION_ID); + assertEquals("Unexpected number of storage domains by connection id", domains.size(), 1); + assertEquals("Wrong storage domain id for search by connection id", + domains.get(0).getId(), + EXISTING_DOMAIN_ID_FOR_CONNECTION_ID); + } /** * Asserts the result from {@link StorageDomainDAO#getAll()} is correct without filtering * -- To view, visit http://gerrit.ovirt.org/8604 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I45c5d09c5358ad6378761ad3d8d2ae30863ea92a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tal Nisan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
