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

Gavin King gavin.king at jboss.com
Fri Dec 15 02:18:18 EST 2006


  User: gavin   
  Date: 06/12/15 02:18:18

  Modified:    src/main/org/jboss/seam/jsf  SeamELResolver.java
  Log:
  JBSEAM-478
  
  Revision  Changes    Path
  1.4       +61 -1     jboss-seam/src/main/org/jboss/seam/jsf/SeamELResolver.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: SeamELResolver.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/jsf/SeamELResolver.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- SeamELResolver.java	30 Nov 2006 02:09:11 -0000	1.3
  +++ SeamELResolver.java	15 Dec 2006 07:18:18 -0000	1.4
  @@ -1,9 +1,12 @@
   package org.jboss.seam.jsf;
   
  +import java.util.Collection;
   import java.util.Iterator;
  +import java.util.Map;
   
   import javax.el.ELContext;
   import javax.el.ELResolver;
  +import javax.faces.model.DataModel;
   
   import org.jboss.seam.Component;
   import org.jboss.seam.core.Init;
  @@ -47,6 +50,62 @@
            }
            return result;
         }
  +      else if (base instanceof DataModel)
  +      {
  +         if ( "size".equals(property) )
  +         {
  +            context.setPropertyResolved(true);
  +            return ( (DataModel) base ).getRowCount();
  +         }
  +         else if ( "empty".equals(property) )
  +         {
  +            context.setPropertyResolved(true);
  +            return ( (DataModel) base ).getRowCount()==0;
  +         }
  +         else
  +         {
  +            return null;
  +         }
  +      }
  +      else if (base instanceof Collection)
  +      {
  +         if ( "size".equals(property) )
  +         {
  +            context.setPropertyResolved(true);
  +            return ( (Collection) base ).size();
  +         }
  +         else
  +         {
  +            return null;
  +         }
  +      }
  +      else if (base instanceof Map)
  +      {
  +         if ( "size".equals(property) )
  +         {
  +            context.setPropertyResolved(true);
  +            return ( (Map) base ).size();
  +         }
  +         else if ( "values".equals(property) )
  +         {
  +            context.setPropertyResolved(true);
  +            return ( (Map) base ).values();
  +         }
  +         else if ( "keySet".equals(property) )
  +         {
  +            context.setPropertyResolved(true);
  +            return ( (Map) base ).keySet();
  +         }
  +         else if ( "entrySet".equals(property) )
  +         {
  +            context.setPropertyResolved(true);
  +            return ( (Map) base ).entrySet();
  +         }
  +         else
  +         {
  +            return null;
  +         }
  +      }
         else
         {
            return null;
  @@ -56,7 +115,8 @@
      @Override
      public boolean isReadOnly(ELContext context, Object base, Object property)
      {
  -      return false;
  +      return base!=null && 
  +            ( (base instanceof DataModel) || (base instanceof Collection) || (base instanceof Map) );
      }
   
      @Override
  
  
  



More information about the jboss-cvs-commits mailing list