Update of /var/cvs/src/org/mmbase/util
In directory james.mmbase.org:/tmp/cvs-serv29588

Modified Files:
        Casting.java 
Log Message:
fixes some failing testcases


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util


Index: Casting.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/Casting.java,v
retrieving revision 1.120
retrieving revision 1.121
diff -u -b -r1.120 -r1.121
--- Casting.java        1 Dec 2008 17:26:21 -0000       1.120
+++ Casting.java        1 Dec 2008 22:52:13 -0000       1.121
@@ -16,7 +16,7 @@
  *
  * @author Michiel Meeuwissen
  * @since  MMBase-1.6
- * @version $Id: Casting.java,v 1.120 2008/12/01 17:26:21 michiel Exp $
+ * @version $Id: Casting.java,v 1.121 2008/12/01 22:52:13 michiel Exp $
  */
 
 import java.util.*;
@@ -938,7 +938,27 @@
         if (i instanceof BigDecimal) {
             return (BigDecimal) i;
         } else if (i instanceof CharSequence) {
+            try {
             return new BigDecimal("" + i).stripTrailingZeros();
+            } catch (NumberFormatException nfe) {
+                if(i instanceof String){
+                    String s = ((String)i).toLowerCase();
+                    if (s.equals("true") || s.equals("yes")) {
+                        return BigDecimal.ONE;
+                    } else if(s.equals("false") || s.equals("no")) {
+                        return BigDecimal.ZERO;
+                    }
+                }
+                return BigDecimal.ONE.negate();
+            }
+        } else if (i instanceof Long) {
+            return new BigDecimal((Long) i);
+        } else if (i instanceof Integer) {
+            return new BigDecimal((Integer) i);
+        } else if (i instanceof Double) {
+            return new BigDecimal((Double) i);
+        } else if (i instanceof Float) {
+            return new BigDecimal((Float) i);
         } else {
             return new BigDecimal(toDouble(i));
         }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to