Tree2 state problem when using dynamic trees
--------------------------------------------
Key: MYFACES-776
URL: http://issues.apache.org/jira/browse/MYFACES-776
Project: MyFaces
Type: Bug
Environment: JSF RI 1.1.01
Tomahawk nightly build from 10-30-2005
Reporter: Vinnie Fazio
I saw this note:
http://mail-archives.apache.org/mod_mbox/myfaces-users/200504.mbox/[EMAIL
PROTECTED]
I couldn't find a bug for this and I am having the same problem. I've done a
little resarch and I think I understand the problem.
The tree2 js stores the tree state in a cookie named with the component id. I
have a page where the tree changes between requests. Because the rest of the
page is the same, the component id does not change. The js tries to open up
the same nodes as was open in the old tree. The problem occurs when the new
tree has a leaf node that was not a leaf in the old tree and was open in the
old tree. I get this error "java.lang.IllegalStateException: Encountered a
node [0:0:0] + with an illogical state. Node is expanded but it is also
considered a leaf".
For me, I could get around this problem if I could name the component (or the
cookie) dynamically using a managed bean value. Since I cannot name the id in
this manner, I have a problem.
Maybe a solution would be a new paramerter to specify the cookie name.
Thanks! Here is the full stack trace....
java.lang.IllegalStateException: Encountered a node [0:0:0] + with an illogical
state. Node is expanded but it is also considered a leaf (a leaf cannot be
considered expanded.
org.apache.myfaces.custom.tree2.HtmlTreeRenderer.encodeNavigation(HtmlTreeRenderer.java:462)
org.apache.myfaces.custom.tree2.HtmlTreeRenderer.encodeCurrentNode(HtmlTreeRenderer.java:345)
org.apache.myfaces.custom.tree2.HtmlTreeRenderer.encodeTree(HtmlTreeRenderer.java:247)
org.apache.myfaces.custom.tree2.HtmlTreeRenderer.encodeTree(HtmlTreeRenderer.java:275)
org.apache.myfaces.custom.tree2.HtmlTreeRenderer.encodeChildren(HtmlTreeRenderer.java:210)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:607)
javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:544)
org.apache.jsp.WEB_002dINF.panels.favorites_jsp._jspx_meth_x_tree2_0(favorites_jsp.java:254)
org.apache.jsp.WEB_002dINF.panels.favorites_jsp._jspx_meth_h_form_0(favorites_jsp.java:141)
org.apache.jsp.WEB_002dINF.panels.favorites_jsp._jspx_meth_f_subview_0(favorites_jsp.java:114)
org.apache.jsp.WEB_002dINF.panels.favorites_jsp._jspService(favorites_jsp.java:87)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(Unknown
Source)
org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(Unknown
Source)
org.apache.jsp.idp_jsp._jspx_meth_c_import_0(idp_jsp.java:536)
org.apache.jsp.idp_jsp._jspx_meth_c_if_1(idp_jsp.java:509)
org.apache.jsp.idp_jsp._jspx_meth_c_forEach_0(idp_jsp.java:405)
org.apache.jsp.idp_jsp._jspx_meth_t_htmlTag_4(idp_jsp.java:357)
org.apache.jsp.idp_jsp._jspx_meth_t_htmlTag_3(idp_jsp.java:307)
org.apache.jsp.idp_jsp._jspx_meth_t_htmlTag_0(idp_jsp.java:166)
org.apache.jsp.idp_jsp._jspx_meth_f_view_0(idp_jsp.java:129)
org.apache.jsp.idp_jsp._jspService(idp_jsp.java:94)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:123)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira