Popular arraylist da DAO atraves do controlador > dao

Boa noite a todos,
Estou tentando popular uma arraylist na DAO, o construtor esta na view, arraylist na DAO, instanciei a DAO no Controller chamei o metodo get mas o set não sei como fazer, meu codigo esta assim:

public class ManterAlunoFacade {

ManterAlunoDAO mad = new  ManterAlunoDAO();

public ArrayList manteraluno(){
mad.setAluno();
}

public ArrayList<Aluno> listasaluno (){
    return mad.getAluno();
}

}

a Dao esta assim:

public class ManterAlunoDAO {
private ArrayList aluno = new ArrayList<>();

public ArrayList<Aluno> getAluno() {
    return aluno;
}

/**
 * @param aluno the aluno to set
 */
public void setAluno(ArrayList <Aluno> aluno) {
    this.aluno = aluno;
}

}

@allanlima não entendi bem seu problema, mas o que você está usando para se comunicar com o banco de dados?

Na verdade estão os dados ficam na memória, n tem banco, já consegui resolver esse problema de comunicação, mas agora estou tentando exibir mas esta exibindo assim:image, mas meu construtor esta assim: Professor pr = new Professor();
pr.setNome(“Murakamy”);
pr.setRg(“11111111”);
mpf.listasprofessor().add(pr);

    Aluno al = new Aluno();
    al.setNome("Allan");
    al.setRg("00000000");
    maf.listasaluno().add(al);
    
    Aluno al2 = new Aluno();
    al2.setNome("Allan2");
    al2.setRg("000000002");
    
    maf.listasaluno().add(al);
    
    Projeto pj = new Projeto();
    pj.setOrientado(al);
    pj.setOrientador(pr);
    pj.setTitulo("T1");
    pj.setResumo("bla bla bli");
    mpj.listasProjetos().add(pj);

Teria que mostrar orientado:allan e orientado allan2, mas só esta mostrando allan

@allanlima ok, entendi, mas vc quer q saia como?? pq no código q você colocou aqui só fio adicionado um aluno o outro ficou de fora…o erro está no loop que você está usando para exibir os dados.

teria que sair assim:
Prof Murakamy

titlo 1
Aluno 1

titlo1
Aluno 1

ué não sei pq saiu em negrito, desculpe não foi por querer

Olhe e veja se esse é seu erro.

Eu acho q o certo seria o construtor assim:
Aluno al = new Aluno();
Projeto pj = new Projeto();
al.setNome(“Allan”);
al.setRg(“00000000”);
pj.setOrientado(al);
pj.setTitulo(“T1”);
pj.setResumo(“bla bla bli”);

Aluno al = new Aluno();
Projeto pj = new Projeto();
al.setNome(“Allan”);
al.setRg(“00000000”);
pj.setOrientado(al);
pj.setTitulo(“T1”);
pj.setResumo(“bla bla bli”);

mas na hora de chamar não da certo

tentei assim:image

Mas não deu certo

Escrevi algo para te auxiliar, mas pode não compilar juntado com o restante que você tem ai, eu supus que a classe projeto teria uma lista de professores e uma de alunos e escrevi todo o código baseado nessa premissa. Espero que te ajude.

public class Main{

  public static void main(String[] args){
          for(Projeto p : new MontaProjeto().getListaProjetos()){
                 System.out.println("Professor Responsável : ".concat(p.getOrientador()));
                 System.out.println("------------------------------------------------------------------\n");
                 System.out.println("Título do Projeto : ".concat(p.getTitulo()));
                 System.out.println("Lista de alunos participantes: ");
                 for(Aluno al : p.getOrientados()){
                        System.out.println(al.getNome());
                 }
          }
 }

}

public class MontaProjeto{

private List<Professor> professores;
private List<Aluno> alunos;
private List<Projeto> projetos;

public MontaProjeto(){
        professores = new ArrayList();
        alunos = new ArrayList();
        projetos = new ArrayList();
}

public List<Projeto> getListaProjetos(){
        
         //cria o professor
         Professor professor  = new Professor();
         professor.setNome(“Murakamy”);
         professor.setRg(“11111111”);
         //adiciona na lista de professores
         professores.add(professor);

        //cria alunos
        Aluno aluno1 = new Aluno();
        aluno1.setNome("Allan");
        aluno1.setRg("00000000");

        Aluno aluno2 = new Aluno();
        aluno2.setNome("Allan2");
        aluno2.setRg("000000002");

        //adiciona alunos na lista
        alunos.add(aluno1);
        alunos.add(aluno2);

       //cria projeto
       Projeto projeto = new Projeto();
       projeto.setOrientado(alunos);
       projeto.setOrientador(professores);
       projeto.setTitulo("T1");
       projeto.setResumo("bla bla bli");
       //adiciona a lista de projetos
       projetos.add(projeto);

       //retorna resultado
       return projetos;

}
}

as array lists estão separadas uma em cada classe DAO(dao_professor, dao_aluno, dao_projeto), só posso acessar a array assim: View > Controller > DAO. O código que estou usando para gravar na array: maf.listasaluno().add(aluno2);, agora como passo essa array como parâmetro pro setOrientador? Tentei: maf.listasaluno(), maf, listasaluno() mas sem sucesso :cry:

Bom dia Villagram, deu certo, muito obrigado :rofl:
image

@allanlima Ainda bem que resolveu seu problema, boa sorte para ti :sunglasses: