voyent
Seam and Icefaces integration  XML
Forum Index -> JBoss Seam Integration
Author Message
jerome

Joined: 14/Nov/2006 00:00:00
Messages: 16
Offline


Hello,

I am still testing Seam and Icefaces integration.

I am using Seam 1.1 (from CVS) and Icefaces 1.5 (bundled with the Seam/Icefaces booking application, including the D2DSeamFaceletViewHandler).

The Seam Debug Page is no longer available. I get the following error:
Code:
(...) rendered="#{org$jboss$seam$debug$introspector.attributes!=null}": Exception getting value of property a
 ttributes of base of type : org.jboss.seam.debug.Introspector$$EnhancerByCGLIB$$5143f993


I believe it's caused by the way Seam uses a $ to indicate a qualified component name in a JSF expression. For instance, if you try to use this:
<component name="org.jboss.seam.theme.themeSelector">
<property name="availableThemes">
<value>default</value>
</property>
</component>

you will probably get this:
Code:
(...)Cannot get value for expression '#{org$jboss$seam$theme$theme}'


Is there a CVS/SVN repository available somewhere ?

Regards,
Jerome.
philip.breau


Joined: 08/May/2006 00:00:00
Messages: 2989
Offline


Hi Jerome,

You'll have more luck with Seam 1.0.1 than with 1.1. We're working on quickly integrating with 1.1, but this is still in the works.

Thanks,
Philip

.
jerome

Joined: 14/Nov/2006 00:00:00
Messages: 16
Offline


Thank you Philip,

I've found out what could be the source of the problem: in BridgeExternalContext.java, method getRequestCookieMap()
always throws an UnsupportedOperationException(). The problem is that Seam built-in components might be using cookies to persist preferences (ie
<property name="cookieEnabled">true</property>).

Regards,
Jerome.

philip.breau


Joined: 08/May/2006 00:00:00
Messages: 2989
Offline


Ah...ok, thx, I'll forward that to our Seam-integration developers. That obstacle might not be that hard to get around. The method's just not implemented in BridgeExternalContext. You can get around it by calling:

Code:
Map cookies = ((HttpServletRequest)((BridgeExternalContext) FacesContext.getCurrentInstance().getExternalContext()).getRequest()).getCookies();


...so in our BridgeExternalContext.getRequestCookieMap we need to pass back something like:

Code:
 (HttpServletRequest)getRequest()).getCookies();


Thanks,
Philip

.
jerome

Joined: 14/Nov/2006 00:00:00
Messages: 16
Offline


Thank you Philip.

I will have to wait a little bit before I can apply your patch to BridgeExternalContext because for now I don't have access to the latest source code.

Do you know where I could find D2DSeamFaceletViewHandler.java so that I can rebuild Icefaces ?

Regards,
Jerome.
 
Forum Index -> JBoss Seam Integration
Go to:   
Powered by JForum 2.1.7ice © JForum Team