Galera, tenho a implementação de um rich:tree que funciona perfeitamente usando o JSF 2.0, Rich Faces 3.3 e Glassfish V2. No entanto, quando uso o Glassfish V3, dá o seguinte erro ao entrar na aplicação:
WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
java.lang.IllegalArgumentException: In AbstractTreeDataModel rowIndex must be -1.
at org.richfaces.model.AbstractTreeDataModel.setRowIndex(AbstractTreeDataModel.java:52)
at org.ajax4jsf.component.UIDataAdaptorBase.setRowIndex(UIDataAdaptorBase.java:289)
at javax.faces.component.UIData.visitColumnsAndRows(UIData.java:1544)
at javax.faces.component.UIData.visitTree(UIData.java:1212)
Tree:
<rich:tree style="width:300px" ondblclick="abrirParamRel()" nodeSelectListener="#{treeRel.processSelection}"
ajaxSubmitSelection="true" switchType="client"
value="#{treeRel.treeNode}" var="item" ajaxKeys="#{null}">
<rich:treeNode >
<h:outputText value="#{item.descricao}"> </h:outputText>
</rich:treeNode>
</rich:tree>
Bean:
public TreeNode getTreeNode() {
if (rootNode == null) {
rootNode = new TreeNodeImpl();
}
return rootNode;
}
No método treeNode é apenas instanciado o TreeNodeMImpl, porque a Tree será montada apenas quando o usuário clicar em um determinado link da aplicação. Sendo assim, o erro está ocorrendo antes de montar os nós da árvore.
Alguem já teve este problema? Ou tem alguma implementação de rich:tree que funcione no GlassFish V3?