[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