Update of /var/cvs/src/org/mmbase/datatypes
In directory james.mmbase.org:/tmp/cvs-serv2835

Modified Files:
      Tag: MMBase-1_8
        BasicDataType.java 
Log Message:
To fix MMB-1794 correctly, we need to know when which node is commited


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/datatypes
See also: http://www.mmbase.org/jira/browse/MMB-1794


Index: BasicDataType.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/datatypes/BasicDataType.java,v
retrieving revision 1.61.2.12
retrieving revision 1.61.2.13
diff -u -b -r1.61.2.12 -r1.61.2.13
--- BasicDataType.java  23 Mar 2009 16:00:03 -0000      1.61.2.12
+++ BasicDataType.java  23 Mar 2009 17:44:25 -0000      1.61.2.13
@@ -38,7 +38,7 @@
  * @author Pierre van Rooden
  * @author Michiel Meeuwissen
  * @since  MMBase-1.8
- * @version $Id: BasicDataType.java,v 1.61.2.12 2009/03/23 16:00:03 michiel 
Exp $
+ * @version $Id: BasicDataType.java,v 1.61.2.13 2009/03/23 17:44:25 michiel 
Exp $
  */
 
 public class BasicDataType extends AbstractDescriptor implements DataType, 
Cloneable, Comparable, Descriptor {
@@ -1003,8 +1003,16 @@
             case DataType.ENFORCE_ABSOLUTE:
             case DataType.ENFORCE_ALWAYS:   return true;
             case DataType.ENFORCE_ONCHANGE: if (node == null || field == null 
|| node.isChanged(field.getName())) return true;
-            case DataType.ENFORCE_ONCREATE: if (node == null || node.isNew()) 
return true;
-            case DataType.ENFORCE_ONVALIDATE: return true;
+            case DataType.ENFORCE_ONCREATE: return (node == null || 
node.isNew());
+            case DataType.ENFORCE_ONVALIDATE:
+                if (node == null) return true;
+                if (node != null) {
+                    Object committing = 
node.getCloud().getProperty(Node.CLOUD_COMMITNODE_KEY);
+                    if (new Integer(node.getNumber()).equals(committing)) {
+                        return false;
+                    }
+                }
+                return true;
             case DataType.ENFORCE_NEVER:    return false;
             default:                        return true;
             }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to