4 Replies Latest reply: Apr 22, 2013 7:29 AM by Ami RSS

    Problem in ADF Table Sorting Accessor Fields Generated from EJB 3

    Rommel Pino
      Here are the things that I have done:
      1) created EJB entities for Employee and Department based on the HR schema
      2) created an HRFacade session bean
      3) generated DataControl
      4) created a browse page
      5) created an adf read only table with the following fields: employeeId, lastname, and departmentName with row selection, filtering and sorting enaabled.

      when I invoke sorting for the employeeId and lastname fields, the table sorts fine, but...
      when I invoke sorting on the departmentName field (an accessor field), the following error occured:

      WARNING: ADF: Adding the following JSF error message: Definition departmentName of type Attribute is not found in employeesFindAll.
      oracle.jbo.NoDefException: JBO-25058: Definition departmentName of type Attribute is not found in employeesFindAll.
           at oracle.jbo.uicli.binding.JUCtrlValueBinding.findAttributeDef(JUCtrlValueBinding.java:589)
           at oracle.jbo.uicli.binding.JUCtrlValueBinding.findAttributeDef(JUCtrlValueBinding.java:559)
           at oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding.__setSortCriteria(FacesCtrlRangeBinding.java:247)
           at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.setSortCriteria(FacesCtrlHierBinding.java:346)
           at org.apache.myfaces.trinidad.component.UIXCollection.setSortCriteria(UIXCollection.java:464)
           at org.apache.myfaces.trinidad.component.UIXTable.setSortCriteria(UIXTable.java:196)
           at org.apache.myfaces.trinidad.component.UIXTable.broadcast(UIXTable.java:260)
           at oracle.adf.view.rich.component.UIXTable.broadcast(UIXTable.java:140)
           at oracle.adf.view.rich.component.rich.data.RichTable.broadcast(RichTable.java:364)
           at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:147)
           at org.apache.myfaces.trinidad.component.UIXTable.broadcast(UIXTable.java:271)
           at oracle.adf.view.rich.component.UIXTable.broadcast(UIXTable.java:140)
           at oracle.adf.view.rich.component.rich.data.RichTable.broadcast(RichTable.java:364)
           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:787)
           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:280)
           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:165)
           at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
           at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
           at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
           at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
           at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
           at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:54)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
           at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:96)
           at java.security.AccessController.doPrivileged(Native Method)
           at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
           at oracle.security.jps.wls.util.JpsWlsUtil.runJaasMode(JpsWlsUtil.java:146)
           at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:140)
           at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3588)
           at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
           at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
           at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
           at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
           at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
           at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
           at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

      Is this a bug or a not supported feature?

      We been stack on this... Help!!!