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 ch...@apache.org on 2016/06/21 06:21:28 UTC

svn commit: r1749443 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document: AbstractDocumentNodeState.java DocumentNodeState.java secondary/DelegatingDocumentNodeState.java

Author: chetanm
Date: Tue Jun 21 06:21:28 2016
New Revision: 1749443

URL: http://svn.apache.org/viewvc?rev=1749443&view=rev
Log:
OAK-4180 - Use another NodeStore as a local cache for a remote Document store

Refactor to replace instance variable for NodeStateDiffer with abstract getter

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/AbstractDocumentNodeState.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/secondary/DelegatingDocumentNodeState.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/AbstractDocumentNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/AbstractDocumentNodeState.java?rev=1749443&r1=1749442&r2=1749443&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/AbstractDocumentNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/AbstractDocumentNodeState.java Tue Jun 21 06:21:28 2016
@@ -36,11 +36,6 @@ public abstract class AbstractDocumentNo
     private static final PerfLogger perfLogger = new PerfLogger(
             LoggerFactory.getLogger(AbstractDocumentNodeState.class.getName()
                     + ".perf"));
-    protected final NodeStateDiffer differ;
-
-    protected AbstractDocumentNodeState(NodeStateDiffer differ) {
-        this.differ = differ;
-    }
 
     public abstract String getPath();
 
@@ -70,6 +65,8 @@ public abstract class AbstractDocumentNo
 
     public abstract boolean hasNoChildren();
 
+    protected abstract NodeStateDiffer getNodeStateDiffer();
+
     //--------------------------< NodeState >-----------------------------------
 
     @Override
@@ -116,7 +113,7 @@ public abstract class AbstractDocumentNo
                     // use DocumentNodeStore compare
                     final long start = perfLogger.start();
                     try {
-                        return differ.compare(this, mBase, diff);
+                        return getNodeStateDiffer().compare(this, mBase, diff);
                     } finally {
                         if (start > 0) {
                             perfLogger

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java?rev=1749443&r1=1749442&r2=1749443&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java Tue Jun 21 06:21:28 2016
@@ -104,7 +104,6 @@ public class DocumentNodeState extends A
                               @Nullable RevisionVector lastRevision,
                               @Nullable RevisionVector rootRevision,
                               boolean fromExternalChange) {
-        super(store);
         this.store = checkNotNull(store);
         this.path = checkNotNull(path);
         this.readRevision = checkNotNull(readRevision);
@@ -355,6 +354,11 @@ public class DocumentNodeState extends A
     }
 
     @Override
+    protected NodeStateDiffer getNodeStateDiffer() {
+        return store;
+    }
+
+    @Override
     public String toString() {
         StringBuilder buff = new StringBuilder();
         buff.append("{ path: '").append(path).append("', ");

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/secondary/DelegatingDocumentNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/secondary/DelegatingDocumentNodeState.java?rev=1749443&r1=1749442&r2=1749443&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/secondary/DelegatingDocumentNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/secondary/DelegatingDocumentNodeState.java Tue Jun 21 06:21:28 2016
@@ -58,6 +58,7 @@ class DelegatingDocumentNodeState extend
         }
     };
 
+    private final NodeStateDiffer differ;
     private final NodeState delegate;
     private final RevisionVector rootRevision;
     private final boolean fromExternalChange;
@@ -91,7 +92,7 @@ class DelegatingDocumentNodeState extend
 
     private DelegatingDocumentNodeState(NodeState delegate, RevisionVector rootRevision,
                                        boolean fromExternalChange, NodeStateDiffer differ) {
-        super(differ);
+        this.differ = differ;
         this.delegate = delegate;
         this.rootRevision = rootRevision;
         this.fromExternalChange = fromExternalChange;
@@ -99,7 +100,7 @@ class DelegatingDocumentNodeState extend
 
     private DelegatingDocumentNodeState(DelegatingDocumentNodeState original,
                                         RevisionVector rootRevision, boolean fromExternalChange) {
-        super(original.differ);
+        this.differ = original.differ;
         this.delegate = original.delegate;
         this.rootRevision = rootRevision;
         this.fromExternalChange = fromExternalChange;
@@ -159,6 +160,11 @@ class DelegatingDocumentNodeState extend
         return delegate.getChildNodeCount(1) == 0;
     }
 
+    @Override
+    protected NodeStateDiffer getNodeStateDiffer() {
+        return differ;
+    }
+
     //~----------------------------------< NodeState >
 
     @Override