[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