Please send down the fix (or a patch preferrably)
down the jira at the same issue number, so that it does not get lost ;-)
posting the fix in the users list is a bad idea, because it might get
overlooked.




Adrien FOURES schrieb:
> Hello i have strated to build my application with the myfaces tree
> component since the 2004, before the tree2 was build, and i have not
> enough time to change.
> But i find bug in the tree component, Oliver Rossmueller have add this
> bug in jira list with 103 codename.
> I have download source code, and i thinks i have found something which
> maybe not solve problem, but will maybe stop the exception.
> Please Please Please, Can you bring this modification in the next 
> <http://svn.apache.org/builds/myfaces/nightly>nightly version
> 
> Thanks,
> 
> 
> HtmlTreeNode > translatePath > line 528
>     protected static TreePath translatePath(int[] path, TreeModel model)
>     {
>         Object[] translated = new Object[path.length + 1];
>         Object parent = model.getRoot();
> 
>         translated[0] = parent;
> 
>         for (int i = 0; i < path.length; i++)
>         {
> /***********ADD************/
> *if( (TreeNode)parent.getChildCount()>=index ){
> */***********ADD************/
> 
>             int index = path[i];
>             translated[i + 1] = model.getChild(parent, index);
>             parent = translated[i + 1];
> 
> /***********ADD************/
> *}*
> /***********ADD************/
> 
>         }
>         return new TreePath(translated);
>     }
> 
> 
> 
> 
> Exception
> 
> java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
>    at java.util.ArrayList.RangeCheck(ArrayList.java:507)
>    at java.util.ArrayList.get(ArrayList.java:324)
>    at
> org.apache.myfaces.custom.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:154)
>    at
> org.apache.myfaces.custom.tree.model.DefaultTreeModel.getChild(DefaultTreeModel.java:81)
>    at
> org.apache.myfaces.custom.tree.HtmlTreeNode.translatePath(HtmlTreeNode.java:537)
>    at
> org.apache.myfaces.custom.tree.HtmlTree.selectionChanged(HtmlTree.java:586)
>    at
> org.apache.myfaces.custom.tree.HtmlTreeNode.setSelected(HtmlTreeNode.java:412)
>    at
> org.apache.myfaces.custom.tree.HtmlTreeNode.setExpanded(HtmlTreeNode.java:331)
>    at
> org.apache.myfaces.custom.tree.HtmlTree.collapsePath(HtmlTree.java:536)
>    at
> org.apache.myfaces.custom.tree.HtmlTree.treeStructureChanged(HtmlTree.java:817)
>    at
> org.apache.myfaces.custom.tree.HtmlTree$Event.process(HtmlTree.java:1044)
>    at
> org.apache.myfaces.custom.tree.HtmlTree.processModelEvents(HtmlTree.java:879)
>    at org.apache.myfaces.custom.tree.HtmlTree.encodeBegin(HtmlTree.java:721)
>    at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:591)
>    at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:543)
>    at
> org.apache.jsp.page.private_.tree1_jsp._jspx_meth_x_tree_0(tree1_jsp.java:430)
>    at
> org.apache.jsp.page.private_.tree1_jsp._jspx_meth_f_view_0(tree1_jsp.java:181)
>    at org.apache.jsp.page.private_.tree1_jsp._jspService(tree1_jsp.java:138)
>    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>    at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
>    at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
>    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>    at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
>    at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>    at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
>    at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
>    at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
>    at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
>    at
> com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
>    at
> com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
>    at
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
>    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
>    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
>    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
>    at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
>    at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>    at dosmed.security.LoginFilter.doFilter(LoginFilter.java:60)
>    at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
>    at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>    at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>    at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>    at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
>    at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
>    at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>    at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
>    at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>    at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
>    at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>    at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>    at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>    at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>    at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>    at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>    at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
>    at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>    at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
>    at java.lang.Thread.run(Thread.java:534)
> 
> 
> 

Reply via email to