package br.com.ftt.bettaserver.restful.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedList; import br.com.ftt.bettaserver.restful.database.util.DataBaseUtil; import br.com.ftt.bettaserver.restful.form.Categorias; import br.com.ftt.bettaserver.restful.form.ChaveParametro; import br.com.ftt.bettaserver.restful.form.XmlCategroria; public class CategoriaDAO { public XmlCategroria buscaCategoria( int id ) { XmlCategroria categoria = null ; Connection con = null ; PreparedStatement pstmt = null ; ResultSet rs = null ; String sql = "select id, nome from categorias where id = ?" ; ParametrosDAO dao = new ParametrosDAO( ) ; String urlServidor = dao.buscaValorDeParametro( ChaveParametro.MOBILE_REQUEST ) ; try { con = DataBaseUtil.getConnection( ) ; pstmt = con.prepareStatement( sql ) ; { pstmt.setInt( 1, id ) ; } rs = pstmt.executeQuery( ) ; if( rs.next( ) ) { categoria = new XmlCategroria( ) ; categoria.setNome( rs.getString( "nome" ) ) ; categoria.setUrl( urlServidor + "/buscaFilmesCategoria?categoriaId="+id) ; } } catch( SQLException e ) { e.printStackTrace( ) ; } finally { DataBaseUtil.close( con, pstmt, rs ) ; } return categoria ; } public boolean existeCategoria( String nome ) { Connection con = null ; PreparedStatement pstmt = null ; ResultSet rs = null ; String sql = "select id from categorias where LOWER(nome) = ?" ; try { con = DataBaseUtil.getConnection( ) ; pstmt = con.prepareStatement( sql ) ; { pstmt.setString( 1, nome.toLowerCase( ) ) ; } rs = pstmt.executeQuery( ) ; return rs.next( ) ; } catch( SQLException e ) { e.printStackTrace( ) ; } return false ; } public Categorias buscaTodasCategorias( ) { Categorias list = null ; Connection con = null ; PreparedStatement pstmt = null ; ResultSet rs = null ; String sql = "select id, nome from categorias order by nome"; ParametrosDAO dao = new ParametrosDAO( ) ; String urlServidor = dao.buscaValorDeParametro( ChaveParametro.MOBILE_REQUEST ) ; try { con = DataBaseUtil.getConnection( ) ; pstmt = con.prepareStatement( sql ) ; rs = pstmt.executeQuery( ) ; if( rs.next( ) ) { list = new Categorias( ) ; list.setCategoria( new LinkedList<XmlCategroria>( ) ) ; do { int id = rs.getInt( "id" ) ; String nome = rs.getString( "nome" ) ; XmlCategroria cat = new XmlCategroria( ); cat.setNome( nome ) ; cat.setUrl( urlServidor + "/buscaFilmesCategoria?categoriaId="+id) ; cat.setIsVisible( "true" ) ; list.getCategory( ).add( cat ) ; } while( rs.next( ) ) ; } } catch( SQLException e ) { e.printStackTrace( ) ; } return list ; } public boolean excluirCategoria( int id ) { Connection con = null; PreparedStatement pstmt = null; String sql = "delete from categorias where id = ?" ; try { con = DataBaseUtil.getConnection( ) ; con.setAutoCommit( false ) ; pstmt = con.prepareStatement( sql ) ; { pstmt.setInt( 1, id ) ; } pstmt.executeUpdate( ); con.commit( ) ; return true ; } catch( SQLException e ) { if( con != null ) { try { con.rollback( ); } catch ( SQLException e1 ) { e1.printStackTrace(); } } e.printStackTrace( ) ; return false ; } } }