Dúvida Sobre método recursivo

Boa Tarde Galera,

estava precisando de uma ajuda , pois preciso gerar uma String no formato XML , inserindo linhas de itens e SubItens , porém preciso fazer de forma recursiva pois não sei quantos niveis terei:

A minha classe acaba estourando o Stack , pois a recursão entra em um loop infinito.

Obrigado
JJ

Na linha 71 não seria?

 geraArvoreDepartamento(lsFilhos);  

Sim, mas se eu tirar essa linha eu não consigo gerar os filhos, ainda mais se tiver uma hierarquia de 6 níveis ,por exemplo.

Abraço,
JJ

Eu não falei para tirar a linha, mas para substituir a linha. O parâmetro parece que está errado.

É verdade, tinha que passar a linha com a lista de filhos, aí nao deu mais problemas na Stack, mas o algorítmo gerou a saída errada

<item id='3' text='Departamento 3' ></item>
<item id='4' text='Departamento 4' ></item>
<item id='1' text='Departamento 1' ></item>
<item id='2' text='Departamento 2' ></item>
<item id='3' text='Departamento 3' ></item>
<item id='4' text='Departamento 4' ></item>
<item id='5' text='Departamento 5' ></item>
<item id='6' text='Departamento 6' ></item>

Obrigado,
JJ

Ola,

Dependendo dos seus requisitos de performance vale mais pena utilizar JAXB, pois voce se livra
definitivamente do trabalho de marshalling (Objetos -> XML) e unmarshalling (XML -> Objetos).

Comece por aqui: http://docs.sun.com/app/docs/doc/819-3669/bnbay?a=view

[ ]'s

Olá, na verdade eu estava usando o JDOM , mas para montar essa hierarquia que é o problema, sacou?

Se usar o JAXB ou JDOM, vou acabar com o mesmo problema (que é montar a hierarquia), pois toda a hierarquia de itens (departamentos) está no banco de dados.

Obrigado!!!

Abs
JJ

Ola,

Sim, entendi. Mas no caso do JAXB, voce nao precisa se preocupar com a hierarquia no XML, pois a mesma sera
definida com base na composicao dos seus objetos e vice-versa. Tudo o que voce precisa fazer entao eh
anotar suas entidades com annotations do JAXB, fazer as agregacoes necessarias (dependendo do caso,
pode aplicar do design pattern Composite ou Composite Entity) e executar o marshaller para gerar a estrutura
XML equivalente.

[ ]'s

Legal, vou estudar essa solução!

Obrigado!

Abraço
JJ

Valeu!

Obrigado
JJ

Resolvido!! Valeu pessoal