public synchronized Disciplina getElementByNome(String valor) throws Exception { Disciplina elem; // percorre a lista for (int i = 0; i < this.listaObj.size(); i++) { elem = (Disciplina) this.listaObj.elementAt(i); if (elem.getNome().equals(valor)) { return elem; } } return null; }
public synchronized String testaConsistencia(Disciplina obj, String nome, String descricao) throws Exception { boolean inclusao = (obj == null); // Testa atributos obrigat�rios if (nome == null) return "nome"; if (nome.equals("")) return "nome"; // Testa atributos exclusivos if (inclusao || !(obj.getNome().equals(nome))) { if (getElementByNome(nome) != null) return "nome"; } /* Coloque aqui o código restante do código referente ao teste de consist�ncia */ return null; }
public void altera(Disciplina obj, String nome, String descricao) throws Exception { // ------- Testa consist�ncia dos dados ------- String testeCons = testaConsistencia(obj, nome, descricao); if (testeCons != null) throw new Exception("não foi possível alterar devido ao campo " + testeCons + ""); // ------- Altera na base de dados ------- // Inicia a conexão com a base de dados Connection dbCon = BancoDados.abreConexao(); Statement dbStmt = dbCon.createStatement(); ResultSet dbRs; String str; nome = StringConverter.toDataBaseNotation(nome); str = "UPDATE Disciplina SET nome='" + nome + "', descricao='" + StringConverter.toDataBaseNotation(descricao) + "' WHERE cod=" + obj.getCod(); BancoDadosLog.log(str); dbStmt.executeUpdate(str); // Finaliza conexao dbStmt.close(); dbCon.close(); // Altera dados do objeto if (!obj.getNome().equals(nome)) { obj.setNome(nome); } if (!obj.getDescricao().equals(descricao)) { obj.setDescricao(descricao); } }