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 2012/04/12 10:54:30 UTC

svn commit: r1325159 - in /jackrabbit/oak/trunk: oak-core/src/main/java/org/apache/jackrabbit/oak/api/ oak-core/src/main/java/org/apache/jackrabbit/oak/core/ oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/

Author: mduerig
Date: Thu Apr 12 08:54:30 2012
New Revision: 1325159

URL: http://svn.apache.org/viewvc?rev=1325159&view=rev
Log:
OAK-18: Define Oak API 
don't implicitly refresh connection on commit

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Connection.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ConnectionImpl.java
    jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Connection.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Connection.java?rev=1325159&r1=1325158&r2=1325159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Connection.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Connection.java Thu Apr 12 08:54:30 2012
@@ -87,14 +87,12 @@ public interface Connection extends Clos
 
     /**
      * Atomically apply all changes in the passed {@code editor} to the underlying
-     * Microkernel. On success this connection is implicitly refreshed to the state
-     * created by applying the editor.
+     * Microkernel.
      *
      * @param editor  editor carrying the changes to be applies
-     * @return  node state resulting from applying the changed
      * @throws CommitFailedException
      */
-    NodeState commit(NodeStateEditor editor) throws CommitFailedException;
+    void commit(NodeStateEditor editor) throws CommitFailedException;
 
     /**
      * Get an node state editor for the given state. Use {@link #commit(NodeStateEditor)}

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ConnectionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ConnectionImpl.java?rev=1325159&r1=1325158&r2=1325159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ConnectionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ConnectionImpl.java Thu Apr 12 08:54:30 2012
@@ -104,9 +104,9 @@ public class ConnectionImpl implements C
     }
 
     @Override
-    public NodeState commit(NodeStateEditor editor) throws CommitFailedException {
+    public void commit(NodeStateEditor editor) throws CommitFailedException {
         try {
-            return root = store.merge(editor, editor.getBaseNodeState());
+            store.merge(editor, editor.getBaseNodeState());
         }
         catch (MicroKernelException e) {
             throw new CommitFailedException(e);

Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java?rev=1325159&r1=1325158&r2=1325159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java Thu Apr 12 08:54:30 2012
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.oak.jcr;
 import org.apache.jackrabbit.commons.AbstractSession;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.Connection;
-import org.apache.jackrabbit.oak.api.NodeState;
 import org.apache.jackrabbit.oak.api.NodeStateEditor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -155,8 +154,9 @@ public class SessionImpl extends Abstrac
     public void save() throws RepositoryException {
         checkIsAlive();
         try {
-            NodeState newState = connection.commit(editor);
-            editor = connection.getNodeStateEditor(newState);
+            connection.commit(editor);
+            connection.refresh();
+            editor = connection.getNodeStateEditor(connection.getCurrentRoot());
             itemStateProvider = new ItemStateProvider(editor.getTransientState());
         } catch (CommitFailedException e) {
             throw new RepositoryException(e);