All pastes #256226 Raw Edit

porcho

public java v1 · immutable
#256226 ·published 2006-11-23 21:50 UTC
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));	}}