Galera, estou desenvolvendo uma aplicação onde tenho que montar uma árvore, jogar no JSON e mandar pra minha JSP.
A parte de configuração do JSON está pronta (só preciso jogar lá em ordem “Pai e seus filhos”)e da jsp tbm.
Estou com dificuldade em varrer minha lista.
Tipo, minha árvore está mais ou menos assim:
nível 1: tem 14 atributosPai
nível 2: tem os filhos desses atributosPai
nível 3: tem os filhos do nível 2
Meu código está assim:
public class AtributoAction extends ActionSupport {
private List<Atributo> atributosList;
private Atributo atributoPai;
private Atributo atributoFilho;
private AtributoDAO atributoDAO;
public String execute() {
atributosList = new ArrayList<Atributo>();
atributoDAO = new AtributoDAO();
//tras todos atributos
atributoList = atributoDAO.getAtributos();
for(Atributo atributo: atributosList){
//se o idPai == null, ou seja, não possui pai
if(atributo.getIdPai() == null){//vai trazer os 14 atributos nível 1
atributoPai = new Atributo();
atributoPai = atributo;
//esse metodo onde estou com dificuldade pra organizar a arvore
possuiFilhos(atributoPai.getIdAtributo();
}
}
return SUCCESS;
}
public void possuiFilhos(int idPai){
for(Atributo atributoFilho : atributosList){
if(atributoFilho.getIdPai == idPai){
json = serializer.deep(atributoPai);
//sei que tenho que fazer uma chamada recursiva
possuiFilhos(atributoFilho.getId());
}
}
}
Alguém poderia me ajudar?