[RESOLVIDO]Erro NullPointException

5 respostas
darksteel3000

Ola galera, to com fazendo uma thread aqui q ela carrega uma lista de disciplinas e as coloca num arquivo, sendo q quando mando a fachada procurar ela retorna nullpointexception, podem me ajudar? Abraços!!!

A sim o codigo:

public class tProfessores implements Runnable{

    private String runnable1;
        private Fachada fachada;

	public tProfessores(String runnable1){
		this.runnable1 = runnable1;
	}

	@Override
	public void run() {
            Pessoa pessoa = null;
            Professor professor = null;
            Disciplina disciplina= null;
        try {
            System.out.println("Passei 1");
            disciplina = fachada.procurarDisciplina("AQUI QUERO QUE PEGUE TODAS AS DISCIPLINAS");
            System.out.println(disciplina.getCodigo());
            Collection<Disciplina> dis = pessoa.getDisciplina();
            System.out.println("Passei 2");
            String tempDir = System.getProperty("user.home");
            FileOutputStream fileStream;
            System.out.println("Passei 3");
            fileStream = new FileOutputStream(tempDir + File.separator + "professores.txt");

            DataOutputStream dos = new DataOutputStream(fileStream);
            System.out.println("Passei 4");
//            for(Disciplina disciplina2 : dis){
//
//                dos.writeBytes(disciplina2.toString());
//                dos.writeByte('\n');
//
//            }
            System.out.println("Passei 5");
            dos.close();
            fileStream.close();

            JOptionPane.showMessageDialog(null, "Arquivo salvo em: " + tempDir,"Informação",JOptionPane.INFORMATION_MESSAGE);

        }
        catch (SQLException ex) {
            Logger.getLogger(tProfessores.class.getName()).log(Level.SEVERE, null, ex);
        }        catch (IOException ex) {
            JOptionPane.showMessageDialog(null, "Erro na construção do arquivo de professores");
        }

	}
  }

5 Respostas

Oenning

Você esqueceu de instanciar a variável fachada.

E

Camarada, kd o objeto [Fachada]? Poste o código da classe aí, junto com os parâmetros do método [procurarDisciplina] que realmente está usando na Thread.

darksteel3000

Ola amigo, aqui esta minha fachada:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.negocio;

import br.com.dados.hibernate.RepositorioAlunosHibernate;
import br.com.dados.hibernate.RepositorioDisciplinasHibernate;
import br.com.dados.hibernate.RepositorioMatriculasHibernate;
import br.com.dados.hibernate.RepositorioProfessoresHibernate;
import br.com.dados.jdbc.RepositorioAlunosBD;
import br.com.dados.jdbc.RepositorioDisciplinasBD;
import br.com.dados.jdbc.RepositorioProfessoresBD;
import java.sql.SQLException;
import java.util.Collection;

/**
 *
 * @author Júnior
 */
public class Fachada {

    private static Fachada instancia;
        private CadastroDisciplinas cdisciplinas;

	public static Fachada obterInstancia(){
		if(instancia == null){
			instancia = new Fachada();
		}
		return instancia;
	}


	private void tronLegacy(){
                IRepositorioDisciplinas repDisciplinas = new RepositorioDisciplinasHibernate();

		cdisciplinas = new CadastroDisciplinas(repDisciplinas);

      	}

	private Fachada(){
		tronLegacy();
	}

        //MOVIMENTAÇÃO DAS DISCIPLINAS

        public void inserirDisciplina(Disciplina disciplina) throws SQLException{
            cdisciplinas.inserir(disciplina);
        }

        public void removerDisciplina(String codigo) throws SQLException{
            cdisciplinas.remover(codigo);
        }

        public void atualizarDisciplina(Disciplina disciplina) throws SQLException{
            cdisciplinas.atualizar(disciplina);
        }

        public Disciplina procurarDisciplina(String codigo) throws SQLException{
            return cdisciplinas.procurar(codigo);
        }

        public Collection<Disciplina> getDisciplinas() {
        return cdisciplinas.getDisciplinas();
    }

}

SO PARA LEMBRAR QUE ESTOU UTILIZANDO HIBERNATE E PADRAO DAO

Q ESTA PASSANDO COMO FAZER A BUSCA PARA AS DISCIPLINAS, A QUAL ESTA FUNCIONANDO EM OUTRAS TELAS DA MINHA APLICAÇÃO !!!

O QUE QUERO E NDA MAIS NDA MENOS QUE PEGAR TODAS AS DISCIPLINAS E JOGALAS NESTE ARQUIVO Q ESTOU CRIANDO, .txt SOMENTE !!!

ABRAÇÃO

Oenning

Troque

disciplina = fachada.procurarDisciplina("AQUI QUERO QUE PEGUE TODAS AS DISCIPLINAS");

por

disciplina = Fachada.obterFachada().procurarDisciplina("AQUI QUERO QUE PEGUE TODAS AS DISCIPLINAS");
darksteel3000

Consegui amigo, realmente, tinha de obter a instancia de fachada.

Abração !!!

Criado 9 de fevereiro de 2011
Ultima resposta 9 de fev. de 2011
Respostas 5
Participantes 3