package org.ovirt.engine.core.dao.network; import java.sql.ResultSet; import java.sql.SQLException; import javax.inject.Named; import javax.inject.Singleton; import org.ovirt.engine.core.common.businessentities.network.NetworkQoS; import org.ovirt.engine.core.common.businessentities.qos.QosType; import org.ovirt.engine.core.dao.qos.QosBaseDaoImpl; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; @Named @Singleton public class NetworkQoSDaoImpl extends QosBaseDaoImpl<NetworkQoS> implements NetworkQoSDao { protected final RowMapper<NetworkQoS> mapper = createEntityRowMapper(); public NetworkQoSDaoImpl(){ super(QosType.NETWORK); } @Override protected MapSqlParameterSource createFullParametersMapper(NetworkQoS networkQos) { MapSqlParameterSource map = super.createFullParametersMapper(networkQos); map.addValue("inbound_average", networkQos.getInboundAverage()); map.addValue("inbound_peak", networkQos.getInboundPeak()); map.addValue("inbound_burst", networkQos.getInboundBurst()); map.addValue("outbound_average", networkQos.getOutboundAverage()); map.addValue("outbound_peak", networkQos.getOutboundPeak()); map.addValue("outbound_burst", networkQos.getOutboundBurst()); return map; } @Override protected RowMapper<NetworkQoS> createEntityRowMapper() { return NetworkQosDaoDbFacadaeImplMapper.MAPPER; } public static class NetworkQosDaoDbFacadaeImplMapper extends QosBaseDaoFacadaeImplMapper<NetworkQoS> { public static final NetworkQosDaoDbFacadaeImplMapper MAPPER = new NetworkQosDaoDbFacadaeImplMapper(); @Override public NetworkQoS createQosEntity(ResultSet rs) throws SQLException { NetworkQoS entity = new NetworkQoS(); entity.setInboundAverage(getInteger(rs, "inbound_average")); entity.setInboundPeak(getInteger(rs, "inbound_peak")); entity.setInboundBurst(getInteger(rs, "inbound_burst")); entity.setOutboundAverage(getInteger(rs, "outbound_average")); entity.setOutboundPeak(getInteger(rs, "outbound_peak")); entity.setOutboundBurst(getInteger(rs, "outbound_burst")); return entity; } } }