Update of /var/cvs/applications/richtext/src/org/mmbase/versioning
In directory james.mmbase.org:/tmp/cvs-serv2848/src/org/mmbase/versioning

Modified Files:
        VersioningCommitProcessor.java 
Log Message:
added 'comments' field which stores comments about the change


See also: 
http://cvs.mmbase.org/viewcvs/applications/richtext/src/org/mmbase/versioning


Index: VersioningCommitProcessor.java
===================================================================
RCS file: 
/var/cvs/applications/richtext/src/org/mmbase/versioning/VersioningCommitProcessor.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- VersioningCommitProcessor.java      13 Mar 2008 10:51:50 -0000      1.4
+++ VersioningCommitProcessor.java      17 Mar 2008 10:08:10 -0000      1.5
@@ -2,6 +2,8 @@
 
 import org.mmbase.bridge.*;
 import org.mmbase.datatypes.processors.CommitProcessor;
+
+import org.mmbase.util.Casting;
 import org.mmbase.util.logging.Logger;
 import org.mmbase.util.logging.Logging;
 
@@ -9,7 +11,7 @@
  * This commitprocessor copies on every commit the complete node to a 
'versioning' table.
  * @author Sander de Boer
  * @author Michiel Meeuwissen
- * @version $Id: VersioningCommitProcessor.java,v 1.4 2008/03/13 10:51:50 
michiel Exp $
+ * @version $Id: VersioningCommitProcessor.java,v 1.5 2008/03/17 10:08:10 
michiel Exp $
  * @since
  */
 
@@ -19,8 +21,11 @@
 
     private static final long serialVersionUID = 1L;
 
+    public static final String COMMENTS_PROPERTY = 
"org.mmbase.versioning.comments";
+
     public static final String VERSION_FIELD   = "version";
     public static final String OBJECT_FIELD    = "object";
+    public static final String COMMENTS_FIELD  = "comments";
 
     public void commit(Node node, Field field) {
         if (node.isChanged()) {
@@ -46,14 +51,17 @@
 
             version.setNodeValue(OBJECT_FIELD, node);
             version.setIntValue(VERSION_FIELD, newVersionNo);
-            if (! node.isNew()) {
+
+            version.setStringValue(COMMENTS_FIELD, 
Casting.toString(cloud.getProperty(COMMENTS_PROPERTY)));
+            Object validation = 
version.getCloud().getProperty(Cloud.PROP_IGNOREVALIDATION);
+            version.getCloud().setProperty(Cloud.PROP_IGNOREVALIDATION, 
Boolean.TRUE);
                 // shit..., node fields don't like new nodes.
                 version.commit();
+            version.getCloud().setProperty(Cloud.PROP_IGNOREVALIDATION, 
validation);
                 // could solve it by in this case using the _old values_ of 
the node.
                 // But there are 2 bugs, which make this work around 
non-feasible:
             //  http://www.mmbase.org/jira/browse/MMB-1522.
             //  http://www.mmbase.org/jira/browse/MMB-1621 // This would also 
give a way to get  the 'old values'.
-            }
         } else {
             log.service("Node not changed");
         }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to