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/08/28 13:50:37 UTC

svn commit: r1621124 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java test/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilderTest.java

Author: mduerig
Date: Thu Aug 28 11:50:36 2014
New Revision: 1621124

URL: http://svn.apache.org/r1621124
Log:
OAK-2031: MemoryNodeBuilder#set only works on root builders
Delegate to parent.setChildNode for non root builders

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilderTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java?rev=1621124&r1=1621123&r2=1621124&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java Thu Aug 28 11:50:36 2014
@@ -26,6 +26,12 @@ package org.apache.jackrabbit.oak.plugin
 //                                                                         //
 // WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! //
 
+import static com.google.common.base.Objects.toStringHelper;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
+import static org.apache.jackrabbit.oak.spi.state.AbstractNodeState.checkValidName;
+
 import java.io.IOException;
 import java.io.InputStream;
 
@@ -34,7 +40,6 @@ import javax.annotation.Nonnull;
 
 import com.google.common.base.Objects;
 import com.google.common.io.ByteStreams;
-
 import org.apache.jackrabbit.oak.api.Blob;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
@@ -44,12 +49,6 @@ import org.apache.jackrabbit.oak.spi.sta
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 
-import static com.google.common.base.Objects.toStringHelper;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Preconditions.checkState;
-import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
-import static org.apache.jackrabbit.oak.spi.state.AbstractNodeState.checkValidName;
-
 /**
  * In-memory node state builder.
  * <p>
@@ -246,12 +245,15 @@ public class MemoryNodeBuilder implement
      * Replaces the current state of this builder with the given node state.
      * The base state remains unchanged.
      *
-     * @param newHead new head state
+     * @param newState new state
      */
-    protected void set(NodeState newHead) {
-        checkState(parent == null);
-        // updating the base revision forces all sub-builders to refresh
-        baseRevision = rootHead.setState(newHead);
+    protected void set(NodeState newState) {
+        if (parent == null) {
+            // updating the base revision forces all sub-builders to refresh
+            baseRevision = rootHead.setState(newState);
+        } else {
+            parent.setChildNode(name, newState);
+        }
     }
 
     //--------------------------------------------------------< NodeBuilder >---

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilderTest.java?rev=1621124&r1=1621123&r2=1621124&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilderTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilderTest.java Thu Aug 28 11:50:36 2014
@@ -35,7 +35,6 @@ import org.apache.jackrabbit.oak.spi.sta
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.junit.Assume;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -338,7 +337,6 @@ public class MemoryNodeBuilderTest {
         assertTrue(c.hasProperty("c2"));
     }
 
-    @Ignore("OAK-2031")  // FIXME OAK-2031
     @Test
     public void setTest() {
         Assume.assumeTrue(EMPTY_NODE.builder() instanceof MemoryNodeBuilder);