Author: andrei_exadel
Date: 2008-07-22 11:51:23 -0400 (Tue, 22 Jul 2008)
New Revision: 9735
Modified:
trunk/ui/columns/src/main/java/org/richfaces/taglib/ColumnsTag.java
Log:
RF-3953
Modified: trunk/ui/columns/src/main/java/org/richfaces/taglib/ColumnsTag.java
===================================================================
--- trunk/ui/columns/src/main/java/org/richfaces/taglib/ColumnsTag.java 2008-07-22
15:48:51 UTC (rev 9734)
+++ trunk/ui/columns/src/main/java/org/richfaces/taglib/ColumnsTag.java 2008-07-22
15:51:23 UTC (rev 9735)
@@ -13,6 +13,7 @@
import javax.el.ELResolver;
import javax.el.FunctionMapper;
import javax.el.MethodExpression;
+import javax.el.MethodInfo;
import javax.el.ValueExpression;
import javax.el.VariableMapper;
import javax.faces.component.UIComponent;
@@ -24,6 +25,7 @@
import javax.servlet.jsp.tagext.IterationTag;
import org.richfaces.component.UIColumn;
+import org.richfaces.component.html.HtmlColumn;
import org.richfaces.iterator.ForEachIterator;
import org.richfaces.iterator.SimpleForEachIterator;
import org.richfaces.renderkit.CellRenderer;
@@ -339,7 +341,7 @@
for (Field field : fields) {
try {
Object o = field.get(this);
- if ((o != null) && (o instanceof ValueExpression)) {
+ if ((o != null) && o instanceof ValueExpression) {
String fieldName = field.getName();
if (fieldName != null && fieldName.startsWith("_")) {
String attributeName = fieldName.replace("_", "");
@@ -353,6 +355,13 @@
continue;
}
}
+ if (this._filterMethod != null) {
+ MethodInfo info = _filterMethod.getMethodInfo(pageContext.getELContext());
+ MethodExpression mexpr = getFacesContext().getApplication()
+ .getExpressionFactory().createMethodExpression(elContext,
+ _filterMethod.getExpressionString(), info.getReturnType(), info.getParamTypes());
+ ((HtmlColumn)component).setFilterMethod(mexpr);
+ }
}
/**
Show replies by date