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