Update of /var/cvs/src/org/mmbase/module/core
In directory james.mmbase.org:/tmp/cvs-serv20082/src/org/mmbase/module/core
Modified Files:
Tag: MMBase-1_8
MMObjectNode.java MMObjectBuilder.java
Log Message:
MMB-1628 Even if using Node#getInputStream the complete blob is readed into
memory first.
Do explicit check on database without loading the binary
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/module/core
See also: http://www.mmbase.org/jira/browse/MMB-1628
Index: MMObjectNode.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/module/core/MMObjectNode.java,v
retrieving revision 1.193.2.10
retrieving revision 1.193.2.11
diff -u -b -r1.193.2.10 -r1.193.2.11
--- MMObjectNode.java 7 Apr 2008 11:29:18 -0000 1.193.2.10
+++ MMObjectNode.java 11 Apr 2008 15:18:30 -0000 1.193.2.11
@@ -38,7 +38,7 @@
* @author Eduard Witteveen
* @author Michiel Meeuwissen
* @author Ernst Bunders
- * @version $Id: MMObjectNode.java,v 1.193.2.10 2008/04/07 11:29:18 michiel
Exp $
+ * @version $Id: MMObjectNode.java,v 1.193.2.11 2008/04/11 15:18:30 nklasens
Exp $
*/
public class MMObjectNode implements org.mmbase.util.SizeMeasurable,
java.io.Serializable {
@@ -746,6 +746,11 @@
if (field != null && field.getType() == Field.TYPE_NODE) {
return getIntValue(fieldName) <= -1;
}
+ Object value = values.get(fieldName);
+ if (VALUE_SHORTED.equals(value)) {
+ // value is not loaded from the database. We have to check the
database to be sure.
+ return parent.isNull(fieldName, this);
+ }
return values.get(fieldName) == null;
} else {
return true;
Index: MMObjectBuilder.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/module/core/MMObjectBuilder.java,v
retrieving revision 1.391.2.14
retrieving revision 1.391.2.15
diff -u -b -r1.391.2.14 -r1.391.2.15
--- MMObjectBuilder.java 19 Nov 2007 15:38:39 -0000 1.391.2.14
+++ MMObjectBuilder.java 11 Apr 2008 15:18:30 -0000 1.391.2.15
@@ -62,7 +62,7 @@
* @author Rob van Maris
* @author Michiel Meeuwissen
* @author Ernst Bunders
- * @version $Id: MMObjectBuilder.java,v 1.391.2.14 2007/11/19 15:38:39 michiel
Exp $
+ * @version $Id: MMObjectBuilder.java,v 1.391.2.15 2008/04/11 15:18:30
nklasens Exp $
*/
public class MMObjectBuilder extends MMTable implements NodeEventListener,
RelationEventListener {
@@ -3081,6 +3081,16 @@
}
}
+ protected boolean isNull(String fieldName, MMObjectNode node) {
+ if (node.getNumber() < 0) return true; // capture calls from temporary
nodes
+ try {
+ return mmb.getStorageManager().isNull(node, getField(fieldName));
+ } catch (StorageException se) {
+ log.error(se.getMessage());
+ log.error(Logging.stackTrace(se));
+ return true;
+ }
+ }
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs