criei um arvore para componentes rich faces, fiz um metodo recursivo para preencher arvore.
raiz
pai
filho
neto
bisneto
tataraneto
ate ai tudo bem. Meu problema e quando tenho de adionar um novo filho
esta adicionando no no errado, colocaldo dentro de tataraneto.
codigo abaixo:
private void carregarArvore(String s , TreeNodeImpl<String> node)throws NegocioException {
int ct = 0;
while (iteratorContas.hasNext()) {
ct++;
PlanoConta pc = (PlanoConta) iteratorContas.next();
if (pc.getNivel().equals("5")) {
pai = false;
filho = true;
} else if (Integer.parseInt(pc.getNivel()) <= 4) {
pai = true;
filho = false;
}
if(ct == 3){
System.out.println("estou aqui");
}
if(pai && filho == false){
TreeNodeImpl<String> nodeImpl = new TreeNodeImpl<String>();
nodeImpl.setData(pc.getContaReduzida() + " - " + pc.getNomenclatura());
if(pc.getNivel().equals("1")){
nodeBase.addChild(primeiro, nodeImpl);
primeiro++;
//System.out.println(pc.getContaReduzida() + " - " + pc.getNomenclatura());
}else{
node.addChild(ct, nodeImpl);
}
carregarArvore(pc.getContaReduzida() + " - " + pc.getNomenclatura(), nodeImpl);
}else if (pai == false && filho){
TreeNodeImpl<String> nodeImpl = new TreeNodeImpl<String>();
nodeImpl.setData(pc.getContaReduzida() + " - " + pc.getNomenclatura());
node.addChild(ct, nodeImpl);
System.out.println(ct + " - " + pc.getContaReduzida() + " - " + pc.getNomenclatura());
}
}
}
imagem tela :