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

Reply via email to