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 2013/04/11 18:00:25 UTC

svn commit: r1466934 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak: core/OurChangesRebaseDiff.java spi/state/AbstractRebaseDiff.java spi/state/ConflictAnnotatingRebaseDiff.java

Author: mduerig
Date: Thu Apr 11 16:00:25 2013
New Revision: 1466934

URL: http://svn.apache.org/r1466934
Log:
OAK-709: Consider moving permission evaluation to the node state level
Pass before state to rebase handler where available

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/OurChangesRebaseDiff.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractRebaseDiff.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ConflictAnnotatingRebaseDiff.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/OurChangesRebaseDiff.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/OurChangesRebaseDiff.java?rev=1466934&r1=1466933&r2=1466934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/OurChangesRebaseDiff.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/OurChangesRebaseDiff.java Thu Apr 11 16:00:25 2013
@@ -46,7 +46,7 @@ class OurChangesRebaseDiff extends Abstr
     }
 
     @Override
-    protected void addExistingProperty(NodeBuilder builder, PropertyState after) {
+    protected void addExistingProperty(NodeBuilder builder, PropertyState before, PropertyState after) {
         builder.setProperty(after);
     }
 
@@ -71,7 +71,7 @@ class OurChangesRebaseDiff extends Abstr
     }
 
     @Override
-    protected void addExistingNode(NodeBuilder builder, String name, NodeState after) {
+    protected void addExistingNode(NodeBuilder builder, String name, NodeState before, NodeState after) {
         builder.setNode(name, after);
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractRebaseDiff.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractRebaseDiff.java?rev=1466934&r1=1466933&r2=1466934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractRebaseDiff.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractRebaseDiff.java Thu Apr 11 16:00:25 2013
@@ -83,9 +83,10 @@ public abstract class AbstractRebaseDiff
      * exists already in the trunk.
      *
      * @param builder  parent builder
+     * @param before existing property
      * @param after  added property
      */
-    protected abstract void addExistingProperty(NodeBuilder builder, PropertyState after);
+    protected abstract void addExistingProperty(NodeBuilder builder, PropertyState before, PropertyState after);
 
     /**
      * Called when the property {@code after} was changed on the branch but was
@@ -130,9 +131,10 @@ public abstract class AbstractRebaseDiff
      *
      * @param builder  parent builder
      * @param name  name of the added node
+     * @param before existing node
      * @param after  added added
      */
-    protected abstract void addExistingNode(NodeBuilder builder, String name, NodeState after);
+    protected abstract void addExistingNode(NodeBuilder builder, String name, NodeState before, NodeState after);
 
     /**
      * Called when the node {@code after} was changed on the branch but was
@@ -168,7 +170,7 @@ public abstract class AbstractRebaseDiff
         if (other == null) {
             builder.setProperty(after);
         } else if (!other.equals(after)) {
-            addExistingProperty(builder, after);
+            addExistingProperty(builder, other, after);
         }
     }
 
@@ -199,7 +201,8 @@ public abstract class AbstractRebaseDiff
     @Override
     public void childNodeAdded(String name, NodeState after) {
         if (builder.hasChildNode(name)) {
-            addExistingNode(builder, name, after);
+            NodeState other = builder.child(name).getNodeState();
+            addExistingNode(builder, name, other, after);
         } else {
             builder.setNode(name, after);
         }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ConflictAnnotatingRebaseDiff.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ConflictAnnotatingRebaseDiff.java?rev=1466934&r1=1466933&r2=1466934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ConflictAnnotatingRebaseDiff.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ConflictAnnotatingRebaseDiff.java Thu Apr 11 16:00:25 2013
@@ -47,7 +47,7 @@ public class ConflictAnnotatingRebaseDif
     }
 
     @Override
-    protected void addExistingProperty(NodeBuilder builder, PropertyState after) {
+    protected void addExistingProperty(NodeBuilder builder, PropertyState before, PropertyState after) {
         conflictMarker(builder, ADD_EXISTING_PROPERTY).setProperty(after);
     }
 
@@ -72,7 +72,7 @@ public class ConflictAnnotatingRebaseDif
     }
 
     @Override
-    protected void addExistingNode(NodeBuilder builder, String name, NodeState after) {
+    protected void addExistingNode(NodeBuilder builder, String name, NodeState before, NodeState after) {
         conflictMarker(builder, ADD_EXISTING_NODE).setNode(name, after);
     }