| Author |
Message |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 01/06/2009 21:14:33
|
gus315
Joined: 14/11/2006 00:00:00
Messages: 158
Offline
|
Hi ICE team,
It seems that there is a regression in ICEfaces 1.8.1 on parameterized expressions. e.g.
Code:
<ice:panelGroup rendered="#{foo.isInstance('Foo')}">
...
</ice:panelGroup>
It worked fine in ICEfaces 1.8.0, but failed in ICEfaces 1.8.1. Thanks.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 02/06/2009 00:21:54
|
lightguard

Joined: 11/05/2007 00:00:00
Messages: 165
Offline
|
There are two things that could cause this that I'm aware of: JSF 1.x implementation and the EL implementation. JBoss EL supports parameterized function expressions. I'm not sure of any others that do. My suggestion would be to use JBoss EL until JSF 2.0 is released and ICEfaces supports it, then you'll get this kind of functionality out of the box.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 02/06/2009 13:21:16
|
mark.collette

Joined: 07/02/2005 00:00:00
Messages: 1461
Offline
|
I agree, this is likely an issue with the JBoss EL. ICEfaces has no hooks into that realm at all, and the version of Facelets (icefaces-facelets.jar) that ships with ICEfaces has not changed at all.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 02/06/2009 18:14:59
|
gus315
Joined: 14/11/2006 00:00:00
Messages: 158
Offline
|
Sorry, I forgot to mention that the environment is the ICEfaces-Seam integration. Seam version is Seam 2.1.2-RC2. I tested the following codes on ICEfaces 1.8.0, and both worked. But on ICEfaces 1.8.1, both failed ("failed" means the rendered return false, but the tag was still rendered).
Code:
<ice:panelGroup rendered="#{boo.isInstance('Boo')}">
...
</ice:panelGroup>
<s:fragment rendered="#{boo.isInstance('Boo')}">
...
<s:fragment>
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 02/06/2009 22:29:26
|
lightguard

Joined: 11/05/2007 00:00:00
Messages: 165
Offline
|
What's in your lib directory in your war / ear?
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 02/06/2009 22:48:19
|
gus315
Joined: 14/11/2006 00:00:00
Messages: 158
Offline
|
In war/lib
backport-util-concurrent.jar
commons-beanutils.jar
commons-digester.jar
commons-el.jar
commons-io.jar
commons-lang.jar
icefaces-facelets.jar
jboss-seam-ui.jar
oscache-2.3.2.jar
standard.jar
in ear/lib
antlr-runtime.jar
icefaces.jar
icefaces-comps.jar
janino.jar
jboss-el.jar
jboss-seam.jar
Thanks.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 03/06/2009 09:04:07
|
lightguard

Joined: 11/05/2007 00:00:00
Messages: 165
Offline
|
I've never deployed commons-el into a seam + ICEfaces app before. I bet that's where your conflict is.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 03/06/2009 10:23:35
|
gus315
Joined: 14/11/2006 00:00:00
Messages: 158
Offline
|
You mean the regression is resulted from the commons-el.jar? Should the parameterized expressions work on ICEfaces 1.8.1 after removing the commons-el.jar? I will test it. Thanks.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 03/06/2009 11:14:06
|
lightguard

Joined: 11/05/2007 00:00:00
Messages: 165
Offline
|
I think what's happening is that both commons-el and jboss-el are defining the same API and the commons-el is being picked up first in the classloader.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 03/06/2009 17:18:32
|
gus315
Joined: 14/11/2006 00:00:00
Messages: 158
Offline
|
No, I removed the commons-el.jar, but the problem is the same. I think something is wrong in ICEfaces 1.8.1. Thanks.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 04/06/2009 11:45:31
|
jguglielmin
Joined: 20/07/2007 00:00:00
Messages: 181
Offline
|
The 3 icefaces jars need to be together at the ear level. You could run a seam-gen (just a create-project) on a dummy project to get the correct jar packaging locations.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 04/06/2009 17:31:15
|
mark.collette

Joined: 07/02/2005 00:00:00
Messages: 1461
Offline
|
With classloader issues, it can appear that there's a difference, like a regression, in a library, but all that's actually changed is the sequence that other classes are loaded. The problem really being in having the wrong classes available.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 04/06/2009 19:57:46
|
gus315
Joined: 14/11/2006 00:00:00
Messages: 158
Offline
|
jguglielmin wrote:
The 3 icefaces jars need to be together at the ear level. You could run a seam-gen (just a create-project) on a dummy project to get the correct jar packaging locations.
Thanks for reply. I put the 3 together in ear, but got the exceptions:com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED!
Source Document: jndi:/WEB-INF/faces-config.xml
Cause: Class 'com.icesoft.faces.facelets.D2DSeamFaceletViewHandler' is missing a runtime dependency: java.lang.NoClassDefFoundError: com/sun/facelets/impl/ResourceResolver
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:213)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:196)
at org.jboss.web.jsf.integration.config.JBossJSFConfigureListener.contextInitialized(JBossJSFConfigureListener.java:71)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3856)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4361)
......
I looked at the Seam-space demo, it includes facelets jar in war.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 05/06/2009 00:47:13
|
lightguard

Joined: 11/05/2007 00:00:00
Messages: 165
Offline
|
You don't need that with ICEfaces, it contains facelets.
|
|
|
 |
![[Post New]](/JForum/templates/default/images/icon_minipost_new.gif) 05/06/2009 11:18:21
|
jguglielmin
Joined: 20/07/2007 00:00:00
Messages: 181
Offline
|
Seriously....run a seam-gen for create-project. it takes all of 2 seconds and you will have the correct build script regarding the jars and their locations. seam-space is a non-ICEfaces application configuration. (although it wouldn't take a whole lot to convert it for someone familiar with both Seam and ICEfaces).
|
|
|
 |
|
|