package org.ovirt.engine.core.dao; import java.sql.ResultSet; import java.sql.SQLException; import org.ovirt.engine.core.common.businessentities.DiskImageDynamic; import org.ovirt.engine.core.compat.Guid; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.simple.ParameterizedRowMapper; /** * JDBC template based implementation of DiskImageDynamicDAO * */ public class DiskImageDynamicDAODbFacadeImpl extends MassOperationsGenericDaoDbFacade<DiskImageDynamic, Guid> implements DiskImageDynamicDAO { @Override protected String getProcedureNameForGet() { return "Getdisk_image_dynamicByimage_id"; } @Override protected String getProcedureNameForGetAll() { return "GetAllFromdisk_image_dynamic"; } @Override protected String getProcedureNameForSave() { return "Insertdisk_image_dynamic"; } @Override protected String getProcedureNameForRemove() { return "Deletedisk_image_dynamic"; } @Override protected String getProcedureNameForUpdate() { return "Updatedisk_image_dynamic"; } @Override protected MapSqlParameterSource createIdParameterMapper(Guid id) { return getCustomMapSqlParameterSource() .addValue("image_id", id); } @Override protected MapSqlParameterSource createFullParametersMapper(DiskImageDynamic entity) { return createIdParameterMapper(entity.getId()) .addValue("read_rate", entity.getread_rate()) .addValue("write_rate", entity.getwrite_rate()) .addValue("actual_size", entity.getactual_size()) .addValue("read_latency_seconds", entity.getReadLatency()) .addValue("write_latency_seconds", entity.getWriteLatency()) .addValue("flush_latency_seconds", entity.getFlushLatency()); } @Override protected ParameterizedRowMapper<DiskImageDynamic> createEntityRowMapper() { return new ParameterizedRowMapper<DiskImageDynamic>() { @Override public DiskImageDynamic mapRow(ResultSet rs, int rowNum) throws SQLException { DiskImageDynamic entity = new DiskImageDynamic(); entity.setId(Guid.createGuidFromString(rs .getString("image_id"))); entity.setread_rate((Integer) rs.getObject("read_rate")); entity.setwrite_rate((Integer) rs.getObject("write_rate")); entity.setactual_size(rs.getLong("actual_size")); entity.setReadLatency(rs.getObject("read_latency_seconds") != null ? rs.getDouble("read_latency_seconds") : null); entity.setWriteLatency(rs.getObject("write_latency_seconds") != null ? rs.getDouble("write_latency_seconds") : null); entity.setFlushLatency(rs.getObject("flush_latency_seconds") != null ? rs.getDouble("flush_latency_seconds") : null); return entity; } }; } }