Author: michiel
Date: 2009-11-17 12:16:40 +0100 (Tue, 17 Nov 2009)
New Revision: 39732

Modified:
   mmbase/trunk/core/src/main/java/org/mmbase/bridge/util/Queries.java
Log:
sometimes the classcast exception does not make much sense, and can easily be 
avoided

Modified: mmbase/trunk/core/src/main/java/org/mmbase/bridge/util/Queries.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/bridge/util/Queries.java 
2009-11-17 11:14:45 UTC (rev 39731)
+++ mmbase/trunk/core/src/main/java/org/mmbase/bridge/util/Queries.java 
2009-11-17 11:16:40 UTC (rev 39732)
@@ -1266,13 +1266,19 @@
         } else {
             // compare the results
             try {
+                // make sure value and value2 have the same type:
+                value2 = Casting.toType(value.getClass(), value2);
+
                 result = ((Comparable<Object>)value).compareTo(value2);
-                log.debug("" + value + " ~ " + value2 + "  ->" + result);
+
+                if (log.isDebugEnabled()) {
+                    log.debug("" + value + " ~ " + value2 + "  ->" + result);
+                }
             } catch (ClassCastException cce) {
                 // This should not occur, and indicates very odd values are 
being sorted on (i.e. byte arrays).
                 // warn and ignore this sortorder
-                log.warn("Cannot compare values " + value +" and " + value2 + 
" in sortorder field " +
-                         sortOrder.getField().getFieldName() + " in step " + 
sortOrder.getField().getStep().getAlias());
+                log.warn("Cannot compare values " + value.getClass().getName() 
+ " " + value +" and " + value2.getClass() + " " + value2 + " in sortorder 
field " +
+                         sortOrder.getField().getFieldName() + " in step " + 
sortOrder.getField().getStep().getAlias() + ": " + cce.getMessage(), cce);
                 result = 0;
             }
         }

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to