REGRESSION: ICEfaces 1.8.1 failed to support parameterized expressions
[Logo]
Forums for ICEfaces and ICEpdf
[Search] Search   [Recent Topics] Recent Topics   [Groups] Home Page | www.icefaces.org  [Register] Register  [Login] Login 
REGRESSION: ICEfaces 1.8.1 failed to support parameterized expressions  XML
Forum Index -> JBoss Seam Integration Go to Page: 1, 2 Next 
Author Message
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.
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.
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.
[Email]
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>
lightguard


Joined: 11/05/2007 00:00:00
Messages: 165
Offline


What's in your lib directory in your war / ear?
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.
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.
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.
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.
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.
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.
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.
[Email]
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.
lightguard


Joined: 11/05/2007 00:00:00
Messages: 165
Offline


You don't need that with ICEfaces, it contains facelets.
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).
 
Forum Index -> JBoss Seam Integration Go to Page: 1, 2 Next 
Go to:   
Powered by JForum 2.1.7ice © JForum Team