Rich:tree recursiva com recursiveTreeNodesAdaptor (JSF + RichFaces)

Saudações a todos…

Estou tendo problemas para construir uma tree com richfaces de forma que ela seja montada recursivamente, e sem limite de níveis.

Tenho uma classe (CentroCusto) que referencia ela mesma:

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name="centro_custo_pai", nullable=true)
	private CentroCusto ccPai = null;
	
	@OneToMany(mappedBy = "ccPai", cascade = {CascadeType.ALL}, fetch = FetchType.EAGER)
	private Collection<CentroCusto> filhos;

Aí no meu ManagedBean, eu tenho um método que retorna todos os nós raiz, ou seja, aqueles que não tem pai:

	List<CentroCusto> list = dao.findByCriteria(Restrictions.isNull("ccPai"));

O código que faz esta busca não tem nenhum problema, já testei várias vezes.
O problema é que minha árvore no richfaces não retorna todos os dados:

	<h:form>
		<rich:tree id="treeTestTree" switchType="ajax" ajaxSingle="true">
			<rich:recursiveTreeNodesAdaptor id="treeTestRecursiveTreeNodesAdaptor"
				roots="#{centroCustoFace.centrosCustoRaiz}" var="node"
				nodes="#{treeTest.filhos}">
				<rich:treeNode data="#{node.id}">
					<h:outputText value="#{node.descricao}" />
				</rich:treeNode>
			</rich:recursiveTreeNodesAdaptor>
		</rich:tree>
	</h:form>

Ela se limita a exibir somente os nós raiz e mais um nível. Não está fornecendo o comportamento recursivo.

Alguém sabe me informar se eu esqueci de alguma coisa?? O que mais precisa pra esta árvore percorrer a Collection que o Hibernate retornou no método getFilhos() ???

Muito obrigado

To com o mesmo problema, minha árvore mostra apenas dois níveis… se alguém puder ajudar, será de grande valia!

Então, andei pesquisando e decobri que esse erro de dois níveis da árvore é coisa de atualização da Commons-Collections, é só pra atualizar… tem mais informações nesse endereço: http://www.jboss.org/community/wiki/RichFacesTreeFAQ

A minha dúvida, porém, é como implementar no Manage Bean as validações de hierarquia (pai, filho, neto…) que devem ser seguidas na página JSF, e essa documentação eu não consigo encontrar. O código disponível no Livedemo do Richfaces é um tanto complicado para iniciantes (meu caso) e eu não consegui adaptar ele pra minha aplicação.

[quote=gabriellourenco]Então, andei pesquisando e decobri que esse erro de dois níveis da árvore é coisa de atualização da Commons-Collections, é só pra atualizar… tem mais informações nesse endereço: http://www.jboss.org/community/wiki/RichFacesTreeFAQ

A minha dúvida, porém, é como implementar no Manage Bean as validações de hierarquia (pai, filho, neto…) que devem ser seguidas na página JSF, e essa documentação eu não consigo encontrar. O código disponível no Livedemo do Richfaces é um tanto complicado para iniciantes (meu caso) e eu não consegui adaptar ele pra minha aplicação.[/quote]

Funcionou direitinho. Era apenas isso mesmo, sofri muito sem entender porque minha tree recursiva não funciona e era isso apenas essa biblioteca que estava desatualizada.

Hey galera joia?

Pra resolver esse problema dos dois niveis da tree eh soh trocar a commons-collections pra versao mais nova? (no meu caso 3.2.1) ou precisa fazer algo mais? excluir alguma biblioteca, trocar todas as commons etc…To parado nisso faz tempo…

Valew!

Olá,
se você olhar nesse link http://community.jboss.org/wiki/RichFacesTreeFAQ verá que ele manda trocar a biblioteca commons-collections menor ou igual a 2.2 para 3.2.
Para resolver o problema dos niveis da arvoré.