Author: jsedding
Date: Fri Apr 28 11:25:47 2017
New Revision: 1793047

URL: http://svn.apache.org/viewvc?rev=1793047&view=rev
Log:
OAK-6136 - Extract the multiplexing implementation code into a separate bundle

- move multiplexing implementation to oak-multiplex
- move SimpleMountInfoProvider and MountInfo to oak-spi-core in order
  to avoid introducing test dependencies to oak-multiplex

change prepared in collaboration with Robert Munteanu, thanks!

Added:
    
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfo.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfo.java
    
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/SimpleMountInfoProvider.java
    
jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/MountInfoTest.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoTest.java
    
jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProviderTest.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/SimpleMountInfoProviderTest.java
    
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java
    jackrabbit/oak/trunk/oak-multiplex/
    jackrabbit/oak/trunk/oak-multiplex/pom.xml   (with props)
    jackrabbit/oak/trunk/oak-multiplex/src/
    jackrabbit/oak/trunk/oak-multiplex/src/main/
    jackrabbit/oak/trunk/oak-multiplex/src/main/java/
    jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/
    jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/
    jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/
    jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/CopyOnReadIdentityMap.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/CopyOnReadIdentityMap.java
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiff.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiff.java
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountedNodeStore.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountedNodeStore.java
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingContext.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingContext.java
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeBuilder.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeBuilder.java
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeState.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeState.java
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService.java
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProvider.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProvider.java
    
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/package-info.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/package-info.java
    jackrabbit/oak/trunk/oak-multiplex/src/test/
    jackrabbit/oak/trunk/oak-multiplex/src/test/java/
    jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/
    jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/
    jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/
    jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/
    
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/
    
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/
    
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiffTest.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiffTest.java
    
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderServiceTest.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderServiceTest.java
    
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java
    
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java
   (contents, props changed)
      - copied, changed from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java
Removed:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/CopyOnReadIdentityMap.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiff.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfo.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountedNodeStore.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingContext.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeBuilder.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeState.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProvider.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/SimpleMountInfoProvider.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/package-info.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiffTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderServiceTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/SimpleMountInfoProviderTest.java
Modified:
    jackrabbit/oak/trunk/oak-benchmarks/pom.xml
    
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/fixture/MultiplexingFixture.java
    
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/Mounts.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultiplexersTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndexTest.java
    jackrabbit/oak/trunk/oak-examples/standalone/pom.xml
    jackrabbit/oak/trunk/oak-examples/webapp/pom.xml
    jackrabbit/oak/trunk/oak-it-osgi/pom.xml
    jackrabbit/oak/trunk/oak-it-osgi/test-bundles.xml
    jackrabbit/oak/trunk/oak-it/pom.xml
    
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingMemoryFixture.java
    
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreBuilderTest.java
    
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreTest.java
    
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingSegmentFixture.java
    
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorTest.java
    
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/MultiplexingLucenePropertyIndexTest.java
    
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/reader/DefaultIndexReaderFactoryTest.java
    
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexersLuceneTest.java
    
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexingIndexWriterTest.java
    jackrabbit/oak/trunk/oak-pojosr/pom.xml
    jackrabbit/oak/trunk/pom.xml

Modified: jackrabbit/oak/trunk/oak-benchmarks/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/pom.xml?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-benchmarks/pom.xml Fri Apr 28 11:25:47 2017
@@ -153,6 +153,11 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>oak-multiplex</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-blob-cloud-azure</artifactId>
             <version>${project.version}</version>
             <optional>true</optional>

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/fixture/MultiplexingFixture.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/fixture/MultiplexingFixture.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/fixture/MultiplexingFixture.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/fixture/MultiplexingFixture.java
 Fri Apr 28 11:25:47 2017
@@ -17,21 +17,17 @@
 
 package org.apache.jackrabbit.oak.fixture;
 
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Range;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
 import org.apache.jackrabbit.oak.plugins.multiplex.MultiplexingNodeStore;
-import org.apache.jackrabbit.oak.plugins.multiplex.SimpleMountInfoProvider;
 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.segment.file.InvalidFileStoreVersionException;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 import org.apache.jackrabbit.oak.stats.StatisticsProvider;
 
-import javax.annotation.Nullable;
 import java.io.File;
 import java.io.IOException;
 
@@ -82,7 +78,7 @@ class MultiplexingFixture extends OakFix
     @Override
     public Oak getOak(int clusterId) throws Exception {
         NodeStore nodeStore = getNodeStore();
-        SimpleMountInfoProvider.Builder mip = new 
SimpleMountInfoProvider.Builder();
+        Mounts.Builder mip = Mounts.newBuilder();
         for (int i = 0; i < mounts; i++) {
             String[] paths = new String[pathsPerMount];
             for (int j = 0; j < pathsPerMount; j++) {

Copied: 
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfo.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfo.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfo.java?p2=jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfo.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfo.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfo.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfo.java
 Fri Apr 28 11:25:47 2017
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.jackrabbit.oak.plugins.multiplex;
+package org.apache.jackrabbit.oak.spi.mount;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -27,8 +27,6 @@ import java.util.TreeSet;
 
 import com.google.common.base.Function;
 
-import org.apache.jackrabbit.oak.spi.mount.Mount;
-
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.collect.Iterables.transform;
 import static com.google.common.collect.Sets.newTreeSet;
@@ -49,16 +47,14 @@ final class MountInfo implements Mount {
 
     private final String name;
     private final boolean readOnly;
-    private final boolean defaultMount;
     private final String pathFragmentName;
     private final NavigableSet<String> pathsSupportingFragments;
     private final NavigableSet<String> includedPaths;
 
-    public MountInfo(String name, boolean readOnly, boolean defaultMount, 
List<String> pathsSupportingFragments,
-            List<String> includedPaths) {
+    MountInfo(String name, boolean readOnly, List<String> 
pathsSupportingFragments,
+              List<String> includedPaths) {
         this.name = checkNotNull(name, "Mount name must not be null");
         this.readOnly = readOnly;
-        this.defaultMount = defaultMount;
         this.pathFragmentName = "oak:mount-" + name;
         this.includedPaths = cleanCopy(includedPaths);
         this.pathsSupportingFragments = cleanCopy(pathsSupportingFragments);
@@ -102,7 +98,7 @@ final class MountInfo implements Mount {
 
     @Override
     public boolean isDefault() {
-        return defaultMount;
+        return false;
     }
 
     @Override
@@ -127,8 +123,7 @@ final class MountInfo implements Mount {
         StringWriter sw = new StringWriter();
         PrintWriter pw = new PrintWriter(sw);
         String readAttr = readOnly ? "r" : "rw";
-        String displayName = defaultMount ? "default" : name;
-        pw.print(displayName + "(" + readAttr + ")");
+        pw.print(name + "(" + readAttr + ")");
         for (String path : includedPaths) {
             pw.printf("\t%s%n", path);
         }

Propchange: 
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/Mounts.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/Mounts.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/Mounts.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/Mounts.java
 Fri Apr 28 11:25:47 2017
@@ -19,15 +19,21 @@
 
 package org.apache.jackrabbit.oak.spi.mount;
 
+import com.google.common.collect.Lists;
+
 import java.util.Collection;
 import java.util.Collections;
+import java.util.List;
+
+import static java.util.Arrays.asList;
+import static java.util.Collections.singletonList;
 
 public final class Mounts {
 
     private Mounts() {
     }
 
-    static final MountInfoProvider DEFAULT_PROVIDER = new MountInfoProvider() {
+    private static final MountInfoProvider DEFAULT_PROVIDER = new 
MountInfoProvider() {
         @Override
         public Mount getMountByPath(String path) {
             return DEFAULT_MOUNT;
@@ -148,4 +154,34 @@ public final class Mounts {
     public static Mount defaultMount(Collection<Mount> mounts) {
         return new DefaultMount(mounts);
     }
+
+    public static Builder newBuilder(){
+        return new Builder();
+    }
+
+    public static final class Builder {
+        private final List<Mount> mounts = Lists.newArrayListWithCapacity(1);
+
+        private Builder() {
+        }
+
+        public Builder mount(String name, String... paths) {
+            mounts.add(new MountInfo(name, false, singletonList("/"), 
asList(paths)));
+            return this;
+        }
+
+        public Builder readOnlyMount(String name, String... paths) {
+            mounts.add(new MountInfo(name, true, singletonList("/"), 
asList(paths)));
+            return this;
+        }
+
+        public Builder mount(String name, boolean readOnly, List<String> 
pathsSupportingFragments, List<String> paths) {
+            mounts.add(new MountInfo(name, readOnly, pathsSupportingFragments, 
paths));
+            return this;
+        }
+
+        public MountInfoProvider build() {
+            return new SimpleMountInfoProvider(mounts);
+        }
+    }
 }

Copied: 
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/SimpleMountInfoProvider.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java?p2=jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/SimpleMountInfoProvider.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/SimpleMountInfoProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
 Fri Apr 28 11:25:47 2017
@@ -17,10 +17,9 @@
  * under the License.
  */
 
-package org.apache.jackrabbit.oak.plugins.multiplex;
+package org.apache.jackrabbit.oak.spi.mount;
 
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -36,13 +35,13 @@ import static java.util.Arrays.asList;
 /**
  * A simple and inefficient implementation to manage mount points
  */
-public class SimpleMountInfoProvider implements MountInfoProvider {
+final class SimpleMountInfoProvider implements MountInfoProvider {
 
     private final Map<String, Mount> mounts;
     private final Mount defMount;
     private final boolean hasMounts;
 
-    public SimpleMountInfoProvider(List<Mount> mountInfos) {
+    SimpleMountInfoProvider(List<Mount> mountInfos) {
         this.mounts = getMounts(mountInfos);
         this.hasMounts = !this.mounts.isEmpty();
         this.defMount = defaultMount(this.mounts);
@@ -103,28 +102,6 @@ public class SimpleMountInfoProvider imp
 
     //~----------------------------------------< builder >
 
-    public static Builder newBuilder(){
-        return new Builder();
-    }
-
-    public static final class Builder {
-        private final List<Mount> mounts = Lists.newArrayListWithCapacity(1);
-
-        public Builder mount(String name, String... paths) {
-            mounts.add(new MountInfo(name, false, false, asList("/"), 
asList(paths)));
-            return this;
-        }
-
-        public Builder readOnlyMount(String name, String... paths) {
-            mounts.add(new MountInfo(name, true, false, asList("/"), 
asList(paths)));
-            return this;
-        }
-
-        public SimpleMountInfoProvider build() {
-            return new SimpleMountInfoProvider(mounts);
-        }
-    }
-
     //~----------------------------------------< private >
 
     private static Map<String, Mount> getMounts(List<Mount> mountInfos) {

Propchange: 
jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/MountInfoTest.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoTest.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/MountInfoTest.java?p2=jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/MountInfoTest.java&p1=jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoTest.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/MountInfoTest.java
 Fri Apr 28 11:25:47 2017
@@ -17,12 +17,13 @@
  * under the License.
  */
 
-package org.apache.jackrabbit.oak.plugins.multiplex;
+package org.apache.jackrabbit.oak.spi.mount;
 
 import static com.google.common.collect.ImmutableList.of;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import org.apache.jackrabbit.oak.spi.mount.MountInfo;
 import org.junit.Test;
 
 import java.util.Collections;
@@ -31,7 +32,7 @@ public class MountInfoTest {
 
     @Test
     public void testIsMounted() throws Exception{
-        MountInfo md = new MountInfo("foo", false, false, of("/x/y"), of("/a", 
"/b"));
+        MountInfo md = new MountInfo("foo", false, of("/x/y"), of("/a", "/b"));
         assertTrue(md.isMounted("/a"));
         assertTrue(md.isMounted("/b"));
         assertTrue(md.isMounted("/b/c/d"));
@@ -44,7 +45,7 @@ public class MountInfoTest {
 
     @Test
     public void testIsUnder() {
-        MountInfo md = new MountInfo("foo", false, false, 
Collections.<String>emptyList(), of("/apps", "/etc/config", "/content/my/site", 
"/var"));
+        MountInfo md = new MountInfo("foo", false, 
Collections.<String>emptyList(), of("/apps", "/etc/config", "/content/my/site", 
"/var"));
         assertTrue(md.isUnder("/etc"));
         assertTrue(md.isUnder("/content"));
         assertTrue(md.isUnder("/content/my"));
@@ -55,7 +56,7 @@ public class MountInfoTest {
 
     @Test
     public void testIsDirectlyUnder() {
-        MountInfo md = new MountInfo("foo", false, false, 
Collections.<String>emptyList(), of("/apps", "/etc/my/config", "/var"));
+        MountInfo md = new MountInfo("foo", false, 
Collections.<String>emptyList(), of("/apps", "/etc/my/config", "/var"));
         assertFalse(md.isDirectlyUnder("/etc"));
         assertTrue(md.isDirectlyUnder("/etc/my"));
         assertFalse(md.isDirectlyUnder("/etc/my/config"));

Propchange: 
jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/MountInfoTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProviderTest.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/SimpleMountInfoProviderTest.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProviderTest.java?p2=jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProviderTest.java&p1=jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/SimpleMountInfoProviderTest.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/SimpleMountInfoProviderTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProviderTest.java
 Fri Apr 28 11:25:47 2017
@@ -17,13 +17,15 @@
  * under the License.
  */
 
-package org.apache.jackrabbit.oak.plugins.multiplex;
+package org.apache.jackrabbit.oak.spi.mount;
 
 import java.util.Collection;
 import java.util.Collections;
 
 import org.apache.jackrabbit.oak.spi.mount.Mount;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
+import org.apache.jackrabbit.oak.spi.mount.SimpleMountInfoProvider;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -44,7 +46,7 @@ public class SimpleMountInfoProviderTest
 
     @Test
     public void basicMounting() throws Exception {
-        MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("foo", "/a", "/b")
                 .mount("bar", "/x", "/y")
                 .build();
@@ -58,7 +60,7 @@ public class SimpleMountInfoProviderTest
 
     @Test
     public void nonDefaultMounts() throws Exception{
-        MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("foo", "/a", "/b")
                 .mount("bar", "/x", "/y")
                 .build();
@@ -74,7 +76,7 @@ public class SimpleMountInfoProviderTest
 
     @Test
     public void readOnlyMounting() throws Exception{
-        MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("foo", "/a", "/b")
                 .readOnlyMount("bar", "/x", "/y")
                 .build();
@@ -86,7 +88,7 @@ public class SimpleMountInfoProviderTest
     @Test
     public void mountsPlacedUnder() {
         
-        MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("first", "/b")
                 .mount("second", "/d", "/b/a")
                 .mount("third", "/h", "/b/c")

Propchange: 
jackrabbit/oak/trunk/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProviderTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultiplexersTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultiplexersTest.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultiplexersTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultiplexersTest.java
 Fri Apr 28 11:25:47 2017
@@ -24,7 +24,6 @@ import static org.apache.jackrabbit.oak.
 import static 
org.apache.jackrabbit.oak.plugins.index.property.Multiplexers.getNodeForMount;
 import static org.junit.Assert.assertEquals;
 
-import org.apache.jackrabbit.oak.plugins.multiplex.SimpleMountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.Mount;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.Mounts;
@@ -44,7 +43,7 @@ public class MultiplexersTest {
 
     @Test
     public void customNodeName() throws Exception {
-        MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("foo", "/a", "/b").build();
 
         Mount m = mip.getMountByName("foo");

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexTest.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexTest.java
 Fri Apr 28 11:25:47 2017
@@ -44,7 +44,6 @@ import org.apache.jackrabbit.oak.api.Typ
 import org.apache.jackrabbit.oak.plugins.index.IndexUpdateProvider;
 import 
org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy;
 import org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState;
-import org.apache.jackrabbit.oak.plugins.multiplex.SimpleMountInfoProvider;
 import org.apache.jackrabbit.oak.query.NodeStateNodeTypeInfoProvider;
 import org.apache.jackrabbit.oak.query.QueryEngineSettings;
 import org.apache.jackrabbit.oak.query.ast.NodeTypeInfo;
@@ -57,6 +56,7 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.commit.EditorHook;
 import org.apache.jackrabbit.oak.spi.mount.Mount;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.query.Filter;
 import org.apache.jackrabbit.oak.spi.query.PropertyValues;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -756,7 +756,7 @@ public class PropertyIndexTest {
 
         NodeState after = builder.getNodeState();
 
-        MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("foo", "/a", "/m/n")
                 .build();
 
@@ -812,7 +812,7 @@ public class PropertyIndexTest {
         index.setProperty("entryCount", -1);
         NodeState before = builder.getNodeState();
 
-        MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("foo", "/a")
                 .build();
 

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndexTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndexTest.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndexTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndexTest.java
 Fri Apr 28 11:25:47 2017
@@ -26,7 +26,6 @@ import javax.jcr.PropertyType;
 
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.plugins.index.IndexUpdateProvider;
-import org.apache.jackrabbit.oak.plugins.multiplex.SimpleMountInfoProvider;
 import org.apache.jackrabbit.oak.query.NodeStateNodeTypeInfoProvider;
 import org.apache.jackrabbit.oak.query.QueryEngineSettings;
 import org.apache.jackrabbit.oak.query.ast.NodeTypeInfo;
@@ -37,6 +36,7 @@ import org.apache.jackrabbit.oak.query.i
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EditorHook;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.query.Cursor;
 import org.apache.jackrabbit.oak.spi.query.Filter;
 import org.apache.jackrabbit.oak.spi.query.QueryIndex;
@@ -97,7 +97,7 @@ public class ReferenceIndexTest {
 
         NodeState after = builder.getNodeState();
 
-        MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("foo", "/a")
                 .build();
 

Modified: jackrabbit/oak/trunk/oak-examples/standalone/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-examples/standalone/pom.xml?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-examples/standalone/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-examples/standalone/pom.xml Fri Apr 28 11:25:47 
2017
@@ -167,6 +167,11 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-multiplex</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
       <groupId>com.googlecode.json-simple</groupId>
       <artifactId>json-simple</artifactId>
     </dependency>

Modified: jackrabbit/oak/trunk/oak-examples/webapp/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-examples/webapp/pom.xml?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-examples/webapp/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-examples/webapp/pom.xml Fri Apr 28 11:25:47 2017
@@ -96,6 +96,11 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-multiplex</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-classic</artifactId>
     </dependency>

Modified: jackrabbit/oak/trunk/oak-it-osgi/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it-osgi/pom.xml?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-it-osgi/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-it-osgi/pom.xml Fri Apr 28 11:25:47 2017
@@ -111,6 +111,12 @@
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-multiplex</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
 
     <dependency>
       <groupId>org.ops4j.pax.exam</groupId>

Modified: jackrabbit/oak/trunk/oak-it-osgi/test-bundles.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it-osgi/test-bundles.xml?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-it-osgi/test-bundles.xml (original)
+++ jackrabbit/oak/trunk/oak-it-osgi/test-bundles.xml Fri Apr 28 11:25:47 2017
@@ -38,6 +38,7 @@
         <include>org.apache.jackrabbit:oak-api</include>
         <include>org.apache.jackrabbit:oak-commons</include>
         <include>org.apache.jackrabbit:oak-core</include>
+        <include>org.apache.jackrabbit:oak-multiplex</include>
         <include>org.apache.jackrabbit:oak-segment-tar</include>
         <include>org.apache.jackrabbit:oak-jcr</include>
         <include>org.apache.jackrabbit:oak-lucene</include>

Modified: jackrabbit/oak/trunk/oak-it/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/pom.xml?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-it/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-it/pom.xml Fri Apr 28 11:25:47 2017
@@ -118,6 +118,12 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>oak-multiplex</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-commons</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>

Modified: 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingMemoryFixture.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingMemoryFixture.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingMemoryFixture.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingMemoryFixture.java
 Fri Apr 28 11:25:47 2017
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.plugin
 import org.apache.jackrabbit.oak.fixture.NodeStoreFixture;
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 
 public class MultiplexingMemoryFixture extends NodeStoreFixture {
@@ -29,7 +30,7 @@ public class MultiplexingMemoryFixture e
 
     @Override
     public NodeStore createNodeStore() {
-        MountInfoProvider mip = new SimpleMountInfoProvider.Builder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .readOnlyMount("temp", MOUNT_PATH)
                 .build();
 

Modified: 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreBuilderTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreBuilderTest.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreBuilderTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreBuilderTest.java
 Fri Apr 28 11:25:47 2017
@@ -20,13 +20,14 @@ package org.apache.jackrabbit.oak.plugin
 
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.junit.Test;
 
 public class MultiplexingNodeStoreBuilderTest {
 
     @Test(expected = IllegalArgumentException.class)
     public void builderRejectsTooManyReadWriteStores_oneExtra() {
-        MountInfoProvider mip = new SimpleMountInfoProvider.Builder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("temp", "/tmp")
                 .build();
 
@@ -37,7 +38,7 @@ public class MultiplexingNodeStoreBuilde
 
     @Test(expected = IllegalArgumentException.class)
     public void builderRejectsTooManyReadWriteStores_mixed() {
-        MountInfoProvider mip = new SimpleMountInfoProvider.Builder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("temp", "/tmp")
                 .readOnlyMount("readOnly", "/readOnly")
                 .build();
@@ -50,7 +51,7 @@ public class MultiplexingNodeStoreBuilde
 
     @Test
     public void builderAcceptsMultipleReadOnlyStores() {
-        MountInfoProvider mip = new SimpleMountInfoProvider.Builder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .readOnlyMount("readOnly", "/readOnly")
                 .readOnlyMount("readOnly2", "/readOnly2")
                 .build();
@@ -63,7 +64,7 @@ public class MultiplexingNodeStoreBuilde
 
     @Test(expected = IllegalArgumentException.class)
     public void mismatchBetweenMountsAndStoresIsRejected() {
-        MountInfoProvider mip = new SimpleMountInfoProvider.Builder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("temp", "/tmp")
                 .build();
 
@@ -73,7 +74,7 @@ public class MultiplexingNodeStoreBuilde
 
     @Test(expected = NullPointerException.class)
     public void mismatchBetweenMountNameAndStoreName() {
-        MountInfoProvider mip = new SimpleMountInfoProvider.Builder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("temp", "/tmp")
                 .build();
 

Modified: 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreTest.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreTest.java
 Fri Apr 28 11:25:47 2017
@@ -65,6 +65,7 @@ import org.apache.jackrabbit.oak.spi.blo
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -112,7 +113,7 @@ public class MultiplexingNodeStoreTest {
 
     @Before
     public void initStore() throws Exception {
-        MountInfoProvider mip = new SimpleMountInfoProvider.Builder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("temp", "/tmp")
                 .mount("deep", "/libs/mount")
                 .mount("empty", "/nowhere")

Modified: 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingSegmentFixture.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingSegmentFixture.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingSegmentFixture.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingSegmentFixture.java
 Fri Apr 28 11:25:47 2017
@@ -24,6 +24,7 @@ import org.apache.jackrabbit.oak.fixture
 import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
 import org.apache.jackrabbit.oak.segment.memory.MemoryStore;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 
 public class MultiplexingSegmentFixture extends NodeStoreFixture {
@@ -33,7 +34,7 @@ public class MultiplexingSegmentFixture
     @Override
     public NodeStore createNodeStore() {
         try {
-            MountInfoProvider mip = new SimpleMountInfoProvider.Builder()
+            MountInfoProvider mip = Mounts.newBuilder()
                     .readOnlyMount("temp", MOUNT_PATH)
                     .build();
 

Copied: 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java?p2=jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java&p1=jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java
 Fri Apr 28 11:25:47 2017
@@ -189,7 +189,7 @@ public class PrivateStoreValidatorProvid
     private MountInfoProvider createMountInfoProvider(String... readOnlyPaths) 
{
         MountInfoProvider mountInfoProvider = 
Mounts.defaultMountInfoProvider();
         if (readOnlyPaths.length > 0) {
-            mountInfoProvider = 
SimpleMountInfoProvider.newBuilder().readOnlyMount("readOnly", 
readOnlyPaths).build();
+            mountInfoProvider = Mounts.newBuilder().readOnlyMount("readOnly", 
readOnlyPaths).build();
         }
         return mountInfoProvider;
     }

Propchange: 
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProviderTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorTest.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorTest.java
 Fri Apr 28 11:25:47 2017
@@ -64,13 +64,13 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.index.IndexUtils;
 import 
org.apache.jackrabbit.oak.plugins.index.lucene.writer.MultiplexersLucene;
 import 
org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider;
-import org.apache.jackrabbit.oak.plugins.multiplex.SimpleMountInfoProvider;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.DefaultEditor;
 import org.apache.jackrabbit.oak.spi.commit.Editor;
 import org.apache.jackrabbit.oak.spi.commit.EditorHook;
 import org.apache.jackrabbit.oak.spi.mount.Mount;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
@@ -448,7 +448,7 @@ public class LuceneIndexEditorTest {
     @Test
     public void multiplexingWriter() throws Exception{
         newLucenePropertyIndex("lucene", "foo");
-        MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+        MountInfoProvider mip = Mounts.newBuilder()
                 .mount("foo", "/libs", "/apps").build();
         EditorHook hook = new EditorHook(
                 new IndexUpdateProvider(

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/MultiplexingLucenePropertyIndexTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/MultiplexingLucenePropertyIndexTest.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/MultiplexingLucenePropertyIndexTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/MultiplexingLucenePropertyIndexTest.java
 Fri Apr 28 11:25:47 2017
@@ -48,7 +48,6 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
 import 
org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider;
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
-import org.apache.jackrabbit.oak.plugins.multiplex.SimpleMountInfoProvider;
 import org.apache.jackrabbit.oak.InitialContent;
 import org.apache.jackrabbit.oak.query.AbstractQueryTest;
 import org.apache.jackrabbit.oak.query.NodeStateNodeTypeInfoProvider;
@@ -60,6 +59,7 @@ import org.apache.jackrabbit.oak.query.a
 import org.apache.jackrabbit.oak.query.index.FilterImpl;
 import org.apache.jackrabbit.oak.spi.commit.Observer;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.query.PropertyValues;
 import org.apache.jackrabbit.oak.spi.query.QueryIndex;
 import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
@@ -94,7 +94,7 @@ public class MultiplexingLucenePropertyI
 
     private NodeState initialContent = INITIAL_CONTENT;
     private NodeBuilder builder = EMPTY_NODE.builder();
-    private MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+    private MountInfoProvider mip = Mounts.newBuilder()
             .mount("foo", "/libs", "/apps").build();
     private NodeStore nodeStore;
 

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/reader/DefaultIndexReaderFactoryTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/reader/DefaultIndexReaderFactoryTest.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/reader/DefaultIndexReaderFactoryTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/reader/DefaultIndexReaderFactoryTest.java
 Fri Apr 28 11:25:47 2017
@@ -32,8 +32,8 @@ import org.apache.jackrabbit.oak.plugins
 import 
org.apache.jackrabbit.oak.plugins.index.lucene.writer.DefaultIndexWriterFactory;
 import org.apache.jackrabbit.oak.plugins.index.lucene.writer.LuceneIndexWriter;
 import 
org.apache.jackrabbit.oak.plugins.index.lucene.writer.LuceneIndexWriterFactory;
-import org.apache.jackrabbit.oak.plugins.multiplex.SimpleMountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.lucene.document.Document;
@@ -55,7 +55,7 @@ public class DefaultIndexReaderFactoryTe
     private NodeState root = INITIAL_CONTENT;
     private NodeBuilder builder = EMPTY_NODE.builder();
     private IndexDefinition defn = new IndexDefinition(root, 
builder.getNodeState(), "/foo");
-    private MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+    private MountInfoProvider mip = Mounts.newBuilder()
             .mount("foo", "/libs", "/apps").build();
 
     @Test

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexersLuceneTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexersLuceneTest.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexersLuceneTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexersLuceneTest.java
 Fri Apr 28 11:25:47 2017
@@ -20,15 +20,15 @@
 package org.apache.jackrabbit.oak.plugins.index.lucene.writer;
 
 import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants;
-import org.apache.jackrabbit.oak.plugins.multiplex.SimpleMountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.Mount;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 public class MultiplexersLuceneTest {
-    private MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+    private MountInfoProvider mip = Mounts.newBuilder()
             .mount("foo", "/libs", "/apps").build();
     private Mount fooMount = mip.getMountByName("foo");
     private Mount defaultMount = mip.getDefaultMount();

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexingIndexWriterTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexingIndexWriterTest.java?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexingIndexWriterTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexingIndexWriterTest.java
 Fri Apr 28 11:25:47 2017
@@ -30,7 +30,6 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreUtils;
 import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
 import org.apache.jackrabbit.oak.plugins.index.lucene.OakDirectory;
-import org.apache.jackrabbit.oak.plugins.multiplex.SimpleMountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.Mount;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.Mounts;
@@ -61,7 +60,7 @@ public class MultiplexingIndexWriterTest
     private NodeState root = INITIAL_CONTENT;
     private NodeBuilder builder = EMPTY_NODE.builder();
     private IndexDefinition defn = new IndexDefinition(root, 
builder.getNodeState(), "/foo");
-    private MountInfoProvider mip = SimpleMountInfoProvider.newBuilder()
+    private MountInfoProvider mip = Mounts.newBuilder()
             .mount("foo", "/libs", "/apps").build();
 
     private Mount fooMount;
@@ -167,7 +166,7 @@ public class MultiplexingIndexWriterTest
 
     @Test
     public void deleteIncludingMount() throws Exception{
-        mip = SimpleMountInfoProvider.newBuilder()
+        mip = Mounts.newBuilder()
                 .mount("foo", "/content/remote").build();
         initializeMounts();
         LuceneIndexWriterFactory factory = new DefaultIndexWriterFactory(mip, 
null, null);

Added: jackrabbit/oak/trunk/oak-multiplex/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/pom.xml?rev=1793047&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-multiplex/pom.xml (added)
+++ jackrabbit/oak/trunk/oak-multiplex/pom.xml Fri Apr 28 11:25:47 2017
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   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.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd ">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.jackrabbit</groupId>
+    <artifactId>oak-parent</artifactId>
+    <version>1.8-SNAPSHOT</version>
+    <relativePath>../oak-parent/pom.xml</relativePath>
+  </parent>
+
+  <artifactId>oak-multiplex</artifactId>
+  <name>Oak Multiplexing</name>
+  <packaging>bundle</packaging>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+     </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-scr-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-failsafe-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>
+              src/test/resources/logging.properties
+            </java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+   </plugins>
+  </build>
+
+  <dependencies>
+    <!-- Optional OSGi dependencies, used only when running within OSGi -->
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>biz.aQute.bnd</groupId>
+      <artifactId>bndlib</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.scr.annotations</artifactId>
+      <scope>provided</scope>
+    </dependency>
+
+    <!-- Dependencies to other Oak components -->
+    <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-store-spi</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+
+    <!-- General utility libraries -->
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+
+
+    <!-- Logging -->
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+
+    <!-- Findbugs annotations -->
+    <dependency>
+      <groupId>com.google.code.findbugs</groupId>
+      <artifactId>jsr305</artifactId>
+    </dependency>
+
+    <!-- Test Dependencies -->
+    <dependency>
+      <groupId>org.hamcrest</groupId>
+      <artifactId>hamcrest-all</artifactId>
+      <version>1.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jul-to-slf4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.sling</groupId>
+      <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

Propchange: jackrabbit/oak/trunk/oak-multiplex/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/CopyOnReadIdentityMap.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/CopyOnReadIdentityMap.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/CopyOnReadIdentityMap.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/CopyOnReadIdentityMap.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/CopyOnReadIdentityMap.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/CopyOnReadIdentityMap.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiff.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiff.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiff.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiff.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiff.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiff.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java
 Fri Apr 28 11:25:47 2017
@@ -20,7 +20,6 @@
 package org.apache.jackrabbit.oak.plugins.multiplex;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -30,7 +29,6 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.PropertyUnbounded;
 import org.apache.jackrabbit.oak.commons.PropertiesUtil;
-import org.apache.jackrabbit.oak.spi.mount.Mount;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.osgi.framework.BundleContext;
@@ -84,9 +82,10 @@ public class MountInfoProviderService {
 
         MountInfoProvider mip = Mounts.defaultMountInfoProvider();
         if (paths != null) {
-            Mount mi = new MountInfo(mountName.trim(), readOnly, false, 
trim(pathsSupportingFragments), trim(paths));
-            mip = new SimpleMountInfoProvider(Collections.singletonList(mi));
-            log.info("Enabling mount for {}", mi);
+            mip = Mounts.newBuilder()
+                    .mount(mountName.trim(), readOnly, 
trim(pathsSupportingFragments), trim(paths))
+                    .build();
+            log.info("Enabling mount for {}", mip);
         } else {
             log.info("No mount config provided. Mounting would be disabled");
         }

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountedNodeStore.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountedNodeStore.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountedNodeStore.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountedNodeStore.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountedNodeStore.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MountedNodeStore.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingContext.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingContext.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingContext.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingContext.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingContext.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeBuilder.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeBuilder.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeBuilder.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeBuilder.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeBuilder.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeState.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeState.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeState.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeState.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeState.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeState.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java
 Fri Apr 28 11:25:47 2017
@@ -64,7 +64,7 @@ import static org.apache.jackrabbit.oak.
 
 /**
  * A {@link NodeStore} implementation that multiplexes other {@link NodeStore} 
instances
- * mounted under paths defined by {@link MountInfo}.
+ * mounted under paths defined by {@link Mount}.
  *
  * <p>The main objective of this implementation is to multiplex operations 
working on
  * at most single read-write store with any number of read-only stores. While 
the

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProvider.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProvider.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProvider.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProvider.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProvider.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/PrivateStoreValidatorProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/package-info.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/package-info.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/package-info.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/package-info.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/package-info.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/main/java/org/apache/jackrabbit/oak/plugins/multiplex/package-info.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiffTest.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiffTest.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiffTest.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiffTest.java&p1=jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiffTest.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/ModifiedPathDiffTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderServiceTest.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderServiceTest.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderServiceTest.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderServiceTest.java&p1=jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderServiceTest.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
    (empty)

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MountInfoProviderServiceTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java&p1=jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java
 Fri Apr 28 11:25:47 2017
@@ -27,6 +27,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.memory.MemoryChildNodeEntry;
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.state.AbstractNodeState;
 import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -55,7 +56,7 @@ public class MultiplexingChildrenCountTe
 
     @Test
     public void singleContributingStore() {
-        MountInfoProvider mip = new SimpleMountInfoProvider.Builder().build();
+        MountInfoProvider mip = Mounts.newBuilder().build();
         NodeStore globalStore = new MemoryNodeStore();
         MultiplexingNodeStore multiplexingNodeStore = new 
MultiplexingNodeStore.Builder(mip, globalStore).build();
 
@@ -69,7 +70,7 @@ public class MultiplexingChildrenCountTe
 
     @Test
     public void multipleContributingStores() {
-        MountInfoProvider mip = new 
SimpleMountInfoProvider.Builder().mount("libs", "/libs", "/libs1", "/libs2", 
"/libs3", "/libs4").build();
+        MountInfoProvider mip = Mounts.newBuilder().mount("libs", "/libs", 
"/libs1", "/libs2", "/libs3", "/libs4").build();
         NodeStore globalStore = new MemoryNodeStore();
         NodeStore libsStore = new MemoryNodeStore();
 
@@ -120,7 +121,7 @@ public class MultiplexingChildrenCountTe
 
     @Test
     public void contributingStoreReturnsInfinity() {
-        MountInfoProvider mip = new 
SimpleMountInfoProvider.Builder().mount("libs", "/libs", "/libs1", "/libs2", 
"/libs3", "/libs4").build();
+        MountInfoProvider mip = Mounts.newBuilder().mount("libs", "/libs", 
"/libs1", "/libs2", "/libs3", "/libs4").build();
         NodeStore globalStore = new MemoryNodeStore();
         NodeStore libsStore = new MemoryNodeStore();
 

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingChildrenCountTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java
 (from r1793030, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java?p2=jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java&p1=jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java&r1=1793030&r2=1793047&rev=1793047&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java
 Fri Apr 28 11:25:47 2017
@@ -28,6 +28,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.state.DefaultNodeStateDiff;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -45,7 +46,7 @@ public class MultiplexingCompareTest {
 
     @Test
     public void reportedNodesAreWrapped() {
-        SimpleMountInfoProvider.Builder mipBuilder = new 
SimpleMountInfoProvider.Builder();
+        Mounts.Builder mipBuilder = Mounts.newBuilder();
         mipBuilder.readOnlyMount("libs", "/libs");
         MountInfoProvider mip = mipBuilder.build();
 
@@ -96,7 +97,7 @@ public class MultiplexingCompareTest {
 
     @Test
     public void onlyPropertiesOnMainNodesAreCompared() throws 
CommitFailedException {
-        MountInfoProvider mip = new 
SimpleMountInfoProvider.Builder().mount("libs", "/libs").build();
+        MountInfoProvider mip = Mounts.newBuilder().mount("libs", 
"/libs").build();
         NodeStore globalStore = new MemoryNodeStore();
         NodeStore libsStore = new MemoryNodeStore();
 
@@ -131,7 +132,7 @@ public class MultiplexingCompareTest {
 
     @Test
     public void nodesOutsideTheMountsAreIgnored() throws CommitFailedException 
{
-        MountInfoProvider mip = new 
SimpleMountInfoProvider.Builder().mount("libs", "/libs").build();
+        MountInfoProvider mip = Mounts.newBuilder().mount("libs", 
"/libs").build();
         NodeStore globalStore = new MemoryNodeStore();
         NodeStore libsStore = new MemoryNodeStore();
 

Propchange: 
jackrabbit/oak/trunk/oak-multiplex/src/test/java/org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingCompareTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: jackrabbit/oak/trunk/oak-pojosr/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-pojosr/pom.xml?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-pojosr/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-pojosr/pom.xml Fri Apr 28 11:25:47 2017
@@ -253,6 +253,12 @@
     </dependency>
     <dependency>
       <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-multiplex</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
       <artifactId>oak-core</artifactId>
       <classifier>tests</classifier>
       <version>${project.version}</version>

Modified: jackrabbit/oak/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/pom.xml?rev=1793047&r1=1793046&r2=1793047&view=diff
==============================================================================
--- jackrabbit/oak/trunk/pom.xml (original)
+++ jackrabbit/oak/trunk/pom.xml Fri Apr 28 11:25:47 2017
@@ -50,6 +50,7 @@
     <module>oak-jcr</module>
 
     <module>oak-upgrade</module>
+    <module>oak-multiplex</module>
     <module>oak-http</module>
     <module>oak-lucene</module>
     <module>oak-solr-core</module>


Reply via email to