You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by "Krista Baker (JIRA)" <be...@incubator.apache.org> on 2005/05/02 22:50:04 UTC

[jira] Closed: (BEEHIVE-461) NPE when calling removeChild on a Tree

     [ 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