[RESOLVIDO] Problema com rich:tree RICHFACES 4

Olá pessoal.

Bem eu tinha uma rich:tree recursiva com Richfaces 3.3 que funcionava normalmente, mas aí migramos pro jsf 2 e consequentemente migramos o richfaces também.

Aí começaram meus problemas, mas todos conseguimos contornar até o momento, mas então apareceu esse com a rich:tree e nada, então vou postar o código que estou utilizando e ve se alguém consegue dá uma luz.

Obs.: O código que vou postar está bem simplificado, o original é bem mais complexo, mas como eu tava tendo problema, resolvi tentar só o básico, mas ainda assim, não rolou.

Segue código:

Classe que eu criei pra ser o nó da árvore (Ela existe pois armazeno diversos dados nela)

public class TreeNodeAnalise {

	private String label;
	private List<TreeNodeAnalise> children;
	private TreeNodeAnalise parent;
	
	public TreeNodeAnalise() {
		this("", null);
	}
	
	public TreeNodeAnalise(String label, TreeNodeAnalise parent) {
		children = new ArrayList<TreeNodeAnalise>(); 
		this.label = label;
		this.parent = parent;
		if (this.parent != null)
			this.parent.addNode(this);
	}

	public String getLabel() {
		return label;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	public List<TreeNodeAnalise> getChildren() {
		return children;
	}
	
	public TreeNodeAnalise getParent() {
		return parent;
	}
	
	public void addNode(TreeNodeAnalise node) {
		children.add(node);
	}
}

Montagem da árvore (É só um teste)

nodesAnalise = new ArrayList<TreeNodeAnalise>();
		
TreeNodeAnalise root = new TreeNodeAnalise("Root", null);
TreeNodeAnalise children1 = new TreeNodeAnalise("Children1", root);
TreeNodeAnalise children2 = new TreeNodeAnalise("Children2", root);
TreeNodeAnalise children3 = new TreeNodeAnalise("Children3", children1);
		
nodesAnalise.add(root);

Página

<rich:tree var="node">
        <rich:treeModelRecursiveAdaptor roots="#{beanAnaliseProjeto.nodesAnalise }" nodes="#{node.children }">
                 <rich:treeNode>
                       #{node.label }
                 </rich:treeNode>
         </rich:treeModelRecursiveAdaptor>
</rich:tree>

Bem, desse jeito só aparece o nó root, quando clico no + pra expandir não acontece nada. Alguém?

Pessoal, ainda não consegui resolver, mas achei uma coisa.

Olhando no console de erros do firebug, no firefox, é apresentada a seguinte linha de erro:

this.getId() is undefined

nessa linha do arquivo tree.js.xhtml

var handlers = (commonOptions.clientEventHandlers || {})[this.getId().substring(commonOptions.treeId.length)] || {};

fui no site richfaces ver os exemplos e não aparece o erro.

Continuo aguardando.

Pessoal, mais uma coisa. Novamente comparando com o exemplo do site Richfaces, eu vi que o arquivo tree.js são diferentes, aliás, completamente diferentes, desde a declaração das funções.

Alguém sabe o motivo? Será que eles usam bibliotecas diferentes pra colocar os exemplos? Sei lá, ssó achei muito estranho. Alguém tem alguma teoria ou sabe o porque dos arquivos serem diferentes?

E ainda continuo sem conseguir resolver o problema.

Bem pessoal, consegui resolver o problema, mas até agora não entendi o que realmente aconteceu.

Na página onde eu monto essa árvore, tinha um componente de inputText do primefaces, que inclusive nem era renderizado devido uma condição, mas alguma coisa acontecia que gera algum tipo de incompatibilidade entre eles. Quando eu adicionava o campo rich:tree algumas linhas acima do componente p:inputText, o árvore funcionava normalmente, mas se eu colocasse abaixo, não funcionava.

Não faço idéia do que pode ser, mas simplemente tirei o campo do prime e deixei o html do jsf h:inputText e a árvore está funcionando, e a partir de agora tomarei muito cuidado ao utilizar o primefaces, sendo que essa não é a primeira vez que tenho problemas com esse framework.

Té mais pessoal.