Author: konstantin.mishin
Date: 2008-02-11 12:35:41 -0500 (Mon, 11 Feb 2008)
New Revision: 6012
Modified:
trunk/framework/api/src/main/java/org/richfaces/component/Column.java
trunk/framework/impl/src/main/java/org/richfaces/model/impl/expressive/WrappedBeanComparator2.java
Log:
RF-1741
Modified: trunk/framework/api/src/main/java/org/richfaces/component/Column.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/component/Column.java 2008-02-11
17:02:53 UTC (rev 6011)
+++ trunk/framework/api/src/main/java/org/richfaces/component/Column.java 2008-02-11
17:35:41 UTC (rev 6012)
@@ -73,4 +73,8 @@
public abstract void setFilterMethod(MethodExpression methodExpression);
public abstract MethodExpression getFilterMethod();
+
+ public abstract void setFilterValue(String filterValue);
+ public abstract String getFilterValue();
+
}
Modified:
trunk/framework/impl/src/main/java/org/richfaces/model/impl/expressive/WrappedBeanComparator2.java
===================================================================
---
trunk/framework/impl/src/main/java/org/richfaces/model/impl/expressive/WrappedBeanComparator2.java 2008-02-11
17:02:53 UTC (rev 6011)
+++
trunk/framework/impl/src/main/java/org/richfaces/model/impl/expressive/WrappedBeanComparator2.java 2008-02-11
17:35:41 UTC (rev 6012)
@@ -31,7 +31,6 @@
@SuppressWarnings("unchecked")
private int compare(JavaBeanWrapper w1, JavaBeanWrapper w2) {
-
int result = 0;
for (Iterator<SortField2> iterator = sortFields.iterator(); iterator.hasNext()
&& result == 0;) {
@@ -42,8 +41,9 @@
if (ordering != null) {
Object p1 = w1.getProperty(prop);
Object p2 = w2.getProperty(prop);
-
- if (p1 instanceof Comparable && p2 instanceof Comparable) {
+ if (p1 == p2 && p1 instanceof Comparator) {
+ result = ((Comparator<Object>)p1).compare(w1.getWrappedObject(),
w2.getWrappedObject());
+ } else if (p1 instanceof Comparable && p2 instanceof Comparable) {
result = ((Comparable<Object>) p1).compareTo(p2);
} else if (p1 == null && p2 != null) {
result = 1;
Show replies by date