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