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.ExternalStatus; import org.ovirt.engine.core.common.businessentities.StorageDomainDynamic; import org.ovirt.engine.core.compat.Guid; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; @Named @Singleton public class StorageDomainDynamicDaoImpl extends BaseDao implements StorageDomainDynamicDao{ private static final RowMapper<StorageDomainDynamic> storageDomainDynamicRowMapper = (rs, rowNum) -> { StorageDomainDynamic entity = new StorageDomainDynamic(); entity.setAvailableDiskSize((Integer) rs.getObject("available_disk_size")); entity.setId(getGuidDefaultEmpty(rs, "id")); entity.setUsedDiskSize((Integer) rs.getObject("used_disk_size")); entity.setExternalStatus(ExternalStatus.forValue(rs.getInt("external_status"))); return entity; }; @Override public StorageDomainDynamic get(Guid id) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("id", id); return getCallsHandler().executeRead("Getstorage_domain_dynamicByid", storageDomainDynamicRowMapper, parameterSource); } @Override public void save(StorageDomainDynamic domain) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("available_disk_size", domain.getAvailableDiskSize()) .addValue("id", domain.getId()) .addValue("used_disk_size", domain.getUsedDiskSize()); getCallsHandler().executeModification("Insertstorage_domain_dynamic", parameterSource); } @Override public void update(StorageDomainDynamic domain) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("available_disk_size", domain.getAvailableDiskSize()) .addValue("id", domain.getId()) .addValue("used_disk_size", domain.getUsedDiskSize()); getCallsHandler().executeModification("Updatestorage_domain_dynamic", parameterSource); } @Override public void updateExternalStatus(Guid id, ExternalStatus status) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("storage_id", id) .addValue("external_status", status); getCallsHandler().executeModification("UpdateStorageDomainExternalStatus", parameterSource); } @Override public void remove(Guid id) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("id", id); getCallsHandler().executeModification("Deletestorage_domain_dynamic", parameterSource); } @Override public List<StorageDomainDynamic> getAll() { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource(); return getCallsHandler().executeReadList("GetAllFromstorage_domain_dynamic", storageDomainDynamicRowMapper, parameterSource); } }