Author: tomekr
Date: Mon Sep 11 14:37:04 2017
New Revision: 1808033
URL: http://svn.apache.org/viewvc?rev=1808033&view=rev
Log:
OAK-6644: Use ReadOnlyNodeBuilder for the read-only mounts
-fixed the rebase method
Modified:
jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
Modified:
jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java?rev=1808033&r1=1808032&r2=1808033&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
(original)
+++
jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
Mon Sep 11 14:37:04 2017
@@ -210,8 +210,13 @@ public class CompositeNodeStore implemen
Map<MountedNodeStore, NodeState> resultStates = newHashMap();
for (MountedNodeStore mountedNodeStore :
ctx.getAllMountedNodeStores()) {
NodeStore nodeStore = mountedNodeStore.getNodeStore();
- NodeBuilder partialBuilder =
nodeBuilder.getNodeBuilder(mountedNodeStore);
- NodeState result = nodeStore.rebase(partialBuilder);
+ NodeState result;
+ if (mountedNodeStore.getMount().isReadOnly()) {
+ result = nodeStore.getRoot();
+ } else {
+ NodeBuilder partialBuilder =
nodeBuilder.getNodeBuilder(mountedNodeStore);
+ result = nodeStore.rebase(partialBuilder);
+ }
resultStates.put(mountedNodeStore, result);
}
return ctx.createRootNodeState(resultStates);
@@ -224,11 +229,11 @@ public class CompositeNodeStore implemen
CompositeNodeBuilder nodeBuilder = (CompositeNodeBuilder) builder;
Map<MountedNodeStore, NodeState> resultStates = newHashMap();
for (MountedNodeStore mountedNodeStore :
ctx.getAllMountedNodeStores()) {
+ NodeStore nodeStore = mountedNodeStore.getNodeStore();
NodeState result;
if (mountedNodeStore.getMount().isReadOnly()) {
- result = mountedNodeStore.getNodeStore().getRoot();
+ result = nodeStore.getRoot();
} else {
- NodeStore nodeStore = mountedNodeStore.getNodeStore();
NodeBuilder partialBuilder =
nodeBuilder.getNodeBuilder(mountedNodeStore);
result = nodeStore.reset(partialBuilder);
}