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.VmIconDefault; import org.ovirt.engine.core.compat.Guid; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; @Named @Singleton public class VmIconDefaultDaoImpl extends DefaultGenericDao<VmIconDefault, Guid> implements VmIconDefaultDao { private static final String ID_COLUMN = "id"; private static final String OS_ID_COLUMN = "os_id"; private static final String SMALL_ICON_ID_COLUMN = "small_icon_id"; private static final String LARGE_ICON_ID_COLUMN = "large_icon_id"; public VmIconDefaultDaoImpl() { super("VmIconDefault"); } @Override public List<VmIconDefault> getByLargeIconId(Guid largeIconId) { return getCallsHandler().executeReadList("GetVmIconDefaultByVmIconDefaultLargeIconId", createEntityRowMapper(), getCustomMapSqlParameterSource().addValue(LARGE_ICON_ID_COLUMN, largeIconId)); } @Override public void removeAll() { getCallsHandler().executeModification("DeleteAllFromVmIconDefaults", getCustomMapSqlParameterSource()); } @Override public VmIconDefault getByOperatingSystemId(int osId) { return getCallsHandler().executeRead("GetVmIconDefaultByVmIconDefaultOsId", createEntityRowMapper(), getCustomMapSqlParameterSource().addValue(OS_ID_COLUMN, osId)); } @Override protected MapSqlParameterSource createFullParametersMapper(VmIconDefault entity) { return createIdParameterMapper(entity.getId()) .addValue(OS_ID_COLUMN, entity.getOsId()) .addValue(SMALL_ICON_ID_COLUMN, entity.getSmallIconId()) .addValue(LARGE_ICON_ID_COLUMN, entity.getLargeIconId()); } @Override protected MapSqlParameterSource createIdParameterMapper(Guid id) { return getCustomMapSqlParameterSource() .addValue(ID_COLUMN, id); } @Override protected RowMapper<VmIconDefault> createEntityRowMapper() { return (rs, rowNum) -> { VmIconDefault iconDefaults = new VmIconDefault(); iconDefaults.setId(getGuid(rs, ID_COLUMN)); iconDefaults.setOsId(rs.getInt(OS_ID_COLUMN)); iconDefaults.setSmallIconId(getGuid(rs, SMALL_ICON_ID_COLUMN)); iconDefaults.setLargeIconId(getGuid(rs, LARGE_ICON_ID_COLUMN)); return iconDefaults; }; } }