Update of /var/cvs/applications/dove/src/org/mmbase/applications/dove
In directory james.mmbase.org:/tmp/cvs-serv17947

Modified Files:
      Tag: MMBase-1_8
        Dove.java 
Log Message:
some bugfixing


See also: 
http://cvs.mmbase.org/viewcvs/applications/dove/src/org/mmbase/applications/dove


Index: Dove.java
===================================================================
RCS file: 
/var/cvs/applications/dove/src/org/mmbase/applications/dove/Dove.java,v
retrieving revision 1.78.2.4
retrieving revision 1.78.2.5
diff -u -b -r1.78.2.4 -r1.78.2.5
--- Dove.java   13 Dec 2007 17:23:55 -0000      1.78.2.4
+++ Dove.java   17 Jan 2008 16:49:15 -0000      1.78.2.5
@@ -54,7 +54,7 @@
  *
  * @author Pierre van Rooden
  * @since MMBase-1.5
- * @version $Id: Dove.java,v 1.78.2.4 2007/12/13 17:23:55 michiel Exp $
+ * @version $Id: Dove.java,v 1.78.2.5 2008/01/17 16:49:15 michiel Exp $
  */
 
 public class Dove extends AbstractDove {
@@ -119,6 +119,8 @@
         return isDataField(nodeManager, fname) && ! 
nodeManager.getField(fname).isReadOnly();
     }
 
+
+
     /**
      * @since MMBase-1.8.4
      */
@@ -127,16 +129,16 @@
         DataType dataType = f.getDataType();
         String fname = f.getName();
         if (dataType instanceof BinaryDataType) {
+            log.debug("Adding '" + fname + "'");
             fel = addContentElement(FIELD, "", out);
 
-            int byteLength = 0;
+            long byteLength = 0;
             if (nm.hasField("filesize")) {
                 byteLength = node.getIntValue("filesize");
             } else if (nm.hasField("size")) {
                 byteLength = node.getIntValue("size");
             } else {
-                byte[] bytes = node.getByteValue(fname);
-                byteLength = bytes != null ? bytes.length : 0;
+                byteLength = node.isNull(fname) ? 0L : node.getSize(fname);
             }
             fel.setAttribute(ELM_SIZE, "" + byteLength);
         } else if (dataType instanceof DateTimeDataType ||
@@ -147,6 +149,7 @@
             // have to convert ourselves because bridge will use user-defined 
formatting
             fel = addContentElement(FIELD, node.isNull(fname) ? null : "" + 
node.getLongValue(fname), out);
         } else {
+            log.debug("Adding '" + fname + "' ->" + 
node.getStringValue(fname));
             fel = addContentElement(FIELD, node.isNull(fname) ? null : 
node.getStringValue(fname), out);
         }
         fel.setAttribute(ELM_TYPE, dataType.getBaseTypeIdentifier());
@@ -158,8 +161,13 @@
             ol.setAttribute("name", "_" + node.getNodeManager().getName() + 
"_" + f.getName());
             while (i.hasNext()) {
                 Map.Entry  entry = (Map.Entry) i.next();
-                Element o = addContentElement("option", "" + entry.getKey(), 
ol);
-                o.setAttribute("id", "" + entry.getValue());
+                Object key = entry.getKey();
+                if (dataType instanceof BooleanDataType) { // These damn 
wizards use integer for
+                                                           // booleans. Don't 
ask me why. It's stupid.
+                    key =  "" + Casting.toInt(key);
+                }
+                Element o = addContentElement("option", "" + entry.getValue(), 
ol);
+                o.setAttribute("id", "" + key);
             }
         }
         return fel;
@@ -420,8 +428,8 @@
             Element err = addContentElement(ERROR,"type required for 
getnew",out);
             err.setAttribute(ELM_TYPE, IS_PARSER);
         } else {
-            out.setAttribute(ELM_TYPE,nodemanagername);
-            NodeManager nm =cloud.getNodeManager(nodemanagername);
+            out.setAttribute(ELM_TYPE, nodemanagername);
+            NodeManager nm = cloud.getNodeManager(nodemanagername);
             org.mmbase.bridge.Node n = nm.createNode();
             try {
                 Element data=doc.createElement(OBJECT);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to