[jboss-cvs] jboss-seam/src/main/org/jboss/seam/jsf ...
Norman Richards
norman.richards at jboss.com
Tue Apr 24 00:44:18 EDT 2007
User: nrichards
Date: 07/04/24 00:44:18
Modified: src/main/org/jboss/seam/jsf SeamApplication.java
Log:
workaround for el issue
Revision Changes Path
1.4 +25 -2 jboss-seam/src/main/org/jboss/seam/jsf/SeamApplication.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SeamApplication.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/jsf/SeamApplication.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- SeamApplication.java 24 Apr 2007 02:32:15 -0000 1.3
+++ SeamApplication.java 24 Apr 2007 04:44:18 -0000 1.4
@@ -1,5 +1,6 @@
package org.jboss.seam.jsf;
+import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.Iterator;
@@ -27,9 +28,14 @@
import javax.faces.event.ActionListener;
import javax.faces.validator.Validator;
+import org.jboss.el.ExpressionFactoryImpl;
import org.jboss.seam.Component;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.core.Init;
+import org.jboss.seam.util.Reflections;
+
+import com.sun.faces.application.ApplicationAssociate;
+import com.sun.faces.application.ApplicationImpl;
public class SeamApplication extends Application
{
@@ -48,6 +54,8 @@
{
this.application = application;
+ useJBossEL();
+
try
{
getELResolverMethod = application.getClass().getMethod("getELResolver");
@@ -66,6 +74,21 @@
}
}
+ private void useJBossEL() {
+ if (application instanceof ApplicationImpl) {
+ ApplicationImpl impl = (ApplicationImpl) application;
+
+ try {
+ Field field = Reflections.getField(ApplicationImpl.class, "associate");
+ field.setAccessible(true);
+ ApplicationAssociate associate = (ApplicationAssociate) Reflections.get(field,impl);
+ associate.setExpressionFactory(new ExpressionFactoryImpl());
+ } catch (Exception e) {
+ // ...
+ }
+ }
+ }
+
@Override
public ELResolver getELResolver()
{
More information about the jboss-cvs-commits
mailing list