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