users@woodstock.java.net

Re: Woodstock+Seam -- Seam built-in components not working

From: Dan Labrecque <Dan.Labrecque_at_Sun.COM>
Date: Fri, 26 Oct 2007 11:34:02 -0400

The EL resolver is defined via a faces-config file, so it is
automatically enabled for Woodstock. Technically, you could override
this at the application level (i.e. via your own faces-config.xml). For
example, if there is a Seam resolver, you could ensure it is called first.

    <application>
        
<el-resolver>com.sun.webui.jsf.faces.UIComponentELResolver</el-resolver>
        <el-resolver>com.sun.webui.jsf.faces.ThemeELResolver</el-resolver>
        
<el-resolver>com.sun.webui.jsf.faces.DataProviderELResolver</el-resolver>
    </application>

That said, your stack trace refers to line 72 of UIComponentELResolver.
This particular line invokes a simple log utility class. Basically, we
print out the class name and the property to be retrieved.

70: public Object getValue(ELContext context, Object base, Object
property) {
71:
72: log("getValue(ctx, " + base + "," + property + ")");

Our LogUtil uses standard J2SE logging, so I don't understand why Seam
would be involved here?

> at org.jboss.seam.Namespace.entrySet(Namespace.java:23)
> at java.util.AbstractMap.toString(Unknown Source)
> at java.lang.String.valueOf(Unknown Source)
> at java.lang.StringBuilder.append (Unknown Source)

I have a couple more questions for you:

1. Is logging enabled?
2. What version of Java are you using?
3. Do you have commons-logging.jar in your class path?
4. Would you be willing to test a new jar, providing we strip out the
logging?

Dan

Indu Kurup wrote:
> That is exactly what I don't understand. I haven't configured anything
> specific to Woodstock anywhere. All that I have is the Woodstock jar
> files. And the Woodstock EL Resolver is taking hold. How is this
> happening? Is there any workaround?
>
> Thanks,
> Indu
>
> On 10/21/07, *Venkatesh Babu* <Venkatesh.M_at_sun.com
> <mailto:Venkatesh.M_at_sun.com>> wrote:
>
> Woodstock doesnt have any problem running on tomcat. But i havent
> tried it out with seam on tomcat yet. (and also facelets).
> But why should the woodstock EL resolver kick in for seam
> components (ajax4jsf component set i assume from the stack trace)?
>
> -Venky
>
> Indu Kurup wrote:
>>
>> Currently we are using Seam 1.2.1 with Woodstock, JSF 1.2,
>> Facelets 1.1.13 on Tomcat 6.0.10.
>> Everything is working fine except for the built-in Seam
>> components like
>> 1. conversationList
>> 2. localeSelector
>> 3. messages
>> I tried removing the Woodstock jar file webui-jsf.jar and i
>> get the components working fine. Its the
>> com.sun.webui.jsf.facesUIComponentELResolver thats throwing
>> the exception.
>> Is it the server? Have you tried running this combination in
>> tomcat?
>>
>> Thanks,
>> Indu
>>
>>
>>
>> On 10/18/07, *Venkatesh Babu* < Venkatesh.M_at_sun.com
>> <mailto:Venkatesh.M_at_sun.com>> wrote:
>>
>> Hi Indu,
>>
>> Which version of Seam are you using? And are you using
>> facelets?
>> I was playing with Seam a few days before.. the version
>> i used was
>> jboss seam 2.0.0 CR2
>> I modified the existing registration app to use woodstock
>> components
>> with JSP page rendering
>> and i was able to run it on glassfish without any problem.
>>
>> -Venky
>> Indu Kurup wrote:
>> > I found that adding Woodstock jar files into the
>> classpath makes Seam
>> > built-in components not working.
>> >
>> >
>> > I tried removing the Woodstock libraries and everything
>> works fine.
>> >
>> > These are the jar files that i have
>> > [list]1. dataprovider.jar
>> > 2. dojo-0.4.3-ajax.jar
>> > 3. json.jar
>> > 4. prototype-1.5.0.jar
>> > 5. webui-jsf.jar
>> > 6. webui-jsf-suntheme.jar[/list]
>> >
>> > Below is the stacktrace
>> >
>> > [code]
>> > java.lang.UnsupportedOperationException
>> > at org.jboss.seam.Namespace.entrySet(Namespace.java:23)
>> > at java.util.AbstractMap.toString(Unknown Source)
>> > at java.lang.String.valueOf(Unknown Source)
>> > at java.lang.StringBuilder.append (Unknown Source)
>> > at
>> > com.sun.webui.jsf.faces.UIComponentELResolver.getValue(UIComponentELResolver.java:72)
>> > at
>> javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
>> > at com.sun.faces.el.FacesCompositeELResolver.getValue
>> > (FacesCompositeELResolver.java:64)
>> > at
>> org.apache.el.parser.AstValue.getValue(AstValue.java:97)
>> > at
>> > org.apache.el.ValueExpressionImpl.getValue
>> (ValueExpressionImpl.java:186)
>> > at
>> > com.sun.faces.application.ValueBindingValueExpressionAdapter.getValue
>> > (ValueBindingValueExpressionAdapter.java:102)
>> > at org.jboss.seam.core.Expressions$1.getValue
>> (Expressions.java:69)
>> > at
>> > org.jboss.seam.Component.getInstanceFromFactory(Component.java:1684)
>> > at org.jboss.seam.Component.getInstance
>> (Component.java:1633)
>> > at org.jboss.seam.Component.getInstance
>> (Component.java:1610)
>> > at
>> org.jboss.seam.Component.getInstance(Component.java:1604)
>> > at
>> org.jboss.seam.jsf.SeamELResolver.getValue(SeamELResolver.java
>> :49)
>> > at javax.el.CompositeELResolver.getValue
>> (CompositeELResolver.java:53)
>> > at
>> > com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
>> > at org.apache.el.parser.AstIdentifier.getValue
>> (AstIdentifier.java:45)
>> > at
>> > org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
>> > at
>> > com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
>> > at javax.faces.component.UIOutput.getValue
>> (UIOutput.java:173)
>> > at
>> > com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:189)
>> > at
>> > com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue
>> (HtmlBasicRenderer.java
>> > :320)
>> > at
>> > com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:200)
>> > at
>> > javax.faces.component.UIComponentBase.encodeEnd
>> (UIComponentBase.java:836)
>> > at javax.faces.component.UIComponent.encodeAll
>> (UIComponent.java:896)
>> > at
>> javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
>> > at
>> > com.sun.facelets.FaceletViewHandler.renderView
>> (FaceletViewHandler.java:577)
>> > at org.ajax4jsf.framework.ViewHandlerWrapper.renderView
>> > (ViewHandlerWrapper.java:108)
>> > at
>> > org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java
>> :256)
>> > at
>> > com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
>> > at
>> com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
>> > at
>> > com.sun.faces.lifecycle.LifecycleImpl.render
>> (LifecycleImpl.java:144)
>> > at
>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
>> > at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>
>> > at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> > at
>> org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter
>> > (SeamFilter.java:63)
>> > at
>> org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
>> > at
>> > org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
>> > at org.jboss.seam.web.ExceptionFilter.doFilter
>> > (ExceptionFilter.java:57)
>> > at
>> > org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
>> > at
>> > org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java
>> :79)
>> > at
>> org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter
>> > (SeamFilter.java:49)
>> > at
>> org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
>> > at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>> (ApplicationFilterChain.java:235)
>> > at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter
>> > (ApplicationFilterChain.java:206)
>> > at
>> > org.apache.catalina.core.StandardWrapperValve.invoke
>> (StandardWrapperValve.java:228)
>> > at
>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>> >
>> > at
>> > org.apache.catalina.core.StandardHostValve.invoke(
>> StandardHostValve.java :128)
>> > at
>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
>> > at org.apache.catalina.core.StandardEngineValve.invoke
>> > (StandardEngineValve.java:109)
>> > at
>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
>> > at
>> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>> > at
>> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
>>
>> > (Http11Protocol.java:634)
>> > at
>> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
>> > at java.lang.Thread.run(Unknown Source)
>> > [/code]
>> >
>> > I have no other configurations for Woodstock in my
>> workspace.
>> >
>> > Does this mean that Seam cannot be used in combination
>> with Woodstock.
>> >
>> > Thanks !
>>
>>
>>
>
>