Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Why does recursive ADF tree using 1 VO that uses context menus throw an ADF_FACES-60096 exception?

Kristof_2014Jun 11 2014 — edited Jun 19 2014

Hi there,

I am new to this forum, hope anyone can help!

I am trying to construct a recursive tree using 1 View Object (as described in the ADF Code Corner 32 by Frank Nimphius for which many thanks) that uses context menus.

Short problem description:

     -the recursive tree using 1 VO works just fine

     -when adding a context menu, I get an ADF_FACES-60096 exception

I have a simple table PRB_NODES (I removed the irrelevant parts from the Toad script)

CREATE TABLE PRB_NODES

(

  ID                                   NUMBER(10)  NOT NULL,

  PARENT_PBNO_ID      NUMBER(10),

  ARTIKELNUMMER       VARCHAR2(50 BYTE),

  OMSCHRIJVING          CLOB,

)

ALTER TABLE PRB_NODES ADD (

  CONSTRAINT PRB_PBNO_PK PRIMARY KEY  (ID)

  USING INDEX PRB_PBNO_PK  ENABLE VALIDATE);

ALTER TABLE PRB_NODES ADD (

  CONSTRAINT PRB_PBNO_PBNO_FK

  FOREIGN KEY (PARENT_PBNO_ID)   REFERENCES PRB_NODES (ID)  ENABLE VALIDATE;

So there is a FK from PARENT_PBNO_ID back to the table itself, thus constructing the tree.

The FK in the DB results in an association from PARENT_PBNO_ID  back to ID

I followed Frank's tutorial and the ADF tree works just fine.

Then however, I tried to add a context menu to the ADF tree "contextMenu" facet. I added a popup / menu / commandMenuItem named "Delete node", without any application logic yet.

When I run the application, open some nodes and right-click, I get the following error message:

java.lang.NullPointerException

ADF_FACES-60097:Zoek een ingang die begint met ADF_FACES-60096:Serveruitzondering tijdens PPR, nummer 2 in het foutenlog van de server voor meer informatie.

The stack in the JDeveloper screen:

<11-jun-2014 10.04 u. CEST> <Error> <oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter> <BEA-000000> <ADF_FACES-60096:Serveruitzondering tijdens PPR, nummer 2

java.lang.NullPointerException

    at oracle.adfinternal.view.faces.model.binding.RowDataManager._getRowCount(RowDataManager.java:496)

    at oracle.adfinternal.view.faces.model.binding.RowDataManager.getRowCount(RowDataManager.java:246)

    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.getRowCount(FacesCtrlHierBinding.java:909)

    at org.apache.myfaces.trinidad.component.UIXCollection.getRowCount(UIXCollection.java:439)

    at org.apache.myfaces.trinidad.model.ModelUtils.findLastIndex(ModelUtils.java:130)

    at org.apache.myfaces.trinidad.component.TableUtils.getLast(TableUtils.java:85)

    at org.apache.myfaces.trinidad.component.UIXHierarchy.visitHierarchy(UIXHierarchy.java:430)

    at org.apache.myfaces.trinidad.component.UIXHierarchy.visitHierarchy(UIXHierarchy.java:454)

    at org.apache.myfaces.trinidad.component.UIXTree.visitData(UIXTree.java:318)

    at org.apache.myfaces.trinidad.component.UIXTree.visitChildren(UIXTree.java:303)

    at oracle.adf.view.rich.component.rich.data.RichTree.visitChildren(RichTree.java:240)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)

    at oracle.adf.view.rich.component.rich.layout.RichPanelAccordion.visitTree(RichPanelAccordion.java:302)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)

    at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)

    at javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)

    at oracle.adfinternal.view.faces.lifecycle.ResponseRenderManager._addTargetRenderIds(ResponseRenderManager.java:68)

    at oracle.adfinternal.view.faces.lifecycle.ResponseRenderManager.runRenderView(ResponseRenderManager.java:51)

    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1104)

    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:389)

    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:255)

    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)

    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)

    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)

    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)

    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)

    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)

    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)

    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)

    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)

    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)

    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)

    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:303)

    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:208)

    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)

    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)

    at java.security.AccessController.doPrivileged(Native Method)

    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)

    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)

    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)

    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)

    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)

    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:225)

    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367)

    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)

    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)

    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)

    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)

    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)

    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)

    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)

    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)

    at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)

>

I then constructed an ADF tree using 2 View Objects (not a recursive tree, simply two levels) and added a context menu exactly the same way, and this does seem to work fine as expected.

Am I forgetting something when configuring the EO or the recursive ADF tree with context menu?? I followed Frank's tutorial and without the context menu, the ADF tree works just fine. Only the context menu throws errors.

Thank you very much for any insight you might provide!

Kristof

JDeveloper               Studio Edition Version 12.1.2.0.0

Java(TM) Platform    1.7.0_15

Oracle IDE                12.1.2.0.40.66.68

Browser:                   Firefox 29.0.1

Comments

Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jul 17 2014
Added on Jun 11 2014
3 comments
327 views