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/05/29 16:37:00 UTC
svn commit: r1487502 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
Author: mduerig
Date: Wed May 29 14:37:00 2013
New Revision: 1487502
URL: http://svn.apache.org/r1487502
Log:
OAK-781: Clarify / fix effects of MISSING_NODE as base state of NodeBuilder
Transition back to unconnected on reset and connect again if necessary
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.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=1487502&r1=1487501&r2=1487502&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 Wed May 29 14:37:00 2013
@@ -473,7 +473,7 @@ public class MemoryNodeBuilder implement
}
private class ConnectedHead extends Head {
- protected long revision;
+ protected long revision = rootBuilder.baseRevision;
protected MutableNodeState state;
public ConnectedHead(MutableNodeState state) {
@@ -483,11 +483,9 @@ public class MemoryNodeBuilder implement
@Override
public Head update() {
if (revision != rootBuilder.baseRevision) {
- // the root builder's base state has been reset: re-get
- // state from parent.
- MutableNodeState parentState = (MutableNodeState) parent.head().getCurrentNodeState();
- state = parentState.getMutableChildNode(name);
- revision = rootBuilder.baseRevision;
+ // the root builder's base state has been reset: transition back
+ // to unconnected and connect again if necessary.
+ return new UnconnectedHead().update();
}
return this;
}