[ http://issues.apache.org/jira/browse/BEEHIVE-461?page=all ] Krista Baker closed BEEHIVE-461: --------------------------------
Verified that tree children can be removed by both removeChild(int offset) and removeChild(TreeElement child) without error. > NPE when calling removeChild on a Tree > -------------------------------------- > > Key: BEEHIVE-461 > URL: http://issues.apache.org/jira/browse/BEEHIVE-461 > Project: Beehive > Type: Bug > Components: NetUI > Versions: V1Beta > Reporter: Krista Baker > Assignee: Krista Baker > Fix For: V1 > Attachments: j461.zip > > When creating a tree in the pageFlow and adding children, when an action is > called to removeChild on the tree an NPE occurs in TreeRenderer.java. > Test: (Repro will be attached) > 1) create a new tree in the pageFlow by using a treeElement and add a child > at offset zero. > 2) add a forward action that will remove the child and return to the same jsp > 3) add the tree and an anchor to the action in step 2) to the jsp page > 4) View the jsp page and see that the tree renders correctly. Call the > action to remove the child and the NPE is returned. > Second Test Case: > 1)Add the following to the body of a Controller file: > private TreeElement productTree; > public TreeElement getProductTree(){ return this.productTree;} > public void setProductTree(TreeElement productTree){ > this.productTree = productTree;} > 2)Add the following to the onCreate method of the controller: > productTree = new TreeElement("Root Node",true); > productTree.addChild(0, new TreeElement("CHILDNODE",false)); > productTree.removeChild(0); > 3)Once the onCreate method is invoked the NPE is thrown. > Expected results from Test Case 1: > The jsp page accessing the tree should be updated with the returned forward > and the child that was requested for removal (including any of its own > children) should no longer be available in the tree. > Actual Results: > NPE in > org.apache.beehive.netui.tags.tree.TreeRenderer.render(TreeRenderer.java: > 194) > FULL EXCEPTION: (from Tomcat 5.0.25 exception also thrown on WLS) > 25 Mar 2005 10:36:54,759 ERROR DefaultExceptionsHandler []: Throwable > java.lang. > NullPointerException unhandled by the current page flow (and any shared flow) > Throwable: java.lang.NullPointerException > Stack Trace: > java.lang.NullPointerException > at > org.apache.beehive.netui.tags.tree.TreeRenderer.render(TreeRenderer.java:194) > at > org.apache.beehive.netui.tags.tree.TreeRenderer.render(TreeRenderer.java:481) > at org.apache.beehive.netui.tags.tree.Tree.doTag(Tree.java:841) > at > org.apache.jsp.NPE.index_jsp._jspx_meth_netui_tree_0(index_jsp.java:236) > at > org.apache.jsp.NPE.index_jsp._jspx_meth_netui_body_0(index_jsp.java:144) > at > org.apache.jsp.NPE.index_jsp._jspx_meth_netui_html_0(index_jsp.java:99) > at org.apache.jsp.NPE.index_jsp._jspService(index_jsp.java:62) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298) > 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:810) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:237) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) > at > org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:279) > at > org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:204) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:186) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) > at > org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHand > ler.forward(DefaultForwardRedirectHandler.java:125) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward( > PageFlowRequestProcessor.java:1749) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processFor > wardConfig(PageFlowRequestProcessor.java:1623) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInt > ernal(PageFlowRequestProcessor.java:593) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(Pa > geFlowRequestProcessor.java:854) > at > org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(A > utoRegisterActionServlet.java:602) > at > org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:155) > at > org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:237) > 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:117) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a: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:793) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce > ssConnection(Http11Protocol.java:702) > at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644) > at java.lang.Thread.run(Thread.java:595) -- 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
