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