users@woodstock.java.net

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

From: Dan Labrecque <Dan.Labrecque_at_Sun.COM>
Date: Mon, 29 Oct 2007 17:10:18 -0500

FYI, it appears we can drop this particular issue.

    "the initial problem with the Seam built-in components has been
resolved since we migrated to Seam 2.0.0.CR2. So, please consider that
problem solved."

Dan

Ken Paulsen wrote:
>
> Dan,
>
> Since the concatenation of the String happens before calling your
> log() call, it won't matter what log level he is using.
>
> You might consider moving the log() call below your UIComponent check
> to avoid this. You might also consider wrapping a log level check
> around the log calls to avoid unnecessarily creating Strings (which
> may fail as in this case).
>
> If you'd like me to test / make any of these changes, let me know.
>
> Thanks!
>
> Ken
>
> Dan Labrecque wrote:
>> 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 !
>>>>
>>>>
>>>>
>>>
>>>
>>