[richfaces-svn-commits] JBoss Rich Faces SVN: r6012 - in trunk/framework: impl/src/main/java/org/richfaces/model/impl/expressive and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Mon Feb 11 12:35:42 EST 2008


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;




More information about the richfaces-svn-commits mailing list