package br.com.ftt.bettaserver.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedList; import java.util.List; import br.com.ftt.bettaserver.database.util.DataBaseUtil; import br.com.ftt.bettaserver.form.ChaveParametro; import br.com.ftt.bettaserver.form.IdiomasFilmes; import br.com.ftt.bettaserver.form.Parametro; public class ParametrosDAO { public String getCodigoIdioma( int idiomaId ) { String codigo = ""; Connection con = null; PreparedStatement pstmt = null; ResultSet rs = null ; String sql = "select codigo from idiomas_filmes where id = ?"; try { con = DataBaseUtil.getConnection( ) ; pstmt = con.prepareStatement( sql ) ; { pstmt.setInt( 1, idiomaId ); } rs = pstmt.executeQuery( ) ; if( rs.next( ) ) { codigo = rs.getString( "codigo" ); } } catch( SQLException e ) { e.printStackTrace( ) ; } finally { DataBaseUtil.close( con, pstmt, rs ) ; } return codigo; } public List<IdiomasFilmes> buscaTodosIdiomas() { List<IdiomasFilmes> idiomas = null ; Connection con = null; PreparedStatement pstmt = null; ResultSet rs = null ; String sql = "select id, codigo, nome from idiomas_filmes"; try { con = DataBaseUtil.getConnection( ) ; pstmt = con.prepareStatement( sql ) ; rs = pstmt.executeQuery( ) ; if( rs.next( ) ) { idiomas = new LinkedList<IdiomasFilmes>( ) ; do { IdiomasFilmes idioma = new IdiomasFilmes( ) ; idioma.setId( rs.getInt( "id" ) ); idioma.setCodigo( rs.getString( "codigo" ) ) ; idioma.setNome( rs.getString( "nome" ) ) ; idiomas.add( idioma ); } while( rs.next( ) ) ; } } catch( SQLException e ) { e.printStackTrace(); } finally { DataBaseUtil.close( con, pstmt, rs ) ; } return idiomas ; } public boolean salvarParametros( Parametro[] parametros ) { Connection con = null ; PreparedStatement pstmt = null; String sql = "update parametros set valor = ? where id = ?"; try { con = DataBaseUtil.getConnection( ) ; con.setAutoCommit( false ) ; for( Parametro param : parametros ) { pstmt = con.prepareStatement( sql ) ; { pstmt.setString( 1, param.getValor( ) ) ; pstmt.setInt( 2, param.getId( ) ) ; } pstmt.executeUpdate( ) ; } con.commit( ) ; } catch( SQLException e ) { try { if( con != null ) { con.rollback( ) ; } } catch ( SQLException e1 ) { e1.printStackTrace(); } return false ; } finally { DataBaseUtil.close( con, pstmt, null ) ; } return true; } public List<Parametro> buscarTodosParametros( ) { List<Parametro> parametros = null; Connection con = null ; PreparedStatement pstmt = null; ResultSet rs = null ; String sql = "select id, nome, valor from parametros" ; try { con = DataBaseUtil.getConnection( ) ; pstmt = con.prepareStatement( sql ) ; rs = pstmt.executeQuery( ) ; if( rs.next( ) ) { parametros = new LinkedList<Parametro>( ) ; do { Parametro parametro = new Parametro( ) ; parametro.setId( rs.getInt( "id" ) ) ; parametro.setNome( rs.getString( "nome" ) ) ; parametro.setValor( rs.getString( "valor" ) ) ; parametros.add( parametro ) ; } while( rs.next( ) ) ; } } catch( SQLException e ) { e.printStackTrace( ) ; } finally { DataBaseUtil.close( con, pstmt, rs ) ; } return parametros; } public String buscaValorDeParametro( ChaveParametro chave ) { String value = "" ; Connection con = null ; PreparedStatement pstmt = null ; ResultSet rs = null ; String sql = "select valor from parametros where chave = ?" ; try { con = DataBaseUtil.getConnection( ) ; pstmt = con.prepareStatement( sql ) ; { pstmt.setString( 1, chave.toString( ) ) ; } rs = pstmt.executeQuery( ) ; if( rs.next( ) ) { value = rs.getString( "valor" ) ; } } catch( SQLException e ) { e.printStackTrace( ) ; } finally { DataBaseUtil.close( con, pstmt, rs ) ; } return value ; } }