package org.ovirt.engine.core.dao; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.businessentities.action_version_map; import org.ovirt.engine.core.compat.Guid; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.simple.ParameterizedRowMapper; /** * <code>ActionGroupDAODbFacadeImpl</code> provides a concrete implementation of {@link ActionGroupDAO}. * * The initial implementation came from {@DbFacade}. * * */ public class ActionGroupDAODbFacadeImpl extends BaseDAODbFacade implements ActionGroupDAO { @SuppressWarnings("unchecked") @Override public List<ActionGroup> getAllForRole(Guid id) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("id", id); ParameterizedRowMapper<ActionGroup> mapper = new ParameterizedRowMapper<ActionGroup>() { @Override public ActionGroup mapRow(ResultSet rs, int rowNum) throws SQLException { return ActionGroup.forValue(rs.getInt("action_group_id")); } }; return getCallsHandler().executeReadList("GetRoleActionGroupsByRoleId", mapper, parameterSource); } @Override public action_version_map getActionVersionMapByActionType(VdcActionType action_type) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("action_type", action_type); ParameterizedRowMapper<action_version_map> mapper = new ParameterizedRowMapper<action_version_map>() { @Override public action_version_map mapRow(ResultSet rs, int rowNum) throws SQLException { action_version_map entity = new action_version_map(); entity.setaction_type(VdcActionType.forValue(rs.getInt("action_type"))); entity.setcluster_minimal_version(rs.getString("cluster_minimal_version")); entity.setstorage_pool_minimal_version(rs.getString("storage_pool_minimal_version")); return entity; } }; return getCallsHandler().executeRead("Getaction_version_mapByaction_type", mapper, parameterSource); } @Override public void addActionVersionMap(action_version_map action_version_map) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("action_type", action_version_map.getaction_type()).addValue("cluster_minimal_version", action_version_map.getcluster_minimal_version()).addValue("storage_pool_minimal_version", action_version_map.getstorage_pool_minimal_version()); getCallsHandler().executeModification("Insertaction_version_map", parameterSource); } @Override public void removeActionVersionMap(VdcActionType action_type) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("action_type", action_type); getCallsHandler().executeModification("Deleteaction_version_map", parameterSource); } }