package org.ovirt.engine.core.dao; import javax.inject.Named; import javax.inject.Singleton; import org.ovirt.engine.core.common.ExternalVariable; import org.ovirt.engine.core.dal.dbbroker.DbFacadeUtils; import org.springframework.jdbc.core.RowMapper; @Named @Singleton public class ExternalVariableDaoImpl extends BaseDao implements ExternalVariableDao { private static final RowMapper<ExternalVariable> externalVariableMapper = (rs, rowNum) -> { ExternalVariable entity = new ExternalVariable(); entity.setName(rs.getString("var_name")); entity.setValue(rs.getString("var_value")); entity.setUpdateDate(DbFacadeUtils.fromDate(rs.getTimestamp("_update_date"))); return entity; }; @Override public void save(ExternalVariable var) { getCallsHandler().executeModification( "InsertExternalVariable", getCustomMapSqlParameterSource() .addValue("var_name", var.getName()) .addValue("var_value", var.getValue()) ); } @Override public void update(ExternalVariable var) { getCallsHandler().executeModification( "UpdateExternalVariable", getCustomMapSqlParameterSource() .addValue("var_name", var.getName()) .addValue("var_value", var.getValue()) ); } @Override public void saveOrUpdate(ExternalVariable var) { getCallsHandler().executeModification( "UpsertExternalVariable", getCustomMapSqlParameterSource() .addValue("var_name", var.getName()) .addValue("var_value", var.getValue()) ); } @Override public void remove(String name) { getCallsHandler().executeModification( "DeleteExternalVariable", getCustomMapSqlParameterSource() .addValue("var_name", name) ); } @Override public ExternalVariable get(String name) { return getCallsHandler().executeRead( "GetExternalVariableByName", externalVariableMapper, getCustomMapSqlParameterSource() .addValue("var_name", name) ); } }