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 fr...@apache.org on 2018/11/27 17:30:07 UTC

svn commit: r1847568 - in /jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment: file/tooling/ConsistencyChecker.java file/tooling/ConsistencyCheckerTemplate.java tool/Check.java

Author: frm
Date: Tue Nov 27 17:30:07 2018
New Revision: 1847568

URL: http://svn.apache.org/viewvc?rev=1847568&view=rev
Log:
OAK-7918 - Rename ConsistencyCheckerTemplate to ConsistencyChecker

Added:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java
      - copied, changed from r1847567, jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyCheckerTemplate.java
Removed:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyCheckerTemplate.java
Modified:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Check.java

Copied: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java (from r1847567, jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyCheckerTemplate.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java&p1=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyCheckerTemplate.java&r1=1847567&r2=1847568&rev=1847568&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyCheckerTemplate.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java Tue Nov 27 17:30:07 2018
@@ -48,7 +48,7 @@ import org.apache.jackrabbit.oak.spi.sta
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
 
-public abstract class ConsistencyCheckerTemplate {
+public abstract class ConsistencyChecker {
 
     private static NodeState getDescendantOrNull(NodeState root, String path) {
         NodeState descendant = NodeStateUtils.getNode(root, path);

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Check.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Check.java?rev=1847568&r1=1847567&r2=1847568&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Check.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Check.java Tue Nov 27 17:30:07 2018
@@ -41,9 +41,9 @@ import org.apache.jackrabbit.oak.segment
 import org.apache.jackrabbit.oak.segment.file.JournalReader;
 import org.apache.jackrabbit.oak.segment.file.ReadOnlyFileStore;
 import org.apache.jackrabbit.oak.segment.file.tar.LocalJournalFile;
-import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyCheckerTemplate;
-import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyCheckerTemplate.ConsistencyCheckResult;
-import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyCheckerTemplate.Revision;
+import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker;
+import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker.ConsistencyCheckResult;
+import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker.Revision;
 import org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorAdapter;
 
 /**
@@ -310,7 +310,49 @@ public class Check {
     }
 
     private void run(ReadOnlyFileStore store, JournalReader journal) {
-        ConsistencyCheckerTemplate template = new ConsistencyCheckerTemplate() {
+        Set<String> checkpoints = requestedCheckpoints;
+
+        if (requestedCheckpoints.contains("all")) {
+            checkpoints = Sets.newLinkedHashSet(SegmentNodeStoreBuilders.builder(store).build().checkpoints());
+        }
+
+        ConsistencyCheckResult result = newConsistencyChecker().checkConsistency(
+            store,
+            journal,
+            checkHead,
+            checkpoints,
+            filterPaths,
+            checkBinaries
+        );
+
+        print("\nSearched through {0} revisions and {1} checkpoints", result.getCheckedRevisionsCount(), checkpoints.size());
+
+        if (hasAnyRevision(result)) {
+            if (checkHead) {
+                print("\nHead");
+                for (Entry<String, Revision> e : result.getHeadRevisions().entrySet()) {
+                    printRevision(0, e.getKey(), e.getValue());
+                }
+            }
+            if (checkpoints.size() > 0) {
+                print("\nCheckpoints");
+                for (String checkpoint : result.getCheckpointRevisions().keySet()) {
+                    print("- {0}", checkpoint);
+                    for (Entry<String, Revision> e : result.getCheckpointRevisions().get(checkpoint).entrySet()) {
+                        printRevision(2, e.getKey(), e.getValue());
+                    }
+
+                }
+            }
+            print("\nOverall");
+            printOverallRevision(result.getOverallRevision());
+        } else {
+            print("No good revision found");
+        }
+    }
+
+    private ConsistencyChecker newConsistencyChecker() {
+        return new ConsistencyChecker() {
 
             @Override
             protected void onCheckRevision(String revision) {
@@ -391,46 +433,6 @@ public class Check {
             }
 
         };
-
-        Set<String> checkpoints = requestedCheckpoints;
-
-        if (requestedCheckpoints.contains("all")) {
-            checkpoints = Sets.newLinkedHashSet(SegmentNodeStoreBuilders.builder(store).build().checkpoints());
-        }
-
-        ConsistencyCheckResult result = template.checkConsistency(
-            store,
-            journal,
-            checkHead,
-            checkpoints,
-            filterPaths,
-            checkBinaries
-        );
-
-        print("\nSearched through {0} revisions and {1} checkpoints", result.getCheckedRevisionsCount(), checkpoints.size());
-
-        if (hasAnyRevision(result)) {
-            if (checkHead) {
-                print("\nHead");
-                for (Entry<String, Revision> e : result.getHeadRevisions().entrySet()) {
-                    printRevision(0, e.getKey(), e.getValue());
-                }
-            }
-            if (checkpoints.size() > 0) {
-                print("\nCheckpoints");
-                for (String checkpoint : result.getCheckpointRevisions().keySet()) {
-                    print("- {0}", checkpoint);
-                    for (Entry<String, Revision> e : result.getCheckpointRevisions().get(checkpoint).entrySet()) {
-                        printRevision(2, e.getKey(), e.getValue());
-                    }
-
-                }
-            }
-            print("\nOverall");
-            printOverallRevision(result.getOverallRevision());
-        } else {
-            print("No good revision found");
-        }
     }
 
     private void print(String format, Object... arguments) {