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
