/** * @author Diego Parente * <p>Este método popula o objeto * @param rs Paramentro do tipo ResultSet, onde constam as informações de um produto * @return Produto O método retornará um objeto produto ao seu chamador * @throws SQLException Retorna uma excessão caso não consiga acessar as informações da váriavel * rs. */ private Parque populaParque(ResultSet rs) throws SQLException { Parque parque = new Parque(); parque.getCliente().setId(rs.getLong("contrato_cliente_id_cliente")); parque.getPolitica().setId(rs.getLong("politica_comercial_id_politica")); parque.getTerminal().setId(rs.getLong("contrato_terminal_id_terminal")); parque.setStatusContrato(Enum.valueOf(StatusProduto.class, rs.getString("status_acordo"))); return parque; }
// Verificar como ficará o atributo data_cancelamento neste método, somente // incluir, quando for alterado de ativo // para cancelado public boolean altera(Parque parque) { String sql = "UPDATE parque SET status_acordo = ?, data_cancelamento = ? WHERE contrato_terminal_id_terminal = ? AND " + "contrato_cliente_id_cliente = ? AND politica_comercial_id_politica = ?"; try { stmt = connection.prepareStatement(sql); stmt.setString(1, parque.getStatusContrato().name()); stmt.setDate(2, new Date(parque.getDataCancelamento().getTimeInMillis())); stmt.setLong(3, parque.getTerminal().getId()); stmt.setLong(4, parque.getCliente().getId()); stmt.setLong(5, parque.getPolitica().getId()); stmt.execute(); return true; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DaoUtil.fecha(stmt, rs); } }
/** * @author Diego Parente * <p>Este método adiciona um Parque no banco de dados. Retorna um boolean para facilitar os * testes no JUnit. * @param Parque Objeto Parque * @return boolean Retorno do método que serve para validar a operação */ public boolean adiciona(Parque parque) { String sql = "INSERT INTO parque (contrato_terminal_id_terminal, contrato_cliente_id_cliente," + " politica_comercial_id_politica, status_acordo, data_registro) VALUES(?,?,?,?,?)"; try { stmt = connection.prepareStatement(sql); stmt.setLong(1, parque.getTerminal().getId()); stmt.setLong(2, parque.getCliente().getId()); stmt.setLong(3, parque.getPolitica().getId()); stmt.setString(4, parque.getStatusContrato().name()); stmt.setDate(5, new Date(parque.getDataRegistro().getTimeInMillis())); stmt.execute(); return true; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DaoUtil.fecha(stmt, rs); } }
/** * @author Diego Parente * @param id Parametro que representa o ID do Parque no Banco de Dados * @return Parque O método retornará um objeto Parque ao seu chamador */ public Parque busca(Parque parque) { String sql = "SELECT * FROM parque WHERE contrato_terminal_id_terminal = ? AND " + "contrato_cliente_id_cliente = ? AND politica_comercial_id_politica = ?"; try { stmt = connection.prepareStatement(sql); stmt.setLong(1, parque.getTerminal().getId()); stmt.setLong(2, parque.getCliente().getId()); stmt.setLong(3, parque.getPolitica().getId()); rs = stmt.executeQuery(); if (rs.next()) { return this.populaParque(rs); } else { throw new RegistroNaoLocalizadoException(parque); } } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DaoUtil.fecha(stmt, rs); } }