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

Reply via email to