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
 Assigned to: Daryl Olander 
     Fix For: V1


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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to