4 Replies Latest reply on Feb 3, 2006 1:12 PM by Gavin King

    Oracel ADF, Facelets, Seam and

    Tobias Adamson Newbie

      Hi
      I'm trying to get Oracle ADF to work with Facelets and Seam and everything works fine until I try to use component that accesses a scoped variable (the code works fine with plain JSP). The setups is done according to this thread http://www.jboss.com/index.html?module=bb&op=viewtopic&t=74968

      I.e. <af:document>, <af:panelPage title="Register New User">
      works fine but
      <af:inputText value="#{user.name}"/>
      generates the following stack trace when accessed through the following page http://localhost:8084/seamtest/register.jsf

      ava.lang.IllegalStateException: No active application scope
       at org.jboss.seam.core.Init.instance(Init.java:86)
       at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1068)
       at org.jboss.seam.Component.getInstance(Component.java:1041)
       at org.jboss.seam.Component.getInstance(Component.java:1027)
       at org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:43)
       at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:134)
       at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:41)
      


      I've also tried the log4j.properties suggestion found in this thread above
      but it does not work either for me

      Does anyone have any ideas how to get this working?
      I would really appreciate the help

      regards
      Tobias



        • 1. Re: Oracel ADF, Facelets, Seam and
          Tobias Adamson Newbie

          In the end it seams like the debugging is the problem.

          In org.apache.myfaces.util.DebugUtils at line 313

           if (childCount > 0)
           {
           for (Iterator it = comp.getChildren().iterator(); it.hasNext(); )
           {
           UIComponent child = (UIComponent)it.next();
           printComponent(child, stream, indent + 1, true, null);
           }
           }
          


          The printComponent method is called after Seam has called clearThreadlocals in org.jboss.seam.contexts.Lifecycle.java which results in the error above.

          The way to fix this is to disable logging for DebugUtils through your loggin system as this method is only called if TRACE is enabled for the class.

          If anyone wants some help with ADF, Seam and Facelets just put a message here.

          Regards
          Tobias

          • 2. Re: Oracel ADF, Facelets, Seam and
            nusa Novice

             

            "tobad" wrote:
            If anyone wants some help with ADF, Seam and Facelets just put a message here.

            Hi Tobias,

            Glad that you made it.
            Maybe it's worth to share with us how did you do it,
            by telling us :
            1. your web.xml and faces config files
            2. jars you put under WEB-INF/lib and its versions
            3. a sample of your jsp page
            4. if you've modified the \deploy\jbossweb-tomcat55.sar\conf\web.xml
            5. if you've added any jars under \deploy\jbossweb-tomcat55.sar\jsf-libs
            and its versions

            Thanks.

            • 3. Re: Oracel ADF, Facelets, Seam and
              Thomas Heute Master

              The wiki would be a great place to summarize that kind of thing :)
              http://www.jboss.com/wiki/Wiki.jsp?page=JBossSeam

              Fell free to add a new page and to link it from the main page if you wish so.

              • 4. Re: Oracel ADF, Facelets, Seam and
                Gavin King Master

                 

                "tobad" wrote:

                The printComponent method is called after Seam has called clearThreadlocals in org.jboss.seam.contexts.Lifecycle.java which results in the error above.


                Please report this in our JIRA, it seems we are a bit overzealous with throwing exceptions here.