You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2014/02/19 15:34:55 UTC
svn commit: r1569761 - in
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr:
delegate/SessionDelegate.java observation/EventFactory.java
Author: mduerig
Date: Wed Feb 19 14:34:55 2014
New Revision: 1569761
URL: http://svn.apache.org/r1569761
Log:
OAK-1438: Generalise Root.commit(String) to Root.commit(Map)
Pass user data through the info Map instead of the commit message
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/EventFactory.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java?rev=1569761&r1=1569760&r2=1569761&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java Wed Feb 19 14:34:55 2014
@@ -25,6 +25,7 @@ import static org.apache.jackrabbit.oak.
import java.io.IOException;
import java.util.Iterator;
+import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
import javax.annotation.CheckForNull;
@@ -34,6 +35,7 @@ import javax.jcr.PathNotFoundException;
import javax.jcr.RepositoryException;
import javax.jcr.nodetype.ConstraintViolationException;
+import com.google.common.collect.Maps;
import org.apache.jackrabbit.oak.api.AuthInfo;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.ContentSession;
@@ -41,6 +43,7 @@ import org.apache.jackrabbit.oak.api.Que
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.commons.PathUtils;
+import org.apache.jackrabbit.oak.jcr.observation.EventFactory;
import org.apache.jackrabbit.oak.jcr.session.RefreshStrategy;
import org.apache.jackrabbit.oak.jcr.session.SessionStats;
import org.apache.jackrabbit.oak.jcr.session.operation.SessionOperation;
@@ -250,7 +253,9 @@ public class SessionDelegate {
* @throws CommitFailedException if the commit failed
*/
public void commit(Root root) throws CommitFailedException {
- root.commit(userData, "/");
+ Map<String, Object> info = Maps.newHashMap();
+ info.put(EventFactory.USER_DATA, userData);
+ root.commit(info);
}
public void checkProtectedNode(String path) throws RepositoryException {
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/EventFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/EventFactory.java?rev=1569761&r1=1569760&r2=1569761&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/EventFactory.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/EventFactory.java Wed Feb 19 14:34:55 2014
@@ -41,7 +41,8 @@ import com.google.common.collect.Immutab
* the event info maps to as late as possible to avoid the memory overhead
* of keeping track of pre-computed values.
*/
-class EventFactory {
+public class EventFactory {
+ public static final String USER_DATA = "user-data";
private final NamePathMapper mapper;
@@ -53,12 +54,13 @@ class EventFactory {
private final boolean external;
- EventFactory(NamePathMapper mapper, CommitInfo info) {
+ EventFactory(NamePathMapper mapper, CommitInfo commitInfo) {
this.mapper = mapper;
- if (info != null) {
- this.userID = info.getUserId();
- this.userData = info.getMessage();
- this.date = info.getDate();
+ if (commitInfo != null) {
+ this.userID = commitInfo.getUserId();
+ Object userData = commitInfo.getInfo().get(USER_DATA);
+ this.userData = userData instanceof String ? (String) userData : null;
+ this.date = commitInfo.getDate();
this.external = false;
} else {
this.userID = CommitInfo.OAK_UNKNOWN;