Update of /var/cvs/src/org/mmbase/datatypes
In directory james.mmbase.org:/tmp/cvs-serv11608

Modified Files:
        NumberDataType.java 
Log Message:
just moved some code a bit around to make Duration compile again


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


Index: NumberDataType.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/datatypes/NumberDataType.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- NumberDataType.java 8 Aug 2008 18:30:52 -0000       1.25
+++ NumberDataType.java 8 Aug 2008 19:08:46 -0000       1.26
@@ -20,7 +20,7 @@
  * A DataType representing some kind of numeric value, like a floating point 
number or an integer number.
  *
  * @author Pierre van Rooden
- * @version $Id: NumberDataType.java,v 1.25 2008/08/08 18:30:52 andre Exp $
+ * @version $Id: NumberDataType.java,v 1.26 2008/08/08 19:08:46 michiel Exp $
  * @since MMBase-1.8
  */
 abstract public class NumberDataType<E extends Number&Comparable<E>> extends 
ComparableDataType<E> {
@@ -33,15 +33,10 @@
         super(name, classType);
     }
 
-    /**
-     * @since MMBase-1.9
-     */
-    protected Object castToValidate(Object value, Node node, Field field) 
throws CastException {
-        if (value == null) return null;
-        Object preCast = preCast(value, node, field); // resolves enumerations
-        //return castString(preCast);
         
-        Locale l = node.getCloud().getLocale();
+    protected Number castString(Object preCast, Cloud cloud) throws 
CastException {
+         if (preCast instanceof String) {
+             Locale l = cloud.getLocale();
         NumberFormat nf = NumberFormat.getNumberInstance(l);
         try {
             return nf.parse((String) preCast);
@@ -49,4 +44,17 @@
             throw new CastException("Not a number: " + preCast);
         }
     }
+         return Casting.toDouble(preCast); // this makes it e.g. possible to 
report that 1e20 is too big for an integer.
+     }
+
+
+
+    /**
+     * @since MMBase-1.9
+     */
+    protected Object castToValidate(Object value, Node node, Field field) 
throws CastException {
+        if (value == null) return null;
+        Object preCast = preCast(value, node, field); // resolves enumerations
+        return castString(preCast, getCloud(node, field));
+    }
 }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to