Beehive
  1. Beehive
  2. BEEHIVE-346

Tree: NPE on a static tree when 'accidently' specifying two root nodes

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: v1m1
    • Fix Version/s: V1Beta
    • Component/s: NetUI
    • Labels:
      None

      Description

      I create a simple static tree with two items at the top level and receive a NullPointerException. The repro is attached.

      Test Case:
      1. In a brand new Controller, put the following:

      TreeElement tree1;

      public TreeElement getTree1()

      { return this.tree1; }

      public void setTree1(TreeElement tree1)

      { this.tree1= tree1; }

      2. In the index.jsp, add this:

      <netui:tree dataSource="pageFlow.tree1" selectionAction="postback" tagId="tree1" >
      <netui:treeItem>Hello.</netui:treeLabel></netui:treeItem>
      <netui:treeItem>Goodbye.</netui:treeItem>
      </netui:tree>

      3. Start the server
      4. Hit this index.jsp in the browser

      Behavior: Exception

      java.lang.NullPointerException
      at org.apache.beehive.netui.tags.AbstractSimpleTag.reportErrors(AbstractSimpleTag.java:185)
      at org.apache.beehive.netui.tags.tree.TreeItem.doTag(TreeItem.java:337)
      at jsp_servlet.htmlvalidation._html._tree._bugs._npe1.index$JspFragmentHelper.invoke0(_index.java:251)
      at jsp_servlet.htmlvalidation._html._tree._bugs._npe1.index$JspFragmentHelper.invoke(_index.java:278)
      at org.apache.beehive.netui.tags.AbstractSimpleTag.getBufferBody(AbstractSimpleTag.java:50)
      at org.apache.beehive.netui.tags.tree.Tree.doTag(Tree.java:576)
      at jsp_servlet.htmlvalidation._html._tree._bugs._npe1.index._jspService(_index.java:165)
      at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:184)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:118)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:254)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
      at org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:283)
      at org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:208)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
      at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:500)
      at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:243)
      at org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandler.forward(DefaultForwardRedirectHandler.java:130)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1722)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1596)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:590)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:840)
      at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:607)
      at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:135)
      at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:184)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:118)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:254)

      1. npe1.zip
        0.9 kB
        Karen Stutesman

        Activity

        Karen Stutesman created issue -
        Karen Stutesman made changes -
        Field Original Value New Value
        Attachment npe1.zip [ 19033 ]
        Karen Stutesman made changes -
        Summary Tree: NPE on a static tree Tree: NPE on a static tree when 'accidently' specifying two root nodes
        Description I create a simple static tree with two items with the same parent and receive a NullPointerException. The repro is attached.

        Test Case:
        1. In a brand new Controller, put the following:

           TreeElement tree1;

           public TreeElement getTree1(){ return this.tree1; }
           public void setTree1(TreeElement tree1){ this.tree1= tree1; }

        2. In the index.jsp, add this:

           <netui:tree dataSource="pageFlow.tree1" selectionAction="postback" tagId="tree1" >
             <netui:treeItem>Hello.</netui:treeLabel></netui:treeItem>
             <netui:treeItem>Goodbye.</netui:treeItem>
           </netui:tree>

        3. Start the server
        4. Hit this index.jsp in the browser


        Behavior: Exception

        java.lang.NullPointerException
        at org.apache.beehive.netui.tags.AbstractSimpleTag.reportErrors(AbstractSimpleTag.java:185)
        at org.apache.beehive.netui.tags.tree.TreeItem.doTag(TreeItem.java:337)
        at jsp_servlet._htmlvalidation._html._tree._bugs._npe1.__index$JspFragmentHelper.invoke0(__index.java:251)
        at jsp_servlet._htmlvalidation._html._tree._bugs._npe1.__index$JspFragmentHelper.invoke(__index.java:278)
        at org.apache.beehive.netui.tags.AbstractSimpleTag.getBufferBody(AbstractSimpleTag.java:50)
        at org.apache.beehive.netui.tags.tree.Tree.doTag(Tree.java:576)
        at jsp_servlet._htmlvalidation._html._tree._bugs._npe1.__index._jspService(__index.java:165)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:184)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:118)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:254)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:283)
        at org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:208)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:500)
        at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:243)
        at org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandler.forward(DefaultForwardRedirectHandler.java:130)
        at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1722)
        at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1596)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
        at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:590)
        at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:840)
        at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:607)
        at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:135)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:184)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:118)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:254)
        I create a simple static tree with two items at the top level and receive a NullPointerException. The repro is attached.

        Test Case:
        1. In a brand new Controller, put the following:

           TreeElement tree1;

           public TreeElement getTree1(){ return this.tree1; }
           public void setTree1(TreeElement tree1){ this.tree1= tree1; }

        2. In the index.jsp, add this:

           <netui:tree dataSource="pageFlow.tree1" selectionAction="postback" tagId="tree1" >
             <netui:treeItem>Hello.</netui:treeLabel></netui:treeItem>
             <netui:treeItem>Goodbye.</netui:treeItem>
           </netui:tree>

        3. Start the server
        4. Hit this index.jsp in the browser


        Behavior: Exception

        java.lang.NullPointerException
        at org.apache.beehive.netui.tags.AbstractSimpleTag.reportErrors(AbstractSimpleTag.java:185)
        at org.apache.beehive.netui.tags.tree.TreeItem.doTag(TreeItem.java:337)
        at jsp_servlet._htmlvalidation._html._tree._bugs._npe1.__index$JspFragmentHelper.invoke0(__index.java:251)
        at jsp_servlet._htmlvalidation._html._tree._bugs._npe1.__index$JspFragmentHelper.invoke(__index.java:278)
        at org.apache.beehive.netui.tags.AbstractSimpleTag.getBufferBody(AbstractSimpleTag.java:50)
        at org.apache.beehive.netui.tags.tree.Tree.doTag(Tree.java:576)
        at jsp_servlet._htmlvalidation._html._tree._bugs._npe1.__index._jspService(__index.java:165)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:184)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:118)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:254)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:283)
        at org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:208)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:500)
        at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:243)
        at org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandler.forward(DefaultForwardRedirectHandler.java:130)
        at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1722)
        at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1596)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
        at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:590)
        at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:840)
        at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:607)
        at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:135)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:184)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:118)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:254)
        Daryl Olander made changes -
        Fix Version/s V1Beta [ 10951 ]
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Assignee Daryl Olander [ dolander ] Karen Stutesman [ kstutesman ]
        Karen Stutesman made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Karen Stutesman
            Reporter:
            Karen Stutesman
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development