package org.ovirt.engine.core.dao; import java.util.List; import javax.inject.Named; import javax.inject.Singleton; import org.ovirt.engine.core.common.businessentities.StorageDomainStatus; import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap; import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMapId; import org.ovirt.engine.core.compat.Guid; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; @Named @Singleton public class StoragePoolIsoMapDaoImpl extends BaseDao implements StoragePoolIsoMapDao { private static final RowMapper<StoragePoolIsoMap> storagePoolIsoMapRowMapper = (rs, rowNum) -> { StoragePoolIsoMap entity = new StoragePoolIsoMap(); entity.setStorageId(getGuidDefaultEmpty(rs, "storage_id")); entity.setStoragePoolId(getGuid(rs, "storage_pool_id")); entity.setStatus(StorageDomainStatus.forValue(rs.getInt("status"))); return entity; }; @Override public StoragePoolIsoMap get(StoragePoolIsoMapId id) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("storage_id", id.getStorageId()) .addValue("storage_pool_id", id.getStoragePoolId()); return getCallsHandler().executeRead("Getstorage_pool_iso_mapBystorage_idAndBystorage_pool_id", storagePoolIsoMapRowMapper, parameterSource); } @Override public void save(StoragePoolIsoMap map) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("storage_id", map.getStorageId()).addValue("storage_pool_id", map.getStoragePoolId()).addValue("status", map.getStatus()); getCallsHandler().executeModification("Insertstorage_pool_iso_map", parameterSource); } @Override public void update(StoragePoolIsoMap map) { updateStatus(map.getId(), map.getStatus()); } @Override public void remove(StoragePoolIsoMapId id) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("storage_id", id.getStorageId()).addValue("storage_pool_id", id.getStoragePoolId()); getCallsHandler().executeModification("Deletestorage_pool_iso_map", parameterSource); } @SuppressWarnings("unchecked") @Override public List<StoragePoolIsoMap> getAllForStoragePool(Guid storagePoolId) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("storage_id", Guid.Empty) .addValue("storage_pool_id", storagePoolId); return getCallsHandler().executeReadList("Getstorage_pool_iso_mapsByBystorage_pool_id", storagePoolIsoMapRowMapper, parameterSource); } @SuppressWarnings("unchecked") @Override public List<StoragePoolIsoMap> getAllForStorage(Guid isoId) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("storage_id", isoId); return getCallsHandler().executeReadList("Getstorage_pool_iso_mapsBystorage_id", storagePoolIsoMapRowMapper, parameterSource); } @Override public List<StoragePoolIsoMap> getAll() { throw new UnsupportedOperationException(); } @Override public void updateStatus(StoragePoolIsoMapId id, StorageDomainStatus status) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("storage_id", id.getStorageId()).addValue("storage_pool_id", id.getStoragePoolId()).addValue("status", status); getCallsHandler().executeModification("Updatestorage_pool_iso_map_status", parameterSource); } }