3 Replies Latest reply on Feb 1, 2008 8:43 AM by beligum

    old RichFaces bug: MethodNotFoundException back?

    beligum

      Hi all,

      When I use "adviseNodeOpened" in a rich:tree component, I end up with a javax.faces.el.MethodNotFoundException: /app/tumbolia/panels/main/space/showSpace.xhtml @198,65 adviseNodeOpened="#{fileSystemManager.adviseFileSystemTreeNodeOpened}": Method not found: FileSystemManagerImpl:3j011-9i11xv-faathdgv-1-faauxftc-h.adviseFileSystemTreeNodeOpened(org.richfaces.component.UITree)

      The old solution (before RichFaces impl and api were splitted) was to set UseJBossWebLoader to true, but this breaks the mail functionality in Seam. Apparently, there are still issues with this, and I'm planning to post a JIRA-issue, but wanted to check this first.

      In the Wiki-example build.xml, I'm seeting this comment:
      <!-- Still need the * on richfaces due to bug in version mapper -->

      Could this be the reason (the fact that we can't split out the api in the war file just yet) for this exception to be thrown, or am I missing something else?

      thx,

      bram

        • 1. Re: old RichFaces bug: MethodNotFoundException back?
          pmuir

          Make sure to report this in the RichFaces forum or JIRA.

          • 2. Re: old RichFaces bug: MethodNotFoundException back?
            beligum

            Did some more work on this:

            When (in the bean), I use this function:

            public Boolean adviseFileSystemTreeNodeOpened(UITree tree)
             {
             Inode inode = ((FileSystemTreeNode)tree.getRowData()).getInode();
             if (this.getSelectedSpaceMember()!=null) {
             return inode.hasAsChild(this.getSelectedSpaceMember().getInode());
             }
            
             return null;
             }
            


            The compiler complains about the fact that tree.getRowData() is not specified in richfaces.api (but in richfaces.impl), which may be the reason why we can't split impl and api. Note that I'm using rich:recursiveTreeNodesAdaptor, so I'm forced to use getRowData() instead of getTreeNode() (which is in richfaces.api).

            Any comments plz?

            b.

            ps: jira-link: http://jira.jboss.org/jira/browse/RF-1713

            • 3. Re: old RichFaces bug: MethodNotFoundException back?
              beligum

              I found the fix for this:

              add jboss-web.xml to the web context with a seperate classloader:

              <class-loading java2ClassLoadingCompliance="false">
               <loader-repository>
               seam.jboss.org:loader=<your-app-name>
               <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
               </loader-repository>
              </class-loading>
              


              and add the richfaces-impl.jar to the ejb context (richfaces-api.jar and richfaces-ui.jar go into the root ear context)