package org.ovirt.engine.core.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
import org.ovirt.engine.core.common.businessentities.bookmarks;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.dal.dbbroker.CustomMapSqlParameterSource;
/**
* <code>BookmarkDAODbFacadeImpl</code> provides a concrete implementation of <code>BookmarkDAO</code> that uses
* pre-existing code from <code>DbFacade</code>
*
*
*/
public class BookmarkDAODbFacadeImpl extends BaseDAODbFacade implements BookmarkDAO {
private class BookmarkRowMapper implements
ParameterizedRowMapper<bookmarks> {
@Override
public bookmarks mapRow(ResultSet rs, int rowNum) throws SQLException {
bookmarks entity = new bookmarks();
entity.setbookmark_id(new Guid(rs
.getString("bookmark_id")));
entity.setbookmark_name(rs.getString("bookmark_name"));
entity.setbookmark_value(rs.getString("bookmark_value"));
return entity;
}
}
private class BookmarkSqlParameterSource extends
CustomMapSqlParameterSource {
public BookmarkSqlParameterSource(bookmarks bookmark) {
super(dialect);
addValue("bookmark_id", bookmark.getbookmark_id());
addValue("bookmark_name", bookmark.getbookmark_name());
addValue("bookmark_value", bookmark.getbookmark_value());
}
public BookmarkSqlParameterSource() {
super(dialect);
}
public BookmarkSqlParameterSource(Guid id) {
super(dialect);
addValue("bookmark_id", id);
}
public BookmarkSqlParameterSource(String name) {
super(dialect);
addValue("bookmark_name", name);
}
}
@Override
public bookmarks get(Guid id) {
MapSqlParameterSource parameterSource = new BookmarkSqlParameterSource(
id);
return getCallsHandler().executeRead("GetBookmarkBybookmark_id", new BookmarkRowMapper(), parameterSource);
}
@Override
public bookmarks getByName(String name) {
MapSqlParameterSource parameterSource = new BookmarkSqlParameterSource(
name);
return getCallsHandler().executeRead("GetBookmarkBybookmark_name", new BookmarkRowMapper(), parameterSource);
}
@SuppressWarnings("unchecked")
@Override
public List<bookmarks> getAll() {
MapSqlParameterSource parameterSource = new BookmarkSqlParameterSource();
return getCallsHandler().executeReadList("GetAllFromBookmarks", new BookmarkRowMapper(), parameterSource);
}
@Override
public void save(bookmarks bookmark) {
MapSqlParameterSource parameterSource = new BookmarkSqlParameterSource(
bookmark);
getCallsHandler().executeModification("InsertBookmark", parameterSource);
}
@Override
public void update(bookmarks bookmark) {
MapSqlParameterSource parameterSource = new BookmarkSqlParameterSource(
bookmark);
getCallsHandler().executeModification("UpdateBookmark", parameterSource);
}
@Override
public void remove(Guid id) {
MapSqlParameterSource parameterSource = new BookmarkSqlParameterSource(
id);
getCallsHandler().executeModification("DeleteBookmark", parameterSource);
}
}