package org.ovirt.engine.core.dao; import javax.inject.Named; import javax.inject.Singleton; import org.ovirt.engine.core.common.businessentities.storage.DiskLunMap; import org.ovirt.engine.core.common.businessentities.storage.DiskLunMapId; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; @Named @Singleton public class DiskLunMapDaoImpl extends DefaultGenericDao<DiskLunMap, DiskLunMapId> implements DiskLunMapDao { public DiskLunMapDaoImpl() { super("DiskLunMap"); } @Override public void update(DiskLunMap entity) { throw new UnsupportedOperationException(); } @Override protected MapSqlParameterSource createIdParameterMapper(DiskLunMapId id) { return getCustomMapSqlParameterSource().addValue("disk_id", id.getDiskId()).addValue("lun_id", id.getLunId()); } @Override protected MapSqlParameterSource createFullParametersMapper(DiskLunMap entity) { return createIdParameterMapper(entity.getId()); } @Override protected RowMapper<DiskLunMap> createEntityRowMapper() { return (rs, rowNum) -> { DiskLunMap diskLunMap = new DiskLunMap(); diskLunMap.setDiskId(getGuidDefaultEmpty(rs, "disk_id")); diskLunMap.setLunId(rs.getString("lun_id")); return diskLunMap; }; } @Override public DiskLunMap getDiskIdByLunId(String lunId) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("lun_id", lunId); return getCallsHandler().executeRead("GetDiskLunMapByLunId", createEntityRowMapper(), parameterSource); } }