Daniel Erez has uploaded a new change for review.

Change subject: core: adding CinderDiskRowMapper
......................................................................

core: adding CinderDiskRowMapper

Adding CinderDiskRowMapper to DiskImageDAODbFacadeImpl.

Change-Id: I755f75f32bcada9e6c446c86b1d7109fb94768ad
Bug-Url: https://bugzilla.redhat.com/1185826
Signed-off-by: Daniel Erez <[email protected]>
---
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java
1 file changed, 40 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/14/39014/1

diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java
index fb1f99d..56902fa 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java
@@ -9,7 +9,9 @@
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
+import org.ovirt.engine.core.common.businessentities.storage.CinderDisk;
 import org.ovirt.engine.core.common.businessentities.storage.DiskImage;
+import org.ovirt.engine.core.common.businessentities.storage.DiskStorageType;
 import org.ovirt.engine.core.common.businessentities.storage.ImageStatus;
 import org.ovirt.engine.core.common.businessentities.storage.StorageType;
 import org.ovirt.engine.core.common.businessentities.storage.VolumeFormat;
@@ -151,8 +153,19 @@
 
         @Override
         public DiskImage mapRow(ResultSet rs, int rowNum) throws SQLException {
-            DiskImage entity = super.mapRow(rs, rowNum);
-            mapEntity(rs, entity);
+            DiskImage entity = null;
+            DiskStorageType diskStorageType = 
DiskStorageType.forValue(rs.getInt("disk_storage_type"));
+
+            switch (diskStorageType) {
+                case IMAGE:
+                    entity = super.mapRow(rs, rowNum);
+                    mapEntity(rs, entity);
+                    break;
+                case CINDER:
+                    entity = CinderDiskRowMapper.instance.mapRow(rs, rowNum);
+                    break;
+            }
+
             return entity;
         }
 
@@ -257,4 +270,29 @@
             return guidList;
         }
     }
+
+    protected static class CinderDiskRowMapper extends 
AbstractDiskRowMapper<CinderDisk> {
+
+        public static CinderDiskRowMapper instance = new CinderDiskRowMapper();
+
+        private CinderDiskRowMapper() {
+        }
+
+        @Override
+        public CinderDisk mapRow(ResultSet rs, int rowNum) throws SQLException 
{
+            CinderDisk cinderDisk = super.mapRow(rs, rowNum);
+            DiskImageRowMapper.instance.mapEntity(rs, cinderDisk);
+            mapEntity(rs, cinderDisk);
+            return cinderDisk;
+        }
+
+        private void mapEntity(ResultSet rs, CinderDisk entity) throws 
SQLException {
+            entity.setCinderVolumeType(rs.getString("cinder_volume_type"));
+        }
+
+        @Override
+        protected CinderDisk createDiskEntity() {
+            return new CinderDisk();
+        }
+    }
 }


-- 
To view, visit https://gerrit.ovirt.org/39014
To unsubscribe, visit https://gerrit.ovirt.org/settings

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

Reply via email to