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

Modified Files:
      Tag: MMBase-1_8
        Casting.java 
Log Message:
don't wrap the number field into a Node, which it does because number field is 
of type NODE (wtf...), but which is very inconvenient


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.89.2.4
retrieving revision 1.89.2.5
diff -u -b -r1.89.2.4 -r1.89.2.5
--- Casting.java        23 Apr 2008 13:23:29 -0000      1.89.2.4
+++ Casting.java        19 Jun 2008 13:00:28 -0000      1.89.2.5
@@ -16,7 +16,7 @@
  *
  * @author Michiel Meeuwissen
  * @since  MMBase-1.6
- * @version $Id: Casting.java,v 1.89.2.4 2008/04/23 13:23:29 michiel Exp $
+ * @version $Id: Casting.java,v 1.89.2.5 2008/06/19 13:00:28 michiel Exp $
  */
 
 import java.util.*;
@@ -294,7 +294,14 @@
                         NodeManager nm = getNodeManager();
                         if (nm.hasField(fieldName)) {
                             switch(nm.getField(fieldName).getType()) {
-                            case org.mmbase.bridge.Field.TYPE_NODE:     return 
wrap(getNodeValue(fieldName), escaper);
+                            case org.mmbase.bridge.Field.TYPE_NODE:
+                                // I don't understand why, but the 'number' 
field is of type NODE,
+                                // which makes no sense whatsoever.
+                                if (! "number".equals(fieldName)) {
+                                    return wrap(getNodeValue(fieldName), 
escaper);
+                                } else {
+                                    return super.getStringValue(fieldName);
+                                }
                             case org.mmbase.bridge.Field.TYPE_DATETIME: return 
wrap(getDateValue(fieldName), escaper);
                             case org.mmbase.bridge.Field.TYPE_XML:      return 
wrap(getXMLValue(fieldName), escaper);
                             default: return escape(escaper, 
super.getStringValue(fieldName));
@@ -323,6 +330,9 @@
         } else if (o instanceof byte[]) {
             return escape(escaper, new String((byte[])o));
         } else if (o instanceof String) {
+            // sad this is that this cannont be unwrapped because string 
cannot be reimplemnented or extended.
+            // But many methods, want a String, not a CharSequence.
+            // 22.
             return escape(escaper, (String) o);
         } else if (o instanceof CharSequence) {
             return new StringWrapper((CharSequence) o, escaper);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to