rendered paste body/********************************Voo.java********************************/package bean;import java.sql.SQLException;import java.util.Date;/**JavaBean que representa uma instancia de Voo, juntamente com suas * Passages e seus TrechosVoos*/public class Voo { /**número desse Vôo*/ private Integer numero; /**dia da semana desse Vôo*/ private String diaSemana; /**companhia aérea desse Vôo*/ private String companhiaAerea; /**passagens desse vôo*/ private Passagem passagem[]; /**trechos desse vôo*/ private TrechoVoo trechovoo[]; /**Cria um Vôo*/ public Voo( Integer numero, String diaSemana, String companhiaAerea, Passagem passagem[], TrechoVoo trechovoo[]) { setNumero(numero); setDiaSemana(diaSemana); setCompanhiaAerea(companhiaAerea); setPassagem(passagem); setTrechovoo(trechovoo); } public String getCompanhiaAerea() { return companhiaAerea; } public void setCompanhiaAerea(String companhiaAerea) { this.companhiaAerea = companhiaAerea; } public String getDiaSemana() { return diaSemana; } public void setDiaSemana(String diaSemana) { this.diaSemana = diaSemana; } public Integer getNumero() { return numero; } public void setNumero(Integer numero) { this.numero = numero; } public Passagem[] getPassagem() { return passagem; } public void setPassagem(Passagem[] passagem) { this.passagem = passagem; }/***************************DataHandler.insereVoo********************************************/ /**Insere uma tupla de Voo na base de dados, retornando * uma mensagem de sucesso ou o erro ocorrido * @return String mensagem de sucesso ou de erro * @throws SQLException */public static String insertVoo(Voo voo){ /**a operação sql que iremos realizar*/ String sqlString; /**a mensagem que será retornada à aplicação*/ String retString=""; /**representa a operação SQL que será executada*/ Statement stmt; try { /**conectando ao BD...*/ getDBConnection(); /**cria um Statement a partir da conexão estabelecida, com parâmetros default p/ o ResultSet. * Como iremos realizar um insert, usaremos o método executeUpdate() de stmt, que não * retorna ResultSet */ stmt = conn.createStatement(); /**Inserindo em Voo...*/ sqlString= "INSERT INTO voo VALUES ("+ voo.getNumero() + ",'" + voo.getDiaSemana() + "','" + voo.getCompanhiaAerea() + "')"; /**Executando a operação de inserção...*/ stmt.executeUpdate(sqlString); /**Inserindo em Passagem*/ Passagem passagem[]=voo.getPassagem(); for(int i=0;i<passagem.length;i++){ retString+=insertPassagem(passagem[i]); } /**Inserindo em TrechoVoo todos os trechos de vôo cadastrados para o Vôo que está sendo inserido*/ TrechoVoo trechovoo[] =voo.getTrechovoo(); String data_partida,data_chegada; for(int i=0;i<trechovoo.length;i++){ retString+=insertTrechoVoo(trechovoo[i]); } /**Se chegamos aqui e conseguimos inserir as tuplas necessárias em PASSAGEM e TRECHOVOO...*/ if(retString.equals("")){ retString="O vôo " + voo.getNumero() + " foi inserido com sucesso!\n"; } else{ retString="O vôo " + voo.getNumero() + " foi inserido, mas ocorreram erros:\n" + retString; } } catch (SQLException e) { switch(e.getErrorCode()){ //TODO: ver TODO!!! case 1: //ORA-00001: Unique constraint (OWNER.CONSTRAINT_NAME) violated retString+="Erro: vôo código "+ voo.getNumero() + " já existente no banco de dados!\n";break; case 2290: //ORA-02290: Check constraint (%s.%s) violated retString+="Erro: dia da semana inválido!\n";break; default: retString+="Erro não esperado: " + e.getMessage() + "\n";break; } } return retString; } public TrechoVoo[] getTrechovoo() { return trechovoo; } public void setTrechovoo(TrechoVoo[] trechovoo) { this.trechovoo = trechovoo; } /** * @param args * @throws SQLException */ public static void main(String[] args){ Passagem passagem[] = new Passagem [2]; String [] restricao={"restricao 1","restricao 2"}; /*public Passagem(Integer codigo, Integer numeroVoo, Float valor)*/ passagem[0]= new Passagem(new Integer(1),new Integer(1),new Float(400f),restricao); passagem[1]= new Passagem(new Integer(2),new Integer(1),new Float(500f),restricao); TrechoVoo trechovoo[] = new TrechoVoo [2]; /*public TrechoVoo( Integer numTrecho, Integer numeroVoo, String aeroportCodPartida, String aeroportCodChegada, Date horaProgramadaPartida, Date horaChegadaProgramada)*/ trechovoo[0] = new TrechoVoo(new Integer(1),new Integer(1),"SBGR","SBGR",new Date(106,0,1,1,1),new Date(106,0,2,1,1)); trechovoo[1] = new TrechoVoo(new Integer(2),new Integer(1),"SBGR","SBGR",new Date(106,0,1,1,1),new Date(106,0,2,1,1)); Voo voo= new Voo(1,"sabado","TAM",passagem,trechovoo); System.out.println(util.DataHandler.insertVoo(voo)); }}