Daniel Erez has uploaded a new change for review.

Change subject: core: introduce update method to LunDAO
......................................................................

core: introduce update method to LunDAO

* Added update method to LunDAO and LunDaoDbFacadeImpl.
* Added stored procedure to storages_san_sp.sql.
* Replaced current usages of updateLUNsDeviceSize and
  updateLUNsVolumeGroupId with update.
* Modified tests accordingly.

Change-Id: Ie0391443313a6ff065f08e0204f95b4980c01e02
Signed-off-by: Daniel Erez <de...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHelperBase.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/SyncLunsInfoForIscsiStorageDomainCommand.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAO.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/LunDAOTest.java
M packaging/dbscripts/storages_san_sp.sql
7 files changed, 55 insertions(+), 68 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/77/22977/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java
index ed51ebb..f7717c4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java
@@ -269,11 +269,11 @@
     }
 
     public static void proceedLUNInDb(final LUNs lun, StorageType storageType, 
String volumeGroupId) {
+        lun.setvolume_group_id(volumeGroupId);
         if (DbFacade.getInstance().getLunDao().get(lun.getLUN_id()) == null) {
-            lun.setvolume_group_id(volumeGroupId);
             DbFacade.getInstance().getLunDao().save(lun);
-        } else if (!volumeGroupId.isEmpty()){
-            
DbFacade.getInstance().getLunDao().updateLUNsVolumeGroupId(lun.getLUN_id(), 
volumeGroupId);
+        } else if (!volumeGroupId.isEmpty()) {
+            DbFacade.getInstance().getLunDao().update(lun);
         }
 
         for (StorageServerConnections connection : lun.getLunConnections()) {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHelperBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHelperBase.java
index 666db45..2033a98 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHelperBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHelperBase.java
@@ -120,7 +120,8 @@
                 getLunDao().remove(lun.getLUN_id());
                 numOfRemovedLuns++;
             } else {
-                getLunDao().updateLUNsVolumeGroupId(lun.getLUN_id(), "");
+                lun.setvolume_group_id("");
+                getLunDao().update(lun);
             }
         }
         return numOfRemovedLuns;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/SyncLunsInfoForIscsiStorageDomainCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/SyncLunsInfoForIscsiStorageDomainCommand.java
index 7566fad..3ac623c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/SyncLunsInfoForIscsiStorageDomainCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/SyncLunsInfoForIscsiStorageDomainCommand.java
@@ -55,7 +55,7 @@
                 log.infoFormat("New LUN discovered, ID: {0}", 
lunFromVgInfo.getLUN_id());
             }
             else if (lunFromDB.getDeviceSize() != 
lunFromVgInfo.getDeviceSize()) {
-                getLunDao().updateLUNsDeviceSize(lunFromVgInfo.getLUN_id(), 
lunFromVgInfo.getDeviceSize());
+                getLunDao().update(lunFromVgInfo);
                 log.infoFormat("Updated LUN device size - ID: {0}, previous 
size: {1}, new size: {2}.",
                         lunFromVgInfo.getLUN_id(), lunFromDB.getDeviceSize(), 
lunFromVgInfo.getDeviceSize());
             }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAO.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAO.java
index 9d404ee..09d6732 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAO.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAO.java
@@ -45,16 +45,6 @@
     List<LUNs> getAll();
 
     /**
-     * Updates the lun volume group id
-     */
-    void updateLUNsVolumeGroupId(String id, String volumeGroupId);
-
-    /**
-     * Updates the lun device size
-     */
-    void updateLUNsDeviceSize(String id, int deviceSize);
-
-    /**
      * Saves the supplied LUN instance.
      *
      * @param lun
@@ -63,6 +53,14 @@
     void save(LUNs lun);
 
     /**
+     * Updates the specified LUN.
+     *
+     * @param lun
+     *            the LUN
+     */
+    void update(LUNs lun);
+
+    /**
      * Removes the specified LUN.
      *
      * @param id
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java
index f291e75..0a3aa58 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java
@@ -72,22 +72,6 @@
     }
 
     @Override
-    public void updateLUNsVolumeGroupId(String id, String volumeGroupId) {
-        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource().addValue("LUN_id", id)
-                .addValue("volume_group_id", volumeGroupId);
-
-        getCallsHandler().executeModification("UpdateLUNsVolumeGroupId", 
parameterSource);
-    }
-
-    @Override
-    public void updateLUNsDeviceSize(String id, int deviceSize) {
-        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource().addValue("LUN_id", id)
-                .addValue("device_size", deviceSize);
-
-        getCallsHandler().executeModification("updateLUNsDeviceSize", 
parameterSource);
-    }
-
-    @Override
     public void save(LUNs lun) {
         MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
                 .addValue("LUN_id", lun.getLUN_id())
@@ -103,6 +87,21 @@
     }
 
     @Override
+    public void update(LUNs lun) {
+        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
+                .addValue("LUN_id", lun.getLUN_id())
+                .addValue("physical_volume_id", lun.getphysical_volume_id())
+                .addValue("volume_group_id", lun.getvolume_group_id())
+                .addValue("serial", lun.getSerial())
+                .addValue("lun_mapping", lun.getLunMapping())
+                .addValue("vendor_id", lun.getVendorId())
+                .addValue("product_id", lun.getProductId())
+                .addValue("device_size", lun.getDeviceSize());
+
+        getCallsHandler().executeModification("UpdateLUNs", parameterSource);
+    }
+
+    @Override
     public void remove(String id) {
         MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
                 .addValue("LUN_id", id);
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/LunDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/LunDAOTest.java
index 6e0ab27..aa9795e 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/LunDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/LunDAOTest.java
@@ -74,28 +74,6 @@
     }
 
     /**
-     * Ensures that LUNs are returned for the connection.
-     */
-    @Test
-    public void testUpdateLUNsVolumeGroupId() {
-        String testGroupId = "testvolgroupId";
-        dao.updateLUNsVolumeGroupId(existingLUN.getLUN_id(), testGroupId);
-        LUNs dbLun = dao.get(existingLUN.getLUN_id());
-        assertEquals("LUNs volume group id wasn't updated", testGroupId, 
dbLun.getvolume_group_id());
-    }
-
-    /**
-     * Ensures that LUN's device size is updated correctly
-     */
-    @Test
-    public void testUpdateLUNsDeviceSize() {
-        int testDeviceSize = 20;
-        dao.updateLUNsDeviceSize(existingLUN.getLUN_id(), testDeviceSize);
-        LUNs dbLun = dao.get(existingLUN.getLUN_id());
-        assertEquals("LUN device size wasn't updated", testDeviceSize, 
dbLun.getDeviceSize());
-    }
-
-    /**
      * Ensures that an empty collection is returned.
      */
     @Test
@@ -144,4 +122,18 @@
 
         assertNull(result);
     }
+
+    /**
+     * Ensures updating a LUN works as expected.
+     */
+    @Test
+    public void testUpdateLUNs() {
+        dao.update(existingLUN);
+
+        LUNs result = dao.get(existingLUN.getLUN_id());
+
+        assertNotNull(result);
+        assertEquals(existingLUN, result);
+    }
+
 }
diff --git a/packaging/dbscripts/storages_san_sp.sql 
b/packaging/dbscripts/storages_san_sp.sql
index 5f07bc8..9425543 100644
--- a/packaging/dbscripts/storages_san_sp.sql
+++ b/packaging/dbscripts/storages_san_sp.sql
@@ -23,25 +23,22 @@
 
 
 
-Create or replace FUNCTION UpdateLUNsVolumeGroupId(v_LUN_id VARCHAR(50),
-v_volume_group_id VARCHAR(50))
-RETURNS VOID
-   AS $procedure$
-BEGIN
-UPDATE LUNs set volume_group_id = v_volume_group_id where LUN_id = v_LUN_ID;
-END; $procedure$
-LANGUAGE plpgsql;
-
-
-
-
-
-Create or replace FUNCTION UpdateLUNsDeviceSize(v_LUN_id VARCHAR(50),
+Create or replace FUNCTION UpdateLUNs(v_LUN_id VARCHAR(50),
+    v_physical_volume_id VARCHAR(50) ,
+    v_volume_group_id VARCHAR(50) ,
+    v_serial VARCHAR(4000) ,
+    v_lun_mapping INTEGER ,
+    v_vendor_id VARCHAR(50) ,
+    v_product_id VARCHAR(50) ,
     v_device_size INTEGER)
 RETURNS VOID
    AS $procedure$
 BEGIN
-UPDATE LUNs set device_size = v_device_size where LUN_id = v_LUN_ID;
+      UPDATE LUNs
+      SET LUN_id = v_LUN_id, physical_volume_id = v_physical_volume_id, 
volume_group_id = v_volume_group_id,
+          serial = v_serial, lun_mapping = v_lun_mapping, vendor_id = 
v_vendor_id,
+          product_id = v_product_id, device_size = v_device_size
+      WHERE LUN_id = v_LUN_id;
 END; $procedure$
 LANGUAGE plpgsql;
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie0391443313a6ff065f08e0204f95b4980c01e02
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Daniel Erez <de...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to