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

Reply via email to