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 2016/06/07 07:32:12 UTC

svn commit: r1747159 [1/2] - in /jackrabbit/oak/trunk: oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/ oak-run/src/main/java/org/apache/jackrabbit/oak/console/ oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/ oak-run/src/main/java/...

Author: mduerig
Date: Tue Jun  7 07:32:11 2016
New Revision: 1747159

URL: http://svn.apache.org/viewvc?rev=1747159&view=rev
Log:
OAK-4277: Finalise de-duplication caches
Promote FileStoreBuilder to top level class

Added:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreBuilder.java
Modified:
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/SegmentTarCheckpoints.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/SegmentTarFixture.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/SegmentTarExplorerBackend.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/SegmentTarFixture.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/tika/SegmentTarUtils.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/FileStoreBackup.java
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/FileStoreRestore.java
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/RevisionHistory.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/backup/FileStoreBackupTest.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ExternalBlobIT.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/HeavyWriteIT.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordTest.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentCompactionIT.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentDataStoreBlobGCIT.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentGraphTest.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentOverflowExceptionIT.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentSizeTest.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/CompactionEstimatorTest.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ExternalBlobReferenceTest.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreIT.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreTest.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/JournalEntryTest.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/LargeNumberOfPropertiesTestIT.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/SegmentReferenceLimitTestIT.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/migration/ExternalToExternalMigrationTest.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/migration/SegmentToExternalMigrationTest.java
    jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentTarFactory.java
    jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/IncludeExcludeSidegradeTest.java
    jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/RepeatedRepositorySidegradeTest.java
    jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/RepeatedRepositoryUpgradeTest.java
    jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/UpgradeFromTwoSourcesTest.java
    jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/UpgradeOldSegmentTest.java
    jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/SegmentTarNodeStoreContainer.java

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/SegmentTarCheckpoints.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/SegmentTarCheckpoints.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/SegmentTarCheckpoints.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/SegmentTarCheckpoints.java Tue Jun  7 07:32:11 2016
@@ -17,6 +17,8 @@
 
 package org.apache.jackrabbit.oak.checkpoint;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
+
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
@@ -32,7 +34,7 @@ import org.apache.jackrabbit.oak.spi.sta
 class SegmentTarCheckpoints extends Checkpoints {
 
     static Checkpoints create(File path, Closer closer) throws IOException {
-        return new SegmentTarCheckpoints(closer.register(FileStore.builder(path).build()));
+        return new SegmentTarCheckpoints(closer.register(fileStoreBuilder(path).build()));
     }
 
     private final FileStore store;

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/SegmentTarFixture.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/SegmentTarFixture.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/SegmentTarFixture.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/SegmentTarFixture.java Tue Jun  7 07:32:11 2016
@@ -17,19 +17,22 @@
 
 package org.apache.jackrabbit.oak.console;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
+
 import java.io.File;
 import java.io.IOException;
 
 import org.apache.jackrabbit.oak.segment.SegmentNodeStore;
 import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
+import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 
 class SegmentTarFixture implements NodeStoreFixture {
 
     static NodeStoreFixture create(File path, boolean readOnly, BlobStore blobStore) throws IOException {
-        FileStore.Builder builder = FileStore.builder(path).withMaxFileSize(256);
+        FileStoreBuilder builder = fileStoreBuilder(path).withMaxFileSize(256);
 
         if (blobStore != null) {
             builder.withBlobStore(blobStore);

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/SegmentTarExplorerBackend.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/SegmentTarExplorerBackend.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/SegmentTarExplorerBackend.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/SegmentTarExplorerBackend.java Tue Jun  7 07:32:11 2016
@@ -21,6 +21,7 @@ import static com.google.common.collect.
 import static com.google.common.collect.Sets.newHashSet;
 import static java.util.Collections.reverseOrder;
 import static java.util.Collections.sort;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 
 import java.io.File;
 import java.io.IOException;
@@ -60,7 +61,7 @@ class SegmentTarExplorerBackend implemen
 
     @Override
     public void open() throws IOException {
-        store = FileStore.builder(path).buildReadOnly();
+        store = fileStoreBuilder(path).buildReadOnly();
         index = store.getTarReaderIndex();
     }
 

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/SegmentTarFixture.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/SegmentTarFixture.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/SegmentTarFixture.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/SegmentTarFixture.java Tue Jun  7 07:32:11 2016
@@ -17,12 +17,15 @@
 
 package org.apache.jackrabbit.oak.fixture;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
+
 import java.io.File;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
+import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 
 class SegmentTarFixture extends OakFixture {
@@ -52,7 +55,7 @@ class SegmentTarFixture extends OakFixtu
 
     @Override
     public Oak getOak(int clusterId) throws Exception {
-        FileStore fs = FileStore.builder(base)
+        FileStore fs = fileStoreBuilder(base)
                 .withMaxFileSize(maxFileSizeMB)
                 .withCacheSize(cacheSizeMB)
                 .withMemoryMapping(memoryMapping)
@@ -75,7 +78,7 @@ class SegmentTarFixture extends OakFixtu
                 blobStore = blobStoreFixtures[i].setUp();
             }
 
-            FileStore.Builder builder = FileStore.builder(new File(base, unique));
+            FileStoreBuilder builder = fileStoreBuilder(new File(base, unique));
             if (blobStore != null) {
                 builder.withBlobStore(blobStore);
             }

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/tika/SegmentTarUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/tika/SegmentTarUtils.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/tika/SegmentTarUtils.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/tika/SegmentTarUtils.java Tue Jun  7 07:32:11 2016
@@ -17,6 +17,8 @@
 
 package org.apache.jackrabbit.oak.plugins.tika;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
+
 import java.io.File;
 import java.io.IOException;
 
@@ -41,7 +43,7 @@ class SegmentTarUtils {
     }
 
     private static FileStore fileStore(String path, BlobStore store) throws IOException {
-        return FileStore.builder(new File(path)).withBlobStore(store).build();
+        return fileStoreBuilder(new File(path)).withBlobStore(store).build();
     }
 
 }

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java Tue Jun  7 07:32:11 2016
@@ -33,6 +33,7 @@ import static org.apache.jackrabbit.oak.
 import static org.apache.jackrabbit.oak.segment.SegmentNodeStateHelper.getTemplateId;
 import static org.apache.jackrabbit.oak.segment.SegmentVersion.LATEST_VERSION;
 import static org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions.DEFAULT;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker.checkConsistency;
 import static org.slf4j.LoggerFactory.getLogger;
 
@@ -87,7 +88,7 @@ import org.apache.jackrabbit.oak.segment
 import org.apache.jackrabbit.oak.segment.SegmentTracker;
 import org.apache.jackrabbit.oak.segment.SegmentVersion;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.apache.jackrabbit.oak.segment.file.FileStore.Builder;
+import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder;
 import org.apache.jackrabbit.oak.segment.file.FileStore.ReadOnlyStore;
 import org.apache.jackrabbit.oak.segment.file.JournalReader;
 import org.apache.jackrabbit.oak.segment.file.tooling.RevisionHistory;
@@ -243,7 +244,7 @@ final class SegmentTarUtils {
     }
 
     private static FileStore bootstrapFileStore(String path) throws IOException {
-        return FileStore.builder(new File(path)).build();
+        return fileStoreBuilder(new File(path)).build();
     }
 
     private static void listRevs(File store, File out) throws IOException {
@@ -301,7 +302,7 @@ final class SegmentTarUtils {
                     + "'.");
             return;
         }
-        ReadOnlyStore store = FileStore.builder(dir).withBlobStore(newBasicReadOnlyBlobStore()).buildReadOnly();
+        ReadOnlyStore store = fileStoreBuilder(dir).withBlobStore(newBasicReadOnlyBlobStore()).buildReadOnly();
         RecordId idL = null;
         RecordId idR = null;
         try {
@@ -632,7 +633,7 @@ final class SegmentTarUtils {
     }
 
     private static FileStore openReadOnlyFileStore(File path, BlobStore blobStore) throws IOException {
-        return FileStore.builder(isValidFileStoreOrFail(path))
+        return fileStoreBuilder(isValidFileStoreOrFail(path))
                 .withCacheSize(TAR_SEGMENT_CACHE_SIZE)
                 .withMemoryMapping(TAR_STORAGE_MEMORY_MAPPED)
                 .withBlobStore(blobStore)
@@ -640,15 +641,15 @@ final class SegmentTarUtils {
     }
 
     private static ReadOnlyStore openReadOnlyFileStore(File path) throws IOException {
-        return FileStore.builder(isValidFileStoreOrFail(path))
+        return fileStoreBuilder(isValidFileStoreOrFail(path))
                 .withCacheSize(TAR_SEGMENT_CACHE_SIZE)
                 .withMemoryMapping(TAR_STORAGE_MEMORY_MAPPED)
                 .buildReadOnly();
     }
 
-    private static Builder newFileStoreBuilder(String directory, boolean force)
+    private static FileStoreBuilder newFileStoreBuilder(String directory, boolean force)
             throws IOException {
-        return FileStore.builder(checkFileStoreVersionOrFail(directory, force))
+        return fileStoreBuilder(checkFileStoreVersionOrFail(directory, force))
                 .withCacheSize(TAR_SEGMENT_CACHE_SIZE)
                 .withMemoryMapping(TAR_STORAGE_MEMORY_MAPPED);
     }

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/FileStoreBackup.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/FileStoreBackup.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/FileStoreBackup.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/FileStoreBackup.java Tue Jun  7 07:32:11 2016
@@ -20,6 +20,7 @@
 package org.apache.jackrabbit.oak.backup;
 
 import static com.google.common.base.Preconditions.checkArgument;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 
 import java.io.File;
 import java.io.IOException;
@@ -27,7 +28,7 @@ import java.io.IOException;
 import com.google.common.base.Stopwatch;
 import org.apache.jackrabbit.oak.segment.SegmentNodeStore;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.apache.jackrabbit.oak.segment.file.FileStore.Builder;
+import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder;
 import org.apache.jackrabbit.oak.segment.file.tooling.BasicReadOnlyBlobStore;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
@@ -46,7 +47,7 @@ public class FileStoreBackup {
         checkArgument(store instanceof SegmentNodeStore);
         Stopwatch watch = Stopwatch.createStarted();
         NodeState current = ((SegmentNodeStore) store).getSuperRoot();
-        Builder builder = FileStore.builder(destination)
+        FileStoreBuilder builder = fileStoreBuilder(destination)
                 .withDefaultMemoryMapping();
         if (USE_FAKE_BLOBSTORE) {
             builder.withBlobStore(new BasicReadOnlyBlobStore());

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/FileStoreRestore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/FileStoreRestore.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/FileStoreRestore.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/FileStoreRestore.java Tue Jun  7 07:32:11 2016
@@ -19,6 +19,8 @@
 
 package org.apache.jackrabbit.oak.backup;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
+
 import java.io.File;
 import java.io.IOException;
 
@@ -44,10 +46,10 @@ public class FileStoreRestore {
                     + " is not a valid FileStore directory");
         }
 
-        FileStore restore = FileStore.builder(source).buildReadOnly();
+        FileStore restore = fileStoreBuilder(source).buildReadOnly();
         Stopwatch watch = Stopwatch.createStarted();
 
-        FileStore store = FileStore.builder(destination).build();
+        FileStore store = fileStoreBuilder(destination).build();
         // FIXME OAK-4278: Fix backup and restore
 //        SegmentNodeState current = store.getRevisions().getHead();
         try {

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java Tue Jun  7 07:32:11 2016
@@ -29,6 +29,7 @@ import static org.apache.jackrabbit.oak.
 import static org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions.MEMORY_THRESHOLD_DEFAULT;
 import static org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions.PAUSE_DEFAULT;
 import static org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions.RETRY_COUNT_DEFAULT;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.apache.jackrabbit.oak.spi.blob.osgi.SplitBlobStoreService.ONLY_STANDALONE_TARGET;
 import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean;
 import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.scheduleWithFixedDelay;
@@ -69,7 +70,7 @@ import org.apache.jackrabbit.oak.segment
 import org.apache.jackrabbit.oak.segment.compaction.SegmentRevisionGC;
 import org.apache.jackrabbit.oak.segment.compaction.SegmentRevisionGCMBean;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.apache.jackrabbit.oak.segment.file.FileStore.Builder;
+import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder;
 import org.apache.jackrabbit.oak.segment.file.FileStoreGCMonitor;
 import org.apache.jackrabbit.oak.segment.file.FileStoreStatsMBean;
 import org.apache.jackrabbit.oak.segment.file.GCMonitorMBean;
@@ -333,7 +334,7 @@ public class SegmentNodeStoreService ext
         SegmentGCOptions gcOptions = newGCOptions();
 
         // Build the FileStore
-        Builder builder = FileStore.builder(getDirectory())
+        FileStoreBuilder builder = fileStoreBuilder(getDirectory())
                 .withCacheSize(getCacheSize())
                 .withMaxFileSize(getMaxFileSize())
                 .withMemoryMapping(getMode().equals("64"))

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java Tue Jun  7 07:32:11 2016
@@ -30,7 +30,6 @@ import static java.lang.String.format;
 import static java.lang.Thread.currentThread;
 import static java.nio.ByteBuffer.wrap;
 import static java.util.Collections.emptyMap;
-import static java.util.Collections.singleton;
 import static java.util.Collections.singletonMap;
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import static java.util.concurrent.TimeUnit.MINUTES;
@@ -93,14 +92,10 @@ import org.apache.jackrabbit.oak.segment
 import org.apache.jackrabbit.oak.segment.SegmentVersion;
 import org.apache.jackrabbit.oak.segment.SegmentWriter;
 import org.apache.jackrabbit.oak.segment.WriterCacheManager;
-import org.apache.jackrabbit.oak.segment.compaction.LoggingGCMonitor;
 import org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
-import org.apache.jackrabbit.oak.spi.gc.DelegatingGCMonitor;
 import org.apache.jackrabbit.oak.spi.gc.GCMonitor;
-import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.stats.StatisticsProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -226,217 +221,17 @@ public class FileStore implements Segmen
     @Nonnull
     private final SegmentCache segmentCache;
 
-    /**
-     * Create a new instance of a {@link Builder} for a file store.
-     * @param directory  directory where the tar files are stored
-     * @return a new {@link Builder} instance.
-     */
-    @Nonnull
-    public static Builder builder(@Nonnull File directory) {
-        return new Builder(checkNotNull(directory));
-    }
-
-    /**
-     * Builder for creating {@link FileStore} instances.
-     */
-    public static class Builder {
-
-        private final File directory;
-
-        private BlobStore blobStore;   // null ->  store blobs inline
-
-        private int maxFileSize = 256;
-
-        private int cacheSize;   // 0 -> DEFAULT_MEMORY_CACHE_SIZE
-
-        private boolean memoryMapping;
-
-        private final DelegatingGCMonitor gcMonitor = new DelegatingGCMonitor(
-                singleton(new LoggingGCMonitor(log)));
-
-        private StatisticsProvider statsProvider = StatisticsProvider.NOOP;
-
-        private SegmentVersion version = SegmentVersion.LATEST_VERSION;
-
-        private SegmentGCOptions gcOptions = SegmentGCOptions.DEFAULT;
-
-        private Builder(File directory) {
-            this.directory = directory;
-        }
-
-        private TarRevisions revisions;
-
-        /**
-         * Specify the {@link BlobStore}.
-         * @param blobStore
-         * @return this instance
-         */
-        @Nonnull
-        public Builder withBlobStore(@Nonnull BlobStore blobStore) {
-            this.blobStore = checkNotNull(blobStore);
-            return this;
-        }
-
-        /**
-         * Maximal size of the generated tar files in MB.
-         * @param maxFileSize
-         * @return this instance
-         */
-        @Nonnull
-        public Builder withMaxFileSize(int maxFileSize) {
-            this.maxFileSize = maxFileSize;
-            return this;
-        }
-
-        /**
-         * Size of the cache in MB.
-         * @param cacheSize
-         * @return this instance
-         */
-        @Nonnull
-        public Builder withCacheSize(int cacheSize) {
-            this.cacheSize = cacheSize;
-            return this;
-        }
-
-        /**
-         * Turn caching off
-         * @return this instance
-         */
-        @Nonnull
-        public Builder withNoCache() {
-            this.cacheSize = -1;
-            return this;
-        }
-
-        /**
-         * Turn memory mapping on or off
-         * @param memoryMapping
-         * @return this instance
-         */
-        @Nonnull
-        public Builder withMemoryMapping(boolean memoryMapping) {
-            this.memoryMapping = memoryMapping;
-            return this;
-        }
-
-        /**
-         * Set memory mapping to the default value based on OS properties
-         * @return this instance
-         */
-        @Nonnull
-        public Builder withDefaultMemoryMapping() {
-            this.memoryMapping = MEMORY_MAPPING_DEFAULT;
-            return this;
-        }
-
-        /**
-         * {@link GCMonitor} for monitoring this files store's gc process.
-         * @param gcMonitor
-         * @return this instance
-         */
-        @Nonnull
-        public Builder withGCMonitor(@Nonnull GCMonitor gcMonitor) {
-            this.gcMonitor.registerGCMonitor(checkNotNull(gcMonitor));
-            return this;
-        }
-
-        /**
-         * {@link StatisticsProvider} for collecting statistics related to FileStore
-         * @param statisticsProvider
-         * @return this instance
-         */
-        @Nonnull
-        public Builder withStatisticsProvider(@Nonnull StatisticsProvider statisticsProvider) {
-            this.statsProvider = checkNotNull(statisticsProvider);
-            return this;
-        }
-
-        /**
-         * {@link SegmentVersion} the segment version of the store
-         * @param version
-         * @return this instance
-         */
-        @Nonnull
-        public Builder withSegmentVersion(SegmentVersion version) {
-            this.version = checkNotNull(version);
-            return this;
-        }
-
-        @Nonnull
-        public Builder withGCOptions(SegmentGCOptions gcOptions) {
-            this.gcOptions = checkNotNull(gcOptions);
-            return this;
-        }
-
-        /**
-         * Create a new {@link FileStore} instance with the settings specified in this
-         * builder. If none of the {@code with} methods have been called before calling
-         * this method, a file store with the following default settings is returned:
-         * <ul>
-         * <li>blob store: inline</li>
-         * <li>root: empty node</li>
-         * <li>max file size: 256MB</li>
-         * <li>cache size: 256MB</li>
-         * <li>memory mapping: on for 64 bit JVMs off otherwise</li>
-         * <li>whiteboard: none. No {@link GCMonitor} tracking</li>
-         * <li>statsProvider: StatisticsProvider.NOOP</li>
-         * </ul>
-         *
-         * @return a new file store instance
-         * @throws IOException
-         */
-        @Nonnull
-        public FileStore build() throws IOException {
-            directory.mkdir();
-            revisions = new TarRevisions(false, directory);
-            FileStore store = new FileStore(this, false);
-            revisions.bind(store, store.getTracker(), initialNode(store));
-            return store;
-        }
-
-        @Nonnull
-        public ReadOnlyStore buildReadOnly() throws IOException {
-            checkState(directory.exists() && directory.isDirectory());
-            revisions = new TarRevisions(true, directory);
-            ReadOnlyStore store = new ReadOnlyStore(this);
-            revisions.bind(store, store.getTracker(), initialNode(store));
-            return store;
-        }
-
-        @Nonnull
-        private static Supplier<RecordId> initialNode(final FileStore store) {
-            return new Supplier<RecordId>() {
-                @Override
-                public RecordId get() {
-                    try {
-                        SegmentWriter writer = segmentWriterBuilder("init").build(store);
-                        NodeBuilder builder = EMPTY_NODE.builder();
-                        builder.setChildNode("root", EMPTY_NODE);
-                        SegmentNodeState node = writer.writeNode(builder.getNodeState());
-                        writer.flush();
-                        return node.getRecordId();
-                    } catch (IOException e) {
-                        String msg = "Failed to write initial node";
-                        log.error(msg, e);
-                        throw new IllegalStateException(msg, e);
-                    }
-                }
-            };
-        }
-    }
-
-    private FileStore(Builder builder, boolean readOnly) throws IOException {
-        this.version = builder.version;
+    FileStore(FileStoreBuilder builder, boolean readOnly) throws IOException {
+        this.version = builder.getVersion();
         this.tracker = new SegmentTracker(this);
-        this.revisions = builder.revisions;
-        this.blobStore = builder.blobStore;
+        this.revisions = builder.getRevisions();
+        this.blobStore = builder.getBlobStore();
 
         // FIXME OAK-4373 refactor cache size configurations
-        if (builder.cacheSize < 0) {
+        if (builder.getCacheSize() < 0) {
             this.segmentCache = new SegmentCache(0);
-        } else if (builder.cacheSize > 0) {
-            this.segmentCache = new SegmentCache(builder.cacheSize);
+        } else if (builder.getCacheSize() > 0) {
+            this.segmentCache = new SegmentCache(builder.getCacheSize());
         } else {
             this.segmentCache = new SegmentCache(DEFAULT_STRING_CACHE_MB);
         }
@@ -446,10 +241,10 @@ public class FileStore implements Segmen
                 return getWriter();
             }
         };
-        if (builder.cacheSize < 0) {
+        if (builder.getCacheSize() < 0) {
             this.segmentReader = new CachingSegmentReader(getWriter, revisions, blobStore, 0);
-        } else if (builder.cacheSize > 0) {
-            this.segmentReader = new CachingSegmentReader(getWriter, revisions, blobStore, (long) builder.cacheSize);
+        } else if (builder.getCacheSize() > 0) {
+            this.segmentReader = new CachingSegmentReader(getWriter, revisions, blobStore, (long) builder.getCacheSize());
         } else {
             this.segmentReader = new CachingSegmentReader(getWriter, revisions, blobStore, (long) DEFAULT_STRING_CACHE_MB);
         }
@@ -465,11 +260,11 @@ public class FileStore implements Segmen
                 .withGeneration(getGeneration)
                 .withWriterPool()
                 .build(this);
-        this.directory = builder.directory;
-        this.maxFileSize = builder.maxFileSize * MB;
-        this.memoryMapping = builder.memoryMapping;
-        this.gcMonitor = builder.gcMonitor;
-        this.gcOptions = builder.gcOptions;
+        this.directory = builder.getDirectory();
+        this.maxFileSize = builder.getMaxFileSize() * MB;
+        this.memoryMapping = builder.getMemoryMapping();
+        this.gcMonitor = builder.getGcMonitor();
+        this.gcOptions = builder.getGcOptions();
 
         Map<Integer, Map<Character, File>> map = collectFiles(directory);
         this.readers = newArrayListWithCapacity(map.size());
@@ -489,7 +284,7 @@ public class FileStore implements Segmen
 
         long initialSize = size();
         this.approximateSize = new AtomicLong(initialSize);
-        this.stats = new FileStoreStats(builder.statsProvider, this, initialSize);
+        this.stats = new FileStoreStats(builder.getStatsProvider(), this, initialSize);
 
         if (!readOnly) {
             if (indices.length > 0) {
@@ -1514,7 +1309,7 @@ public class FileStore implements Segmen
      */
     public static class ReadOnlyStore extends FileStore {
 
-        private ReadOnlyStore(Builder builder) throws IOException {
+        ReadOnlyStore(FileStoreBuilder builder) throws IOException {
             super(builder, true);
         }
 

Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreBuilder.java?rev=1747159&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreBuilder.java (added)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreBuilder.java Tue Jun  7 07:32:11 2016
@@ -0,0 +1,304 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.jackrabbit.oak.segment.file;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+import static java.util.Collections.singleton;
+import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
+import static org.apache.jackrabbit.oak.segment.SegmentWriterBuilder.segmentWriterBuilder;
+
+import java.io.File;
+import java.io.IOException;
+
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
+
+import com.google.common.base.Supplier;
+import org.apache.jackrabbit.oak.segment.RecordId;
+import org.apache.jackrabbit.oak.segment.SegmentNodeState;
+import org.apache.jackrabbit.oak.segment.SegmentVersion;
+import org.apache.jackrabbit.oak.segment.SegmentWriter;
+import org.apache.jackrabbit.oak.segment.compaction.LoggingGCMonitor;
+import org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions;
+import org.apache.jackrabbit.oak.segment.file.FileStore.ReadOnlyStore;
+import org.apache.jackrabbit.oak.spi.blob.BlobStore;
+import org.apache.jackrabbit.oak.spi.gc.DelegatingGCMonitor;
+import org.apache.jackrabbit.oak.spi.gc.GCMonitor;
+import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Builder for creating {@link FileStore} instances.
+ */
+public class FileStoreBuilder {
+    private static final Logger LOG = LoggerFactory.getLogger(FileStore.class);
+
+    @Nonnull
+    private final File directory;
+
+    @CheckForNull
+    private BlobStore blobStore;   // null ->  store blobs inline
+
+    private int maxFileSize = 256;
+
+    private int cacheSize;   // 0 -> DEFAULT_MEMORY_CACHE_SIZE
+
+    private boolean memoryMapping;
+
+    @Nonnull
+    private final DelegatingGCMonitor gcMonitor = new DelegatingGCMonitor(
+            singleton(new LoggingGCMonitor(LOG)));
+
+    @Nonnull
+    private StatisticsProvider statsProvider = StatisticsProvider.NOOP;
+
+    @Nonnull
+    private SegmentVersion version = SegmentVersion.LATEST_VERSION;
+
+    @Nonnull
+    private SegmentGCOptions gcOptions = SegmentGCOptions.DEFAULT;
+
+    @CheckForNull
+    private TarRevisions revisions;
+
+    /**
+     * Create a new instance of a {@code FileStoreBuilder} for a file store.
+     * @param directory  directory where the tar files are stored
+     * @return a new {@code FileStoreBuilder} instance.
+     */
+    @Nonnull
+    public static FileStoreBuilder fileStoreBuilder(@Nonnull File directory) {
+        return new FileStoreBuilder(directory);
+    }
+
+    private FileStoreBuilder(@Nonnull File directory) {
+        this.directory = checkNotNull(directory);
+    }
+
+    /**
+     * Specify the {@link BlobStore}.
+     * @param blobStore
+     * @return this instance
+     */
+    @Nonnull
+    public FileStoreBuilder withBlobStore(@Nonnull BlobStore blobStore) {
+        this.blobStore = checkNotNull(blobStore);
+        return this;
+    }
+
+    /**
+     * Maximal size of the generated tar files in MB.
+     * @param maxFileSize
+     * @return this instance
+     */
+    @Nonnull
+    public FileStoreBuilder withMaxFileSize(int maxFileSize) {
+        this.maxFileSize = maxFileSize;
+        return this;
+    }
+
+    /**
+     * Size of the cache in MB.
+     * @param cacheSize
+     * @return this instance
+     */
+    @Nonnull
+    public FileStoreBuilder withCacheSize(int cacheSize) {
+        this.cacheSize = cacheSize;
+        return this;
+    }
+
+    /**
+     * Turn caching off
+     * @return this instance
+     */
+    @Nonnull
+    public FileStoreBuilder withNoCache() {
+        this.cacheSize = -1;
+        return this;
+    }
+
+    /**
+     * Turn memory mapping on or off
+     * @param memoryMapping
+     * @return this instance
+     */
+    @Nonnull
+    public FileStoreBuilder withMemoryMapping(boolean memoryMapping) {
+        this.memoryMapping = memoryMapping;
+        return this;
+    }
+
+    /**
+     * Set memory mapping to the default value based on OS properties
+     * @return this instance
+     */
+    @Nonnull
+    public FileStoreBuilder withDefaultMemoryMapping() {
+        this.memoryMapping = FileStore.MEMORY_MAPPING_DEFAULT;
+        return this;
+    }
+
+    /**
+     * {@link GCMonitor} for monitoring this files store's gc process.
+     * @param gcMonitor
+     * @return this instance
+     */
+    @Nonnull
+    public FileStoreBuilder withGCMonitor(@Nonnull GCMonitor gcMonitor) {
+        this.gcMonitor.registerGCMonitor(checkNotNull(gcMonitor));
+        return this;
+    }
+
+    /**
+     * {@link StatisticsProvider} for collecting statistics related to FileStore
+     * @param statisticsProvider
+     * @return this instance
+     */
+    @Nonnull
+    public FileStoreBuilder withStatisticsProvider(@Nonnull StatisticsProvider statisticsProvider) {
+        this.statsProvider = checkNotNull(statisticsProvider);
+        return this;
+    }
+
+    /**
+     * {@link SegmentVersion} the segment version of the store
+     * @param version
+     * @return this instance
+     */
+    @Nonnull
+    public FileStoreBuilder withSegmentVersion(SegmentVersion version) {
+        this.version = checkNotNull(version);
+        return this;
+    }
+
+    @Nonnull
+    public FileStoreBuilder withGCOptions(SegmentGCOptions gcOptions) {
+        this.gcOptions = checkNotNull(gcOptions);
+        return this;
+    }
+
+    /**
+     * Create a new {@link FileStore} instance with the settings specified in this
+     * builder. If none of the {@code with} methods have been called before calling
+     * this method, a file store with the following default settings is returned:
+     * <ul>
+     * <li>blob store: inline</li>
+     * <li>root: empty node</li>
+     * <li>max file size: 256MB</li>
+     * <li>cache size: 256MB</li>
+     * <li>memory mapping: on for 64 bit JVMs off otherwise</li>
+     * <li>whiteboard: none. No {@link GCMonitor} tracking</li>
+     * <li>statsProvider: StatisticsProvider.NOOP</li>
+     * </ul>
+     *
+     * @return a new file store instance
+     * @throws IOException
+     */
+    @Nonnull
+    public FileStore build() throws IOException {
+        directory.mkdir();
+        revisions = new TarRevisions(false, directory);
+        FileStore store = new FileStore(this, false);
+        revisions.bind(store, store.getTracker(), initialNode(store));
+        return store;
+    }
+
+    @Nonnull
+    public ReadOnlyStore buildReadOnly() throws IOException {
+        checkState(directory.exists() && directory.isDirectory());
+        revisions = new TarRevisions(true, directory);
+        ReadOnlyStore store = new ReadOnlyStore(this);
+        revisions.bind(store, store.getTracker(), initialNode(store));
+        return store;
+    }
+
+    @Nonnull
+    private static Supplier<RecordId> initialNode(final FileStore store) {
+        return new Supplier<RecordId>() {
+            @Override
+            public RecordId get() {
+                try {
+                    SegmentWriter writer = segmentWriterBuilder("init").build(store);
+                    NodeBuilder builder = EMPTY_NODE.builder();
+                    builder.setChildNode("root", EMPTY_NODE);
+                    SegmentNodeState node = writer.writeNode(builder.getNodeState());
+                    writer.flush();
+                    return node.getRecordId();
+                } catch (IOException e) {
+                    String msg = "Failed to write initial node";
+                    LOG.error(msg, e);
+                    throw new IllegalStateException(msg, e);
+                }
+            }
+        };
+    }
+
+    @Nonnull
+    File getDirectory() {
+        return directory;
+    }
+
+    @CheckForNull
+    BlobStore getBlobStore() {
+        return blobStore;
+    }
+
+    public int getMaxFileSize() {
+        return maxFileSize;
+    }
+
+    int getCacheSize() {
+        return cacheSize;
+    }
+
+    boolean getMemoryMapping() {
+        return memoryMapping;
+    }
+
+    @Nonnull
+    DelegatingGCMonitor getGcMonitor() {
+        return gcMonitor;
+    }
+
+    @Nonnull
+    StatisticsProvider getStatsProvider() {
+        return statsProvider;
+    }
+
+    @Nonnull
+    SegmentVersion getVersion() {
+        return version;
+    }
+
+    @Nonnull
+    SegmentGCOptions getGcOptions() {
+        return gcOptions;
+    }
+
+    @Nonnull
+    TarRevisions getRevisions() {
+        checkState(revisions != null, "File store not yet built");
+        return revisions;
+    }
+}

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.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?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java Tue Jun  7 07:32:11 2016
@@ -27,6 +27,7 @@ import static org.apache.jackrabbit.oak.
 import static org.apache.jackrabbit.oak.commons.PathUtils.denotesRoot;
 import static org.apache.jackrabbit.oak.commons.PathUtils.getName;
 import static org.apache.jackrabbit.oak.commons.PathUtils.getParentPath;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.apache.jackrabbit.oak.spi.state.NodeStateUtils.getNode;
 
 import java.io.File;
@@ -118,7 +119,7 @@ public class ConsistencyChecker {
      */
     public ConsistencyChecker(File directory, long debugInterval)
             throws IOException {
-        store = FileStore.builder(directory).buildReadOnly();
+        store = fileStoreBuilder(directory).buildReadOnly();
         this.debugInterval = debugInterval;
     }
 

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/RevisionHistory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/RevisionHistory.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/RevisionHistory.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/RevisionHistory.java Tue Jun  7 07:32:11 2016
@@ -23,6 +23,7 @@ import static com.google.common.base.Pre
 import static com.google.common.collect.Iterables.transform;
 import static org.apache.jackrabbit.oak.commons.PathUtils.elements;
 import static org.apache.jackrabbit.oak.json.JsonSerializer.DEFAULT_FILTER_EXPRESSION;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 
 import java.io.File;
 import java.io.IOException;
@@ -53,7 +54,7 @@ public class RevisionHistory {
      * @throws IOException
      */
     public RevisionHistory(@Nonnull File directory) throws IOException {
-        this.store = FileStore.builder(checkNotNull(directory)).buildReadOnly();
+        this.store = fileStoreBuilder(checkNotNull(directory)).buildReadOnly();
     }
 
     private static NodeState getNode(SegmentNodeState root, String path) {

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/backup/FileStoreBackupTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/backup/FileStoreBackupTest.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/backup/FileStoreBackupTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/backup/FileStoreBackupTest.java Tue Jun  7 07:32:11 2016
@@ -19,6 +19,7 @@
 
 package org.apache.jackrabbit.oak.backup;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
 
 import java.io.ByteArrayInputStream;
@@ -61,7 +62,7 @@ public class FileStoreBackupTest {
 
     @Test
     public void testBackup() throws Exception {
-        FileStore source = FileStore.builder(src).withMaxFileSize(8).build();
+        FileStore source = fileStoreBuilder(src).withMaxFileSize(8).build();
 
         NodeStore store = SegmentNodeStoreBuilders.builder(source).build();
         init(store);
@@ -80,7 +81,7 @@ public class FileStoreBackupTest {
 
     @Test
     public void testRestore() throws Exception {
-        FileStore source = FileStore.builder(src).withMaxFileSize(8).build();
+        FileStore source = fileStoreBuilder(src).withMaxFileSize(8).build();
 
         NodeStore store = SegmentNodeStoreBuilders.builder(source).build();
         init(store);
@@ -90,7 +91,7 @@ public class FileStoreBackupTest {
 
         FileStoreRestore.restore(destination, src);
 
-        source = FileStore.builder(src).withMaxFileSize(8).build();
+        source = fileStoreBuilder(src).withMaxFileSize(8).build();
         compare(source, destination);
         source.close();
     }
@@ -114,7 +115,7 @@ public class FileStoreBackupTest {
 
     private static void compare(FileStore store, File destination)
             throws IOException {
-        FileStore backup = FileStore.builder(destination).withMaxFileSize(8).build();
+        FileStore backup = fileStoreBuilder(destination).withMaxFileSize(8).build();
         assertEquals(store.getRevisions().getHead(), backup.getRevisions().getHead());
         backup.close();
     }

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java Tue Jun  7 07:32:11 2016
@@ -29,6 +29,7 @@ import static org.apache.jackrabbit.oak.
 import static org.apache.jackrabbit.oak.commons.FixturesHelper.getFixtures;
 import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
 import static org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions.DEFAULT;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -87,7 +88,7 @@ public class CompactionAndCleanupIT {
     @Test
     public void compactionNoBinaryClone()
     throws IOException, CommitFailedException {
-        FileStore fileStore = FileStore.builder(getFileStoreFolder())
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder())
                 .withGCOptions(DEFAULT.setRetainedGenerations(2))
                 .withMaxFileSize(1)
                 .build();
@@ -173,7 +174,7 @@ public class CompactionAndCleanupIT {
     public void offlineCompaction()
     throws IOException, CommitFailedException {
         SegmentGCOptions gcOptions = DEFAULT.setOffline();
-        FileStore fileStore = FileStore.builder(getFileStoreFolder())
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder())
                 .withMaxFileSize(1)
                 .withGCOptions(gcOptions)
                 .build();
@@ -264,7 +265,7 @@ public class CompactionAndCleanupIT {
     public void offlineCompactionCps() throws IOException,
             CommitFailedException {
         SegmentGCOptions gcOptions = DEFAULT.setOffline();
-        FileStore fileStore = FileStore.builder(getFileStoreFolder())
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder())
                 .withMaxFileSize(1)
                 .withGCOptions(gcOptions)
                 .build();
@@ -316,7 +317,7 @@ public class CompactionAndCleanupIT {
             CommitFailedException {
         SegmentGCOptions gcOptions = DEFAULT.setOffline()
                 .withBinaryDeduplication();
-        FileStore fileStore = FileStore.builder(getFileStoreFolder())
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder())
                 .withMaxFileSize(1).withGCOptions(gcOptions).build();
         SegmentNodeStore nodeStore = SegmentNodeStoreBuilders
                 .builder(fileStore).build();
@@ -371,7 +372,7 @@ public class CompactionAndCleanupIT {
         SegmentGCOptions gcOptions = DEFAULT.setOffline()
                 .withBinaryDeduplication()
                 .setBinaryDeduplicationMaxSize(blobSize / 2);
-        FileStore fileStore = FileStore.builder(getFileStoreFolder())
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder())
                 .withMaxFileSize(1).withGCOptions(gcOptions).build();
         SegmentNodeStore nodeStore = SegmentNodeStoreBuilders
                 .builder(fileStore).build();
@@ -424,7 +425,7 @@ public class CompactionAndCleanupIT {
     public void offlineCompactionBinR1() throws IOException,
             CommitFailedException {
         SegmentGCOptions gcOptions = DEFAULT.setOffline();
-        FileStore fileStore = FileStore.builder(getFileStoreFolder())
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder())
                 .withMaxFileSize(1).withGCOptions(gcOptions).build();
         SegmentNodeStore nodeStore = SegmentNodeStoreBuilders
                 .builder(fileStore).build();
@@ -486,7 +487,7 @@ public class CompactionAndCleanupIT {
     @Test
     public void testCancelCompaction()
     throws Throwable {
-        final FileStore fileStore = FileStore.builder(getFileStoreFolder())
+        final FileStore fileStore = fileStoreBuilder(getFileStoreFolder())
                 .withGCOptions(DEFAULT.setRetainedGenerations(2))
                 .withMaxFileSize(1)
                 .build();
@@ -539,7 +540,7 @@ public class CompactionAndCleanupIT {
      */
     @Test
     public void testMixedSegments() throws Exception {
-        FileStore store = FileStore.builder(getFileStoreFolder())
+        FileStore store = fileStoreBuilder(getFileStoreFolder())
                 .withMaxFileSize(2)
                 .withMemoryMapping(true)
                 .withGCOptions(DEFAULT.setForceAfterFail(true))
@@ -611,7 +612,7 @@ public class CompactionAndCleanupIT {
      */
     @Test
     public void cleanupCyclicGraph() throws IOException, ExecutionException, InterruptedException {
-        FileStore fileStore = FileStore.builder(getFileStoreFolder()).build();
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder()).build();
         final SegmentWriter writer = fileStore.getWriter();
         final SegmentNodeState oldHead = fileStore.getReader().readHeadState();
 
@@ -635,7 +636,7 @@ public class CompactionAndCleanupIT {
         fileStore.getRevisions().setHead(oldHead.getRecordId(), newHead.getRecordId());
         fileStore.close();
 
-        fileStore = FileStore.builder(getFileStoreFolder()).build();
+        fileStore = fileStoreBuilder(getFileStoreFolder()).build();
 
         traverse(fileStore.getReader().readHeadState());
         fileStore.cleanup();
@@ -672,7 +673,7 @@ public class CompactionAndCleanupIT {
         for (String ref : new String[] {"merge-before-compact", "merge-after-compact"}) {
             SegmentGCOptions gcOptions = DEFAULT;
             File repoDir = new File(getFileStoreFolder(), ref);
-            FileStore fileStore = FileStore.builder(repoDir)
+            FileStore fileStore = fileStoreBuilder(repoDir)
                     .withMaxFileSize(2)
                     .withGCOptions(gcOptions)
                     .build();
@@ -722,7 +723,7 @@ public class CompactionAndCleanupIT {
             }
 
             // Re-initialise the file store to simulate off-line gc
-            fileStore = FileStore.builder(repoDir).withMaxFileSize(2).build();
+            fileStore = fileStoreBuilder(repoDir).withMaxFileSize(2).build();
             try {
                 // The 1M blob should get gc-ed
                 fileStore.cleanup();
@@ -830,7 +831,7 @@ public class CompactionAndCleanupIT {
     @Test
     public void propertyRetention() throws IOException, CommitFailedException {
         SegmentGCOptions gcOptions = DEFAULT;
-        FileStore fileStore = FileStore.builder(getFileStoreFolder())
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder())
                 .withMaxFileSize(1)
                 .withGCOptions(gcOptions)
                 .build();
@@ -878,7 +879,7 @@ public class CompactionAndCleanupIT {
 
     @Test
     public void checkpointDeduplicationTest() throws IOException, CommitFailedException {
-        FileStore fileStore = FileStore.builder(getFileStoreFolder()).build();
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder()).build();
         try {
             SegmentNodeStore nodeStore = SegmentNodeStoreBuilders.builder(fileStore).build();
             NodeBuilder builder = nodeStore.getRoot().builder();

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ExternalBlobIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ExternalBlobIT.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ExternalBlobIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ExternalBlobIT.java Tue Jun  7 07:32:11 2016
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.segmen
 import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.SEGMENT_MK;
 import static org.apache.jackrabbit.oak.commons.FixturesHelper.getFixtures;
 import static org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions.DEFAULT;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
@@ -37,7 +38,6 @@ import java.util.Random;
 import javax.annotation.Nonnull;
 
 import com.google.common.collect.Lists;
-
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.core.data.FileDataStore;
@@ -167,7 +167,7 @@ public class ExternalBlobIT {
 
     protected SegmentNodeStore getNodeStore(BlobStore blobStore) throws IOException {
         if (nodeStore == null) {
-            store = FileStore.builder(getWorkDir()).withBlobStore(blobStore)
+            store = fileStoreBuilder(getWorkDir()).withBlobStore(blobStore)
                     .withMaxFileSize(1).build();
             nodeStore = SegmentNodeStoreBuilders.builder(store).build();
         }
@@ -283,7 +283,7 @@ public class ExternalBlobIT {
         close();
 
         SegmentGCOptions gcOptions = DEFAULT.setOffline();
-        store = FileStore.builder(getWorkDir()).withMaxFileSize(1)
+        store = fileStoreBuilder(getWorkDir()).withMaxFileSize(1)
                 .withGCOptions(gcOptions).build();
         assertTrue(store.size() < 10 * 1024);
 

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/HeavyWriteIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/HeavyWriteIT.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/HeavyWriteIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/HeavyWriteIT.java Tue Jun  7 07:32:11 2016
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.segmen
 
 import static org.apache.jackrabbit.oak.commons.CIHelper.travis;
 import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.SEGMENT_MK;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assume.assumeTrue;
 
 import java.io.ByteArrayInputStream;
@@ -62,7 +63,7 @@ public class HeavyWriteIT {
 
     @Test
     public void heavyWrite() throws IOException, CommitFailedException, InterruptedException {
-        final FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(128).withMemoryMapping(false).build();
+        final FileStore store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(128).withMemoryMapping(false).build();
         final SegmentNodeStore nodeStore = SegmentNodeStoreBuilders.builder(store).build();
 
         int writes = 100;

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordTest.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordTest.java Tue Jun  7 07:32:11 2016
@@ -30,6 +30,7 @@ import static org.apache.jackrabbit.oak.
 import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
 import static org.apache.jackrabbit.oak.segment.ListRecord.LEVEL_SIZE;
 import static org.apache.jackrabbit.oak.segment.SegmentVersion.LATEST_VERSION;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
@@ -79,7 +80,7 @@ public class RecordTest {
 
     @Before
     public void setup() throws IOException {
-        store = FileStore.builder(folder.getRoot()).build();
+        store = fileStoreBuilder(folder.getRoot()).build();
         writer = store.getWriter();
     }
 

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentCompactionIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentCompactionIT.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentCompactionIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentCompactionIT.java Tue Jun  7 07:32:11 2016
@@ -32,6 +32,7 @@ import static java.lang.System.getProper
 import static java.util.concurrent.TimeUnit.MINUTES;
 import static java.util.concurrent.TimeUnit.SECONDS;
 import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assume.assumeTrue;
 import static org.slf4j.helpers.MessageFormatter.arrayFormat;
 import static org.slf4j.helpers.MessageFormatter.format;
@@ -225,7 +226,7 @@ public class SegmentCompactionIT {
         }, 1, 1, SECONDS);
 
         SegmentGCOptions gcOptions = SegmentGCOptions.DEFAULT.setLockWaitTime(lockWaitTime);
-        fileStore = FileStore.builder(folder.getRoot())
+        fileStore = fileStoreBuilder(folder.getRoot())
                 .withMemoryMapping(true)
                 .withGCMonitor(gcMonitor)
                 .withGCOptions(gcOptions)

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentDataStoreBlobGCIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentDataStoreBlobGCIT.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentDataStoreBlobGCIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentDataStoreBlobGCIT.java Tue Jun  7 07:32:11 2016
@@ -23,6 +23,7 @@ import static org.apache.commons.io.File
 import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.SEGMENT_MK;
 import static org.apache.jackrabbit.oak.commons.FixturesHelper.getFixtures;
 import static org.apache.jackrabbit.oak.plugins.blob.datastore.SharedDataStoreUtils.SharedStoreRecordType.REPOSITORY;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assume.assumeTrue;
@@ -61,6 +62,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.identifier.ClusterRepositoryInfo;
 import org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
+import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 import org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStore;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
@@ -96,7 +98,7 @@ public class SegmentDataStoreBlobGCIT {
 
     protected SegmentNodeStore getNodeStore(BlobStore blobStore) throws IOException {
         if (nodeStore == null) {
-            FileStore.Builder builder = FileStore.builder(getWorkDir())
+            FileStoreBuilder builder = fileStoreBuilder(getWorkDir())
                     .withBlobStore(blobStore)
                     .withMaxFileSize(256)
                     .withCacheSize(64)

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentGraphTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentGraphTest.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentGraphTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentGraphTest.java Tue Jun  7 07:32:11 2016
@@ -27,6 +27,7 @@ import static org.apache.jackrabbit.oak.
 import static org.apache.jackrabbit.oak.segment.SegmentGraph.createRegExpFilter;
 import static org.apache.jackrabbit.oak.segment.SegmentGraph.parseSegmentGraph;
 import static org.apache.jackrabbit.oak.segment.SegmentWriterBuilder.segmentWriterBuilder;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
 
 import java.io.File;
@@ -65,7 +66,7 @@ public class SegmentGraphTest {
 
     @Before
     public void setup() throws IOException {
-        FileStore store = FileStore.builder(getStoreFolder()).build();
+        FileStore store = fileStoreBuilder(getStoreFolder()).build();
         try {
             SegmentNodeState root = store.getReader().readHeadState();
             segments.add(getSegmentId(root));
@@ -127,7 +128,7 @@ public class SegmentGraphTest {
 
     @Test
     public void testSegmentGraph() throws IOException {
-        ReadOnlyStore store = FileStore.builder(getStoreFolder()).buildReadOnly();
+        ReadOnlyStore store = fileStoreBuilder(getStoreFolder()).buildReadOnly();
         try {
             Graph<UUID> segmentGraph = parseSegmentGraph(store, Predicates.<UUID>alwaysTrue());
             assertEquals(segments, newHashSet(segmentGraph.vertices()));
@@ -143,7 +144,7 @@ public class SegmentGraphTest {
 
     @Test
     public void testSegmentGraphWithFilter() throws IOException {
-        ReadOnlyStore store = FileStore.builder(getStoreFolder()).buildReadOnly();
+        ReadOnlyStore store = fileStoreBuilder(getStoreFolder()).buildReadOnly();
         try {
             Predicate<UUID> filter = createRegExpFilter(".*(writer2|writer3).*", store.getTracker());
             Graph<UUID> segmentGraph = parseSegmentGraph(store, filter);
@@ -163,7 +164,7 @@ public class SegmentGraphTest {
         // TODO Improve test coverage to non trivial cases with more than a single generation
         // This is quite tricky as there is no easy way to construct a file store with
         // a segment graphs having edges between generations (OAK-3348)
-        ReadOnlyStore store = FileStore.builder(getStoreFolder()).buildReadOnly();
+        ReadOnlyStore store = fileStoreBuilder(getStoreFolder()).buildReadOnly();
         try {
             Graph<String> gcGraph = SegmentGraph.parseGCGraph(store);
             assertEquals(ImmutableSet.of("0"), newHashSet(gcGraph.vertices()));

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentOverflowExceptionIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentOverflowExceptionIT.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentOverflowExceptionIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentOverflowExceptionIT.java Tue Jun  7 07:32:11 2016
@@ -20,6 +20,7 @@
 package org.apache.jackrabbit.oak.segment;
 
 import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assume.assumeTrue;
 
 import java.io.ByteArrayInputStream;
@@ -93,7 +94,7 @@ public class SegmentOverflowExceptionIT
 
     @Test
     public void run() throws IOException, CommitFailedException, InterruptedException {
-        FileStore fileStore = FileStore.builder(getFileStoreFolder()).withGCMonitor(gcMonitor).build();
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder()).withGCMonitor(gcMonitor).build();
         try {
             final SegmentNodeStore nodeStore = SegmentNodeStoreBuilders.builder(fileStore).build();
             long start = System.currentTimeMillis();

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentSizeTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentSizeTest.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentSizeTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentSizeTest.java Tue Jun  7 07:32:11 2016
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.segmen
 import static junit.framework.Assert.assertEquals;
 import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
 import static org.apache.jackrabbit.oak.segment.SegmentWriterBuilder.segmentWriterBuilder;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 
 import java.io.IOException;
 import java.util.Calendar;
@@ -52,7 +53,7 @@ public class SegmentSizeTest {
 
     @Before
     public void setup() throws IOException {
-        store = FileStore.builder(folder.getRoot()).build();
+        store = fileStoreBuilder(folder.getRoot()).build();
     }
 
     @After

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/CompactionEstimatorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/CompactionEstimatorTest.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/CompactionEstimatorTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/CompactionEstimatorTest.java Tue Jun  7 07:32:11 2016
@@ -19,6 +19,7 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertTrue;
 
 import java.io.ByteArrayInputStream;
@@ -52,7 +53,7 @@ public class CompactionEstimatorTest {
         final int MB = 1024 * 1024;
         final int blobSize = 2 * MB;
 
-        FileStore fileStore = FileStore.builder(getFileStoreFolder()).withMaxFileSize(2).withMemoryMapping(false).build();
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(2).withMemoryMapping(false).build();
         SegmentNodeStore nodeStore = SegmentNodeStoreBuilders.builder(fileStore).build();
 
         // 1. Create some blob properties

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ExternalBlobReferenceTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ExternalBlobReferenceTest.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ExternalBlobReferenceTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ExternalBlobReferenceTest.java Tue Jun  7 07:32:11 2016
@@ -19,6 +19,7 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.doReturn;
@@ -49,7 +50,7 @@ public class ExternalBlobReferenceTest {
     @Before
     public void createFileStore() throws Exception {
         blobStore = mock(BlobStore.class);
-        fileStore = FileStore.builder(segmentFolder.getRoot()).withBlobStore(blobStore).build();
+        fileStore = fileStoreBuilder(segmentFolder.getRoot()).withBlobStore(blobStore).build();
     }
 
     @After

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreIT.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreIT.java Tue Jun  7 07:32:11 2016
@@ -22,6 +22,7 @@ import static com.google.common.collect.
 import static com.google.common.collect.Sets.newTreeSet;
 import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.SEGMENT_MK;
 import static org.apache.jackrabbit.oak.commons.FixturesHelper.getFixtures;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -75,10 +76,10 @@ public class FileStoreIT {
     }
 
     public void testRestartAndGC(boolean memoryMapping) throws IOException {
-        FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
+        FileStore store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
         store.close();
 
-        store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
+        store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
         SegmentNodeState base = store.getReader().readHeadState();
         SegmentNodeBuilder builder = base.builder();
         byte[] data = new byte[10 * 1024 * 1024];
@@ -90,18 +91,18 @@ public class FileStoreIT {
         store.getRevisions().setHead(store.getRevisions().getHead(), base.getRecordId());
         store.close();
 
-        store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
+        store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
         store.gc();
         store.flush();
         store.close();
 
-        store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
+        store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
         store.close();
     }
 
     @Test
     public void testRecovery() throws IOException {
-        FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
+        FileStore store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
         store.flush();
 
         RandomAccessFile data0 = new RandomAccessFile(new File(getFileStoreFolder(), "data00000a.tar"), "r");
@@ -121,7 +122,7 @@ public class FileStoreIT {
         store.getRevisions().setHead(base.getRecordId(), builder.getNodeState().getRecordId());
         store.close();
 
-        store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
+        store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
         assertEquals("b", store.getReader().readHeadState().getString("step"));
         store.close();
 
@@ -130,7 +131,7 @@ public class FileStoreIT {
         file.setLength(pos1);
         file.close();
 
-        store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
+        store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
         assertEquals("a", store.getReader().readHeadState().getString("step"));
         store.close();
 
@@ -139,7 +140,7 @@ public class FileStoreIT {
         file.setLength(pos0);
         file.close();
 
-        store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
+        store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
         assertFalse(store.getReader().readHeadState().hasProperty("step"));
         store.close();
     }
@@ -172,7 +173,7 @@ public class FileStoreIT {
     @Test  // See OAK-2049
     public void segmentOverflow() throws IOException {
         for (int n = 1; n < 255; n++) {  // 255 = ListRecord.LEVEL_SIZE
-            FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
+            FileStore store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
             SegmentWriter writer = store.getWriter();
             // writer.length == 32  (from the root node)
 
@@ -204,7 +205,7 @@ public class FileStoreIT {
 
     @Test
     public void nonBlockingROStore() throws IOException {
-        FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
+        FileStore store = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
         store.flush(); // first 1kB
         SegmentNodeState base = store.getReader().readHeadState();
         SegmentNodeBuilder builder = base.builder();
@@ -214,7 +215,7 @@ public class FileStoreIT {
 
         ReadOnlyStore ro = null;
         try {
-            ro = FileStore.builder(getFileStoreFolder()).buildReadOnly();
+            ro = fileStoreBuilder(getFileStoreFolder()).buildReadOnly();
             assertEquals(store.getRevisions().getHead(), ro.getRevisions().getHead());
         } finally {
             if (ro != null) {

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java Tue Jun  7 07:32:11 2016
@@ -20,6 +20,7 @@
 package org.apache.jackrabbit.oak.segment.file;
 
 import static com.google.common.base.Charsets.UTF_8;
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.mock;
 
@@ -67,7 +68,7 @@ public class FileStoreStatsTest {
     @Test
     public void tarWriterIntegration() throws Exception{
         StatisticsProvider statsProvider = new DefaultStatisticsProvider(executor);
-        FileStore store = FileStore.builder(segmentFolder.newFolder())
+        FileStore store = fileStoreBuilder(segmentFolder.newFolder())
                 .withStatisticsProvider(statsProvider)
                 .build();
         try {

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreTest.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreTest.java Tue Jun  7 07:32:11 2016
@@ -19,6 +19,8 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
+
 import java.io.File;
 import java.io.IOException;
 
@@ -38,7 +40,7 @@ public class FileStoreTest {
 
     @Test
     public void containsSegment() throws IOException {
-        FileStore fileStore = FileStore.builder(getFileStoreFolder()).build();
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder()).build();
         try {
             SegmentId id = new SegmentId(fileStore, 0, 0);
             if (fileStore.containsSegment(id)) {

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/JournalEntryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/JournalEntryTest.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/JournalEntryTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/JournalEntryTest.java Tue Jun  7 07:32:11 2016
@@ -19,6 +19,7 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -45,7 +46,7 @@ public class JournalEntryTest {
 
     @Test
     public void timestampInJournalEntry() throws Exception{
-        FileStore fileStore = FileStore.builder(tempFolder.getRoot()).withMaxFileSize(5)
+        FileStore fileStore = fileStoreBuilder(tempFolder.getRoot()).withMaxFileSize(5)
                 .withNoCache().withMemoryMapping(true).build();
 
         SegmentNodeStore nodeStore = SegmentNodeStoreBuilders.builder(fileStore).build();

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/LargeNumberOfPropertiesTestIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/LargeNumberOfPropertiesTestIT.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/LargeNumberOfPropertiesTestIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/LargeNumberOfPropertiesTestIT.java Tue Jun  7 07:32:11 2016
@@ -19,6 +19,7 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assume.assumeTrue;
 
 import java.io.File;
@@ -68,7 +69,7 @@ public class LargeNumberOfPropertiesTest
 
     @Test
     public void corruption() throws Exception {
-        FileStore fileStore = FileStore.builder(getFileStoreFolder()).withMaxFileSize(5)
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(5)
                 .withNoCache().withMemoryMapping(true).build();
         SegmentNodeStore nodeStore = SegmentNodeStoreBuilders.builder(fileStore).build();
 

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/SegmentReferenceLimitTestIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/SegmentReferenceLimitTestIT.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/SegmentReferenceLimitTestIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/SegmentReferenceLimitTestIT.java Tue Jun  7 07:32:11 2016
@@ -19,6 +19,7 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assume.assumeTrue;
 
 import java.io.File;
@@ -75,7 +76,7 @@ public class SegmentReferenceLimitTestIT
 
     @Test
     public void corruption() throws IOException, CommitFailedException, ExecutionException, InterruptedException {
-        FileStore fileStore = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1)
+        FileStore fileStore = fileStoreBuilder(getFileStoreFolder()).withMaxFileSize(1)
                 .withNoCache().withMemoryMapping(true).build();
         SegmentNodeStore nodeStore = SegmentNodeStoreBuilders.builder(fileStore).build();
 

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/migration/ExternalToExternalMigrationTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/migration/ExternalToExternalMigrationTest.java?rev=1747159&r1=1747158&r2=1747159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/migration/ExternalToExternalMigrationTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/migration/ExternalToExternalMigrationTest.java Tue Jun  7 07:32:11 2016
@@ -19,6 +19,8 @@
 
 package org.apache.jackrabbit.oak.segment.migration;
 
+import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
+
 import java.io.File;
 import java.io.IOException;
 
@@ -36,7 +38,7 @@ public class ExternalToExternalMigration
     @Override
     protected NodeStore createNodeStore(BlobStore blobStore, File repository) throws IOException {
         File segmentDir = new File(repository, "segmentstore");
-        store = FileStore.builder(segmentDir).withBlobStore(blobStore).build();
+        store = fileStoreBuilder(segmentDir).withBlobStore(blobStore).build();
         return SegmentNodeStoreBuilders.builder(store).build();
     }