package org.ovirt.engine.core.dao; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import org.apache.commons.lang.NotImplementedException; import org.ovirt.engine.core.common.businessentities.VdsStatistics; import org.ovirt.engine.core.compat.Guid; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.simple.ParameterizedRowMapper; /** * <code>VdsDAODbFacadeImpl</code> provides an implementation of {@link VdsDAO} that uses previously written code from * {@link org.ovirt.engine.core.dal.dbbroker.DbFacade}. * * */ public class VdsStatisticsDAODbFacadeImpl extends BaseDAODbFacade implements VdsStatisticsDAO { @Override public VdsStatistics get(Guid id) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("vds_id", id); ParameterizedRowMapper<VdsStatistics> mapper = new ParameterizedRowMapper<VdsStatistics>() { @Override public VdsStatistics mapRow(ResultSet rs, int rowNum) throws SQLException { VdsStatistics entity = new VdsStatistics(); entity.setcpu_idle(rs.getDouble("cpu_idle")); entity.setcpu_load(rs.getDouble("cpu_load")); entity.setcpu_sys(rs.getDouble("cpu_sys")); entity.setcpu_user(rs.getDouble("cpu_user")); entity.setusage_cpu_percent((Integer) rs .getObject("usage_cpu_percent")); entity.setusage_mem_percent((Integer) rs .getObject("usage_mem_percent")); entity.setusage_network_percent((Integer) rs .getObject("usage_network_percent")); entity.setId(Guid.createGuidFromString(rs .getString("vds_id"))); entity.setmem_available(rs.getLong("mem_available")); entity.setmem_shared(rs.getLong("mem_shared")); entity.setswap_free(rs.getLong("swap_free")); entity.setswap_total(rs.getLong("swap_total")); entity.setksm_cpu_percent((Integer) rs .getObject("ksm_cpu_percent")); entity.setksm_pages(rs.getLong("ksm_pages")); entity.setksm_state((Boolean) rs.getObject("ksm_state")); return entity; } }; return getCallsHandler().executeRead("GetVdsStatisticsByVdsId", mapper, parameterSource); } @Override public void save(VdsStatistics stats) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("cpu_idle", stats.getcpu_idle()) .addValue("cpu_load", stats.getcpu_load()) .addValue("cpu_sys", stats.getcpu_sys()) .addValue("cpu_user", stats.getcpu_user()) .addValue("usage_cpu_percent", stats.getusage_cpu_percent()) .addValue("usage_mem_percent", stats.getusage_mem_percent()) .addValue("usage_network_percent", stats.getusage_network_percent()) .addValue("vds_id", stats.getId()) .addValue("mem_available", stats.getmem_available()) .addValue("mem_shared", stats.getmem_shared()) .addValue("swap_free", stats.getswap_free()) .addValue("swap_total", stats.getswap_total()) .addValue("ksm_cpu_percent", stats.getksm_cpu_percent()) .addValue("ksm_pages", stats.getksm_pages()) .addValue("ksm_state", stats.getksm_state()); getCallsHandler().executeModification("InsertVdsStatistics", parameterSource); } @Override public void update(VdsStatistics stats) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("cpu_idle", stats.getcpu_idle()) .addValue("cpu_load", stats.getcpu_load()) .addValue("cpu_sys", stats.getcpu_sys()) .addValue("cpu_user", stats.getcpu_user()) .addValue("usage_cpu_percent", stats.getusage_cpu_percent()) .addValue("usage_mem_percent", stats.getusage_mem_percent()) .addValue("usage_network_percent", stats.getusage_network_percent()) .addValue("vds_id", stats.getId()) .addValue("mem_available", stats.getmem_available()) .addValue("mem_shared", stats.getmem_shared()) .addValue("swap_free", stats.getswap_free()) .addValue("swap_total", stats.getswap_total()) .addValue("ksm_cpu_percent", stats.getksm_cpu_percent()) .addValue("ksm_pages", stats.getksm_pages()) .addValue("ksm_state", stats.getksm_state()); getCallsHandler().executeModification("UpdateVdsStatistics", parameterSource); } @Override public void remove(Guid id) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("vds_id", id); getCallsHandler().executeModification("DeleteVdsStatistics", parameterSource); } @Override public List<VdsStatistics> getAll() { throw new NotImplementedException(); } }