[jboss-cvs] jboss-seam/src/main/org/jboss/seam/el ...

Gavin King gavin.king at jboss.com
Mon Jul 16 06:22:54 EDT 2007


  User: gavin   
  Date: 07/07/16 06:22:54

  Modified:    src/main/org/jboss/seam/el   EL.java SeamFunctionMapper.java
  Log:
  support SeamFunctionMapper in jbpm el
  
  Revision  Changes    Path
  1.9       +5 -4      jboss-seam/src/main/org/jboss/seam/el/EL.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: EL.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/el/EL.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -b -r1.8 -r1.9
  --- EL.java	15 Jul 2007 22:43:13 -0000	1.8
  +++ EL.java	16 Jul 2007 10:22:53 -0000	1.9
  @@ -27,7 +27,7 @@
   public class EL
   {
      public static final ELResolver EL_RESOLVER = createELResolver();
  -   public static final ELContext EL_CONTEXT = createELContext(EL_RESOLVER);
  +   public static final ELContext EL_CONTEXT = createELContext( EL_RESOLVER, new FunctionMapperImpl() );
      
      public static final ExpressionFactory EXPRESSION_FACTORY = new ExpressionFactoryImpl();
      
  @@ -43,10 +43,11 @@
         return resolver;
      }
   
  -   public static ELContext createELContext(final ELResolver resolver)
  +   public static ELContext createELContext(final ELResolver resolver, final FunctionMapper functionMapper)
      {
         return new ELContext()
         {
  +         final VariableMapperImpl variableMapper = new VariableMapperImpl();
   
            @Override
            public ELResolver getELResolver()
  @@ -57,13 +58,13 @@
            @Override
            public FunctionMapper getFunctionMapper()
            {
  -            return new FunctionMapperImpl();
  +            return functionMapper;
            }
   
            @Override
            public VariableMapper getVariableMapper()
            {
  -            return new VariableMapperImpl();
  +            return variableMapper;
            }
            
         };
  
  
  
  1.3       +4 -8      jboss-seam/src/main/org/jboss/seam/el/SeamFunctionMapper.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: SeamFunctionMapper.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/el/SeamFunctionMapper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- SeamFunctionMapper.java	21 Jun 2007 05:27:27 -0000	1.2
  +++ SeamFunctionMapper.java	16 Jul 2007 10:22:53 -0000	1.3
  @@ -12,24 +12,18 @@
   
   /**
    * Resolves Seam Security EL functions, s:hasRole() and s:hasPermission()
  + * by decorating a delegate Unified EL FunctionMapper
    *  
    * @author Shane Bryzak
    */
   public class SeamFunctionMapper extends FunctionMapper
   {
  -   private static final String SEAM_EL_PREFIX = "s";
  -   
      private static Map<String,Method> methodCache = new HashMap<String,Method>();
      
      private static final LogProvider log = Logging.getLogProvider(SeamFunctionMapper.class);
      
      private FunctionMapper functionMapper;
      
  -   public SeamFunctionMapper()
  -   {
  -      this(null);
  -   }
  -   
      public SeamFunctionMapper(FunctionMapper functionMapper)
      {
         this.functionMapper = functionMapper;
  @@ -46,7 +40,7 @@
      @Override 
      public Method resolveFunction(String prefix, String localName) 
      {
  -      if (SEAM_EL_PREFIX.equals(prefix))
  +      if ( "s".equals(prefix) )
         {
            return methodCache.get(localName);
         }
  @@ -55,8 +49,10 @@
            return functionMapper.resolveFunction(prefix, localName);
         }
         else
  +      {
            return null;
      }  
  +   }  
      
      private static void cacheMethod(String localName, Class cls, String name, Class[] params)
      {
  
  
  



More information about the jboss-cvs-commits mailing list