Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java
 Tue Apr 18 13:00:50 2017
@@ -1,253 +1,253 @@
-/*
- * 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.plugins.index.lucene;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.LinkedListMultimap;
-import com.google.common.collect.ListMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.ReferencePolicy;
-import org.apache.felix.scr.annotations.References;
-import org.apache.felix.scr.annotations.Service;
-import 
org.apache.jackrabbit.oak.plugins.index.lucene.spi.FulltextQueryTermsProvider;
-import org.apache.jackrabbit.oak.plugins.index.lucene.spi.IndexFieldProvider;
-import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.util.PerfLogger;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.search.BooleanClause;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.Query;
-import org.slf4j.LoggerFactory;
-
-import javax.annotation.Nonnull;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-@SuppressWarnings("UnusedDeclaration")
-@Component
-@Service(value = IndexAugmentorFactory.class)
-@References({
-        @Reference(name = "IndexFieldProvider",
-                policy = ReferencePolicy.DYNAMIC,
-                cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
-                referenceInterface = IndexFieldProvider.class),
-        @Reference(name = "FulltextQueryTermsProvider",
-                policy = ReferencePolicy.DYNAMIC,
-                cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
-                referenceInterface = FulltextQueryTermsProvider.class)
-})
-public class IndexAugmentorFactory {
-
-    private static final PerfLogger PERFLOG = new PerfLogger(
-            LoggerFactory.getLogger(IndexAugmentorFactory.class.getName() + 
".perf"));
-
-    private final Set<IndexFieldProvider> indexFieldProviders;
-    private final Set<FulltextQueryTermsProvider> fulltextQueryTermsProviders;
-
-    private volatile Map<String, CompositeIndexFieldProvider> 
indexFieldProviderMap;
-    private volatile Map<String, CompositeFulltextQueryTermsProvider> 
fulltextQueryTermsProviderMap;
-
-    public IndexAugmentorFactory() {
-        indexFieldProviders = Sets.newIdentityHashSet();
-        fulltextQueryTermsProviders = Sets.newIdentityHashSet();
-
-        resetState();
-    }
-
-    @Deactivate
-    private synchronized void deactivate() {
-        resetState();
-    }
-
-    @Nonnull
-    public IndexFieldProvider getIndexFieldProvider(String nodeType) {
-        IndexFieldProvider provider = indexFieldProviderMap.get(nodeType);
-        return (provider != null) ? provider : IndexFieldProvider.DEFAULT;
-    }
-
-    @Nonnull
-    public FulltextQueryTermsProvider getFulltextQueryTermsProvider(String 
nodeType) {
-        FulltextQueryTermsProvider provider = 
fulltextQueryTermsProviderMap.get(nodeType);
-        return (provider != null) ? provider : 
FulltextQueryTermsProvider.DEFAULT;
-    }
-
-    synchronized void bindIndexFieldProvider(IndexFieldProvider 
indexFieldProvider) {
-        indexFieldProviders.add(indexFieldProvider);
-        refreshIndexFieldProviders();
-    }
-
-    synchronized void unbindIndexFieldProvider(IndexFieldProvider 
indexFieldProvider) {
-        indexFieldProviders.remove(indexFieldProvider);
-        refreshIndexFieldProviders();
-    }
-
-    synchronized void 
bindFulltextQueryTermsProvider(FulltextQueryTermsProvider 
fulltextQueryTermsProvider) {
-        fulltextQueryTermsProviders.add(fulltextQueryTermsProvider);
-        refreshFulltextQueryTermsProviders();
-    }
-
-    synchronized void 
unbindFulltextQueryTermsProvider(FulltextQueryTermsProvider 
fulltextQueryTermsProvider) {
-        fulltextQueryTermsProviders.remove(fulltextQueryTermsProvider);
-        refreshFulltextQueryTermsProviders();
-    }
-
-    private void refreshIndexFieldProviders() {
-        ListMultimap<String, IndexFieldProvider> providerMultimap =
-                LinkedListMultimap.create();
-        for (IndexFieldProvider provider : indexFieldProviders) {
-            Set<String> supportedNodeTypes = provider.getSupportedTypes();
-            for (String nodeType : supportedNodeTypes) {
-                providerMultimap.put(nodeType, provider);
-            }
-        }
-
-        Map<String, CompositeIndexFieldProvider> providerMap = 
Maps.newHashMap();
-        for (String nodeType : providerMultimap.keySet()) {
-            List<IndexFieldProvider> providers = 
providerMultimap.get(nodeType);
-            CompositeIndexFieldProvider compositeIndexFieldProvider =
-                    new CompositeIndexFieldProvider(nodeType, providers);
-            providerMap.put(nodeType, compositeIndexFieldProvider);
-        }
-
-        indexFieldProviderMap = ImmutableMap.copyOf(providerMap);
-    }
-
-    private void refreshFulltextQueryTermsProviders() {
-        ListMultimap<String, FulltextQueryTermsProvider> providerMultimap =
-                LinkedListMultimap.create();
-        for (FulltextQueryTermsProvider provider : 
fulltextQueryTermsProviders) {
-            Set<String> supportedNodeTypes = provider.getSupportedTypes();
-            for (String nodeType : supportedNodeTypes) {
-                providerMultimap.put(nodeType, provider);
-            }
-        }
-
-        Map<String, CompositeFulltextQueryTermsProvider> providerMap = 
Maps.newHashMap();
-        for (String nodeType : providerMultimap.keySet()) {
-            List<FulltextQueryTermsProvider> providers = 
providerMultimap.get(nodeType);
-            CompositeFulltextQueryTermsProvider 
compositeFulltextQueryTermsProvider =
-                    new CompositeFulltextQueryTermsProvider(nodeType, 
providers);
-            providerMap.put(nodeType, compositeFulltextQueryTermsProvider);
-        }
-
-        fulltextQueryTermsProviderMap = ImmutableMap.copyOf(providerMap);
-    }
-
-    private void resetState() {
-        indexFieldProviders.clear();
-        fulltextQueryTermsProviders.clear();
-
-        indexFieldProviderMap = Collections.EMPTY_MAP;
-        fulltextQueryTermsProviderMap = Collections.EMPTY_MAP;
-    }
-
-    boolean isStateEmpty() {
-        return indexFieldProviders.size() == 0 &&
-                indexFieldProviderMap.size() == 0 &&
-                fulltextQueryTermsProviders.size() == 0 &&
-                fulltextQueryTermsProviderMap.size() == 0;
-    }
-
-    class CompositeIndexFieldProvider implements IndexFieldProvider {
-
-        private final String nodeType;
-        private final List<IndexFieldProvider> providers;
-
-        CompositeIndexFieldProvider(String nodeType, List<IndexFieldProvider> 
providers) {
-            this.nodeType = nodeType;
-            this.providers = ImmutableList.copyOf(providers);
-        }
-
-        @Nonnull
-        @Override
-        public List<Field> getAugmentedFields(final String path,
-                                              final NodeState document, final 
NodeState indexDefinition) {
-            List<Field> fields = Lists.newArrayList();
-            for (IndexFieldProvider indexFieldProvider : providers) {
-                final long start = PERFLOG.start();
-                Iterable<Field> providedFields = 
indexFieldProvider.getAugmentedFields(path, document, indexDefinition);
-                PERFLOG.end(start, 1, "indexFieldProvider: {}, path: {}, doc: 
{}, indexDef: {}",
-                        indexFieldProvider, path, document, indexDefinition);
-                for (Field f : providedFields) {
-                    fields.add(f);
-                }
-            }
-            return fields;
-        }
-
-        @Nonnull
-        @Override
-        public Set<String> getSupportedTypes() {
-            return Collections.singleton(nodeType);
-        }
-    }
-
-    class CompositeFulltextQueryTermsProvider implements 
FulltextQueryTermsProvider {
-
-        private final String nodeType;
-        private final List<FulltextQueryTermsProvider> providers;
-
-        CompositeFulltextQueryTermsProvider(String nodeType, 
List<FulltextQueryTermsProvider> providers) {
-            this.nodeType = nodeType;
-            this.providers = ImmutableList.copyOf(providers);
-        }
-
-        @Override
-        public Query getQueryTerm(final String text, final Analyzer analyzer, 
NodeState indexDefinition) {
-            List<Query> subQueries = Lists.newArrayList();
-            for (FulltextQueryTermsProvider fulltextQueryTermsProvider : 
providers) {
-                final long start = PERFLOG.start();
-                Query subQuery = fulltextQueryTermsProvider.getQueryTerm(text, 
analyzer, indexDefinition);
-                PERFLOG.end(start, 1, "fulltextQueryTermsProvider: {}, text: 
{}", fulltextQueryTermsProvider, text);
-                if (subQuery != null) {
-                    subQueries.add(subQuery);
-                }
-            }
-
-            Query ret;
-            if (subQueries.size() == 0) {
-                ret = null;
-            } else if (subQueries.size() == 1) {
-                ret = subQueries.get(0);
-            } else {
-                BooleanQuery query = new BooleanQuery();
-                for ( Query subQuery : subQueries ) {
-                    query.add(subQuery, BooleanClause.Occur.SHOULD);
-                }
-                ret = query;
-            }
-
-            return ret;
-        }
-
-        @Nonnull
-        @Override
-        public Set<String> getSupportedTypes() {
-            return Collections.singleton(nodeType);
-        }
-    }
-}
+/*
+ * 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.plugins.index.lucene;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.LinkedListMultimap;
+import com.google.common.collect.ListMultimap;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Deactivate;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.apache.felix.scr.annotations.ReferencePolicy;
+import org.apache.felix.scr.annotations.References;
+import org.apache.felix.scr.annotations.Service;
+import 
org.apache.jackrabbit.oak.plugins.index.lucene.spi.FulltextQueryTermsProvider;
+import org.apache.jackrabbit.oak.plugins.index.lucene.spi.IndexFieldProvider;
+import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.apache.jackrabbit.oak.commons.benchmark.PerfLogger;
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.search.BooleanClause;
+import org.apache.lucene.search.BooleanQuery;
+import org.apache.lucene.search.Query;
+import org.slf4j.LoggerFactory;
+
+import javax.annotation.Nonnull;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+@SuppressWarnings("UnusedDeclaration")
+@Component
+@Service(value = IndexAugmentorFactory.class)
+@References({
+        @Reference(name = "IndexFieldProvider",
+                policy = ReferencePolicy.DYNAMIC,
+                cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
+                referenceInterface = IndexFieldProvider.class),
+        @Reference(name = "FulltextQueryTermsProvider",
+                policy = ReferencePolicy.DYNAMIC,
+                cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
+                referenceInterface = FulltextQueryTermsProvider.class)
+})
+public class IndexAugmentorFactory {
+
+    private static final PerfLogger PERFLOG = new PerfLogger(
+            LoggerFactory.getLogger(IndexAugmentorFactory.class.getName() + 
".perf"));
+
+    private final Set<IndexFieldProvider> indexFieldProviders;
+    private final Set<FulltextQueryTermsProvider> fulltextQueryTermsProviders;
+
+    private volatile Map<String, CompositeIndexFieldProvider> 
indexFieldProviderMap;
+    private volatile Map<String, CompositeFulltextQueryTermsProvider> 
fulltextQueryTermsProviderMap;
+
+    public IndexAugmentorFactory() {
+        indexFieldProviders = Sets.newIdentityHashSet();
+        fulltextQueryTermsProviders = Sets.newIdentityHashSet();
+
+        resetState();
+    }
+
+    @Deactivate
+    private synchronized void deactivate() {
+        resetState();
+    }
+
+    @Nonnull
+    public IndexFieldProvider getIndexFieldProvider(String nodeType) {
+        IndexFieldProvider provider = indexFieldProviderMap.get(nodeType);
+        return (provider != null) ? provider : IndexFieldProvider.DEFAULT;
+    }
+
+    @Nonnull
+    public FulltextQueryTermsProvider getFulltextQueryTermsProvider(String 
nodeType) {
+        FulltextQueryTermsProvider provider = 
fulltextQueryTermsProviderMap.get(nodeType);
+        return (provider != null) ? provider : 
FulltextQueryTermsProvider.DEFAULT;
+    }
+
+    synchronized void bindIndexFieldProvider(IndexFieldProvider 
indexFieldProvider) {
+        indexFieldProviders.add(indexFieldProvider);
+        refreshIndexFieldProviders();
+    }
+
+    synchronized void unbindIndexFieldProvider(IndexFieldProvider 
indexFieldProvider) {
+        indexFieldProviders.remove(indexFieldProvider);
+        refreshIndexFieldProviders();
+    }
+
+    synchronized void 
bindFulltextQueryTermsProvider(FulltextQueryTermsProvider 
fulltextQueryTermsProvider) {
+        fulltextQueryTermsProviders.add(fulltextQueryTermsProvider);
+        refreshFulltextQueryTermsProviders();
+    }
+
+    synchronized void 
unbindFulltextQueryTermsProvider(FulltextQueryTermsProvider 
fulltextQueryTermsProvider) {
+        fulltextQueryTermsProviders.remove(fulltextQueryTermsProvider);
+        refreshFulltextQueryTermsProviders();
+    }
+
+    private void refreshIndexFieldProviders() {
+        ListMultimap<String, IndexFieldProvider> providerMultimap =
+                LinkedListMultimap.create();
+        for (IndexFieldProvider provider : indexFieldProviders) {
+            Set<String> supportedNodeTypes = provider.getSupportedTypes();
+            for (String nodeType : supportedNodeTypes) {
+                providerMultimap.put(nodeType, provider);
+            }
+        }
+
+        Map<String, CompositeIndexFieldProvider> providerMap = 
Maps.newHashMap();
+        for (String nodeType : providerMultimap.keySet()) {
+            List<IndexFieldProvider> providers = 
providerMultimap.get(nodeType);
+            CompositeIndexFieldProvider compositeIndexFieldProvider =
+                    new CompositeIndexFieldProvider(nodeType, providers);
+            providerMap.put(nodeType, compositeIndexFieldProvider);
+        }
+
+        indexFieldProviderMap = ImmutableMap.copyOf(providerMap);
+    }
+
+    private void refreshFulltextQueryTermsProviders() {
+        ListMultimap<String, FulltextQueryTermsProvider> providerMultimap =
+                LinkedListMultimap.create();
+        for (FulltextQueryTermsProvider provider : 
fulltextQueryTermsProviders) {
+            Set<String> supportedNodeTypes = provider.getSupportedTypes();
+            for (String nodeType : supportedNodeTypes) {
+                providerMultimap.put(nodeType, provider);
+            }
+        }
+
+        Map<String, CompositeFulltextQueryTermsProvider> providerMap = 
Maps.newHashMap();
+        for (String nodeType : providerMultimap.keySet()) {
+            List<FulltextQueryTermsProvider> providers = 
providerMultimap.get(nodeType);
+            CompositeFulltextQueryTermsProvider 
compositeFulltextQueryTermsProvider =
+                    new CompositeFulltextQueryTermsProvider(nodeType, 
providers);
+            providerMap.put(nodeType, compositeFulltextQueryTermsProvider);
+        }
+
+        fulltextQueryTermsProviderMap = ImmutableMap.copyOf(providerMap);
+    }
+
+    private void resetState() {
+        indexFieldProviders.clear();
+        fulltextQueryTermsProviders.clear();
+
+        indexFieldProviderMap = Collections.EMPTY_MAP;
+        fulltextQueryTermsProviderMap = Collections.EMPTY_MAP;
+    }
+
+    boolean isStateEmpty() {
+        return indexFieldProviders.size() == 0 &&
+                indexFieldProviderMap.size() == 0 &&
+                fulltextQueryTermsProviders.size() == 0 &&
+                fulltextQueryTermsProviderMap.size() == 0;
+    }
+
+    class CompositeIndexFieldProvider implements IndexFieldProvider {
+
+        private final String nodeType;
+        private final List<IndexFieldProvider> providers;
+
+        CompositeIndexFieldProvider(String nodeType, List<IndexFieldProvider> 
providers) {
+            this.nodeType = nodeType;
+            this.providers = ImmutableList.copyOf(providers);
+        }
+
+        @Nonnull
+        @Override
+        public List<Field> getAugmentedFields(final String path,
+                                              final NodeState document, final 
NodeState indexDefinition) {
+            List<Field> fields = Lists.newArrayList();
+            for (IndexFieldProvider indexFieldProvider : providers) {
+                final long start = PERFLOG.start();
+                Iterable<Field> providedFields = 
indexFieldProvider.getAugmentedFields(path, document, indexDefinition);
+                PERFLOG.end(start, 1, "indexFieldProvider: {}, path: {}, doc: 
{}, indexDef: {}",
+                        indexFieldProvider, path, document, indexDefinition);
+                for (Field f : providedFields) {
+                    fields.add(f);
+                }
+            }
+            return fields;
+        }
+
+        @Nonnull
+        @Override
+        public Set<String> getSupportedTypes() {
+            return Collections.singleton(nodeType);
+        }
+    }
+
+    class CompositeFulltextQueryTermsProvider implements 
FulltextQueryTermsProvider {
+
+        private final String nodeType;
+        private final List<FulltextQueryTermsProvider> providers;
+
+        CompositeFulltextQueryTermsProvider(String nodeType, 
List<FulltextQueryTermsProvider> providers) {
+            this.nodeType = nodeType;
+            this.providers = ImmutableList.copyOf(providers);
+        }
+
+        @Override
+        public Query getQueryTerm(final String text, final Analyzer analyzer, 
NodeState indexDefinition) {
+            List<Query> subQueries = Lists.newArrayList();
+            for (FulltextQueryTermsProvider fulltextQueryTermsProvider : 
providers) {
+                final long start = PERFLOG.start();
+                Query subQuery = fulltextQueryTermsProvider.getQueryTerm(text, 
analyzer, indexDefinition);
+                PERFLOG.end(start, 1, "fulltextQueryTermsProvider: {}, text: 
{}", fulltextQueryTermsProvider, text);
+                if (subQuery != null) {
+                    subQueries.add(subQuery);
+                }
+            }
+
+            Query ret;
+            if (subQueries.size() == 0) {
+                ret = null;
+            } else if (subQueries.size() == 1) {
+                ret = subQueries.get(0);
+            } else {
+                BooleanQuery query = new BooleanQuery();
+                for ( Query subQuery : subQueries ) {
+                    query.add(subQuery, BooleanClause.Occur.SHOULD);
+                }
+                ret = query;
+            }
+
+            return ret;
+        }
+
+        @Nonnull
+        @Override
+        public Set<String> getSupportedTypes() {
+            return Collections.singleton(nodeType);
+        }
+    }
+}

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNode.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNode.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNode.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNode.java
 Tue Apr 18 13:00:50 2017
@@ -32,7 +32,6 @@ import javax.annotation.Nullable;
 
 import com.google.common.collect.Iterables;
 import org.apache.jackrabbit.oak.commons.PathUtils;
-import org.apache.jackrabbit.oak.plugins.index.IndexConstants;
 import org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex;
 import org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndexFactory;
 import 
org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.ReaderRefreshPolicy;
@@ -40,7 +39,7 @@ import org.apache.jackrabbit.oak.plugins
 import 
org.apache.jackrabbit.oak.plugins.index.lucene.reader.LuceneIndexReaderFactory;
 import org.apache.jackrabbit.oak.plugins.index.lucene.writer.LuceneIndexWriter;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.util.PerfLogger;
+import org.apache.jackrabbit.oak.commons.benchmark.PerfLogger;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiReader;
 import org.apache.lucene.search.IndexSearcher;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java
 Tue Apr 18 13:00:50 2017
@@ -49,7 +49,7 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.commit.SubtreeEditor;
 import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.util.PerfLogger;
+import org.apache.jackrabbit.oak.commons.benchmark.PerfLogger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
 Tue Apr 18 13:00:50 2017
@@ -34,7 +34,7 @@ import org.apache.jackrabbit.oak.spi.sta
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
 import org.apache.jackrabbit.oak.stats.Clock;
-import org.apache.jackrabbit.oak.util.PerfLogger;
+import org.apache.jackrabbit.oak.commons.benchmark.PerfLogger;
 import org.apache.jackrabbit.util.ISO8601;
 import org.apache.lucene.facet.FacetsConfig;
 import org.slf4j.Logger;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java
 Tue Apr 18 13:00:50 2017
@@ -23,8 +23,8 @@ import java.io.IOException;
 
 import javax.management.openmbean.TabularData;
 
-import org.apache.jackrabbit.oak.commons.jmx.Description;
-import org.apache.jackrabbit.oak.commons.jmx.Name;
+import org.apache.jackrabbit.oak.api.jmx.Description;
+import org.apache.jackrabbit.oak.api.jmx.Name;
 
 public interface LuceneIndexMBean {
     String TYPE = "LuceneIndex";

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java
 Tue Apr 18 13:00:50 2017
@@ -28,7 +28,6 @@ import java.util.Set;
 import java.util.TreeSet;
 
 import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
 import javax.management.openmbean.CompositeDataSupport;
 import javax.management.openmbean.CompositeType;
 import javax.management.openmbean.OpenDataException;
@@ -43,7 +42,7 @@ import com.google.common.collect.Sets;
 import com.google.common.collect.TreeTraverser;
 import org.apache.jackrabbit.oak.commons.PathUtils;
 import org.apache.jackrabbit.oak.commons.jmx.AnnotatedStandardMBean;
-import org.apache.jackrabbit.oak.commons.jmx.Name;
+import org.apache.jackrabbit.oak.api.jmx.Name;
 import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
 import org.apache.jackrabbit.oak.json.JsopDiff;
 import 
org.apache.jackrabbit.oak.plugins.index.lucene.BadIndexTracker.BadIndexInfo;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
 Tue Apr 18 13:00:50 2017
@@ -72,7 +72,7 @@ import org.apache.jackrabbit.oak.spi.que
 import org.apache.jackrabbit.oak.spi.query.QueryIndex;
 import 
org.apache.jackrabbit.oak.spi.query.QueryIndex.AdvanceFulltextQueryIndex;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.util.PerfLogger;
+import org.apache.jackrabbit.oak.commons.benchmark.PerfLogger;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.document.Document;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/OakDirectory.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/OakDirectory.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/OakDirectory.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/OakDirectory.java
 Tue Apr 18 13:00:50 2017
@@ -44,7 +44,7 @@ import org.apache.jackrabbit.oak.spi.blo
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 import org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStore;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
-import org.apache.jackrabbit.oak.util.PerfLogger;
+import org.apache.jackrabbit.oak.commons.benchmark.PerfLogger;
 import org.apache.lucene.store.AlreadyClosedException;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/binary/BinaryTextExtractor.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/binary/BinaryTextExtractor.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/binary/BinaryTextExtractor.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/binary/BinaryTextExtractor.java
 Tue Apr 18 13:00:50 2017
@@ -37,7 +37,6 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
 import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorContext;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.util.BlobByteSource;
 import org.apache.lucene.document.Field;
 import org.apache.tika.config.TikaConfig;
 import org.apache.tika.metadata.Metadata;

Copied: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/binary/BlobByteSource.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/BlobByteSource.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/binary/BlobByteSource.java?p2=jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/binary/BlobByteSource.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/BlobByteSource.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/BlobByteSource.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/binary/BlobByteSource.java
 Tue Apr 18 13:00:50 2017
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.jackrabbit.oak.util;
+package org.apache.jackrabbit.oak.plugins.index.lucene.binary;
 
 import java.io.IOException;
 import java.io.InputStream;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java
 Tue Apr 18 13:00:50 2017
@@ -32,7 +32,7 @@ import com.google.common.collect.Immutab
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
-import org.apache.jackrabbit.oak.util.PerfLogger;
+import org.apache.jackrabbit.oak.commons.benchmark.PerfLogger;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.FilterDirectory;
 import org.apache.lucene.store.IOContext;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectory.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectory.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectory.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectory.java
 Tue Apr 18 13:00:50 2017
@@ -42,7 +42,7 @@ import org.apache.jackrabbit.oak.commons
 import org.apache.jackrabbit.oak.commons.concurrent.NotifyingFutureTask;
 import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
 import 
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopierClosedException;
-import org.apache.jackrabbit.oak.util.PerfLogger;
+import org.apache.jackrabbit.oak.commons.benchmark.PerfLogger;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.FilterDirectory;
 import org.apache.lucene.store.IOContext;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java
 Tue Apr 18 13:00:50 2017
@@ -45,7 +45,7 @@ import org.apache.jackrabbit.oak.stats.C
 import org.apache.jackrabbit.oak.stats.MeterStats;
 import org.apache.jackrabbit.oak.stats.StatisticsProvider;
 import org.apache.jackrabbit.oak.stats.StatsOptions;
-import org.apache.jackrabbit.oak.util.PerfLogger;
+import org.apache.jackrabbit.oak.commons.benchmark.PerfLogger;
 import org.apache.lucene.index.IndexableField;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/DefaultIndexWriter.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/DefaultIndexWriter.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/DefaultIndexWriter.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/DefaultIndexWriter.java
 Tue Apr 18 13:00:50 2017
@@ -34,7 +34,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.index.lucene.util.SuggestHelper;
 import org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStore;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
-import org.apache.jackrabbit.oak.util.PerfLogger;
+import org.apache.jackrabbit.oak.commons.benchmark.PerfLogger;
 import org.apache.jackrabbit.util.ISO8601;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.index.DirectoryReader;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/NodeStateCopyUtilsTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/NodeStateCopyUtilsTest.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/NodeStateCopyUtilsTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/NodeStateCopyUtilsTest.java
 Tue Apr 18 13:00:50 2017
@@ -20,7 +20,6 @@
 package org.apache.jackrabbit.oak.plugins.index.lucene.util;
 
 import java.io.InputStream;
-import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Iterator;
 
@@ -35,7 +34,6 @@ import org.apache.jackrabbit.oak.api.Tre
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.jcr.Jcr;
 import org.apache.jackrabbit.oak.plugins.memory.ArrayBasedBlob;
-import org.apache.jackrabbit.oak.plugins.nodetype.NodeTypeConstants;
 import org.apache.jackrabbit.oak.plugins.tree.TreeFactory;
 import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;

Modified: jackrabbit/oak/trunk/oak-pojosr/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-pojosr/pom.xml?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-pojosr/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-pojosr/pom.xml Tue Apr 18 13:00:50 2017
@@ -252,6 +252,12 @@
     <!-- Test dependencies -->
     <dependency>
       <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-api</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/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/DocumentNodeStoreConfigTest.groovy
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/DocumentNodeStoreConfigTest.groovy?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/DocumentNodeStoreConfigTest.groovy
 (original)
+++ 
jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/DocumentNodeStoreConfigTest.groovy
 Tue Apr 18 13:00:50 2017
@@ -38,7 +38,6 @@ import org.apache.jackrabbit.oak.spi.sta
 import org.apache.jackrabbit.oak.spi.state.NodeStore
 import org.h2.jdbcx.JdbcDataSource
 import org.junit.After
-import org.junit.Ignore
 import org.junit.Test
 import org.osgi.framework.ServiceEvent
 import org.osgi.framework.ServiceReference

Modified: jackrabbit/oak/trunk/oak-remote/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-remote/pom.xml?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-remote/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-remote/pom.xml Tue Apr 18 13:00:50 2017
@@ -59,6 +59,11 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>oak-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-core</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>

Modified: 
jackrabbit/oak/trunk/oak-remote/src/main/java/org/apache/jackrabbit/oak/remote/osgi/RemoteServletRegistration.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-remote/src/main/java/org/apache/jackrabbit/oak/remote/osgi/RemoteServletRegistration.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-remote/src/main/java/org/apache/jackrabbit/oak/remote/osgi/RemoteServletRegistration.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-remote/src/main/java/org/apache/jackrabbit/oak/remote/osgi/RemoteServletRegistration.java
 Tue Apr 18 13:00:50 2017
@@ -31,8 +31,6 @@ import org.osgi.service.http.HttpService
 
 import java.util.Map;
 
-import static org.apache.felix.scr.annotations.ConfigurationPolicy.REQUIRE;
-
 @Component(
         metatype = true,
         immediate = true,

Modified: jackrabbit/oak/trunk/oak-run/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/pom.xml?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-run/pom.xml Tue Apr 18 13:00:50 2017
@@ -158,10 +158,6 @@
 
   <dependencies>
     <dependency>
-      <groupId>ch.qos.logback</groupId>
-      <artifactId>logback-classic</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.apache.jackrabbit</groupId>
       <artifactId>oak-commons-run</artifactId>
       <version>${project.version}</version>
@@ -172,6 +168,16 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-core-spi</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
       <groupId>org.apache.jackrabbit</groupId>
       <artifactId>oak-lucene</artifactId>
       <version>${project.version}</version>

Modified: 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/tika/TextExtractorMain.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/tika/TextExtractorMain.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/tika/TextExtractorMain.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/tika/TextExtractorMain.java
 Tue Apr 18 13:00:50 2017
@@ -40,7 +40,7 @@ import org.apache.jackrabbit.core.data.D
 import org.apache.jackrabbit.core.data.FileDataStore;
 import org.apache.jackrabbit.oak.commons.PropertiesUtil;
 import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
-import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreTextWriter;
+import org.apache.jackrabbit.oak.plugins.blob.index.DataStoreTextWriter;
 import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
 import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
 import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;

Modified: 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java
 Tue Apr 18 13:00:50 2017
@@ -21,7 +21,7 @@ import org.apache.jackrabbit.oak.api.Typ
 import org.apache.jackrabbit.oak.commons.run.Command;
 import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
 import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
-import org.apache.jackrabbit.oak.plugins.identifier.ClusterRepositoryInfo;
+import org.apache.jackrabbit.oak.spi.cluster.ClusterRepositoryInfo;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;

Modified: jackrabbit/oak/trunk/oak-segment-tar/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/pom.xml?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/pom.xml Tue Apr 18 13:00:50 2017
@@ -99,7 +99,17 @@
     <dependencies>
 
         <!-- Dependencies on Oak modules -->
-
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>oak-api</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>oak-core-spi</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-commons</artifactId>
@@ -114,19 +124,18 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>oak-blob-cloud</artifactId>
+            <artifactId>oak-blob-plugins</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>oak-core</artifactId>
+            <artifactId>oak-store-spi</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
         </dependency>
 
         <!-- Dependencies on Jackrabbit modules -->
-
         <dependency>
             <groupId>javax.jcr</groupId>
             <artifactId>jcr</artifactId>
@@ -244,6 +253,13 @@
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>oak-blob-plugins</artifactId>
+            <version>${project.version}</version>
+            <classifier>tests</classifier>
+            <scope>test</scope>
+        </dependency>
 
         <!-- Testing dependencies -->
 
@@ -306,5 +322,13 @@
             <version>3.1.0</version>
             <scope>test</scope>
         </dependency>
+        <!-- FIXME: test dependency of oak-core due to usage of InitialContent 
for test setup -->
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>oak-core</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
 </project>

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/impl/FileStoreBackupRestoreImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/impl/FileStoreBackupRestoreImpl.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/impl/FileStoreBackupRestoreImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/backup/impl/FileStoreBackupRestoreImpl.java
 Tue Apr 18 13:00:50 2017
@@ -21,9 +21,9 @@ package org.apache.jackrabbit.oak.backup
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static java.lang.System.nanoTime;
-import static 
org.apache.jackrabbit.oak.management.ManagementOperation.Status.formatTime;
-import static org.apache.jackrabbit.oak.management.ManagementOperation.done;
-import static 
org.apache.jackrabbit.oak.management.ManagementOperation.newManagementOperation;
+import static 
org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status.formatTime;
+import static org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.done;
+import static 
org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.newManagementOperation;
 
 import java.io.File;
 import java.util.concurrent.Callable;
@@ -35,7 +35,7 @@ import javax.management.openmbean.Compos
 import org.apache.jackrabbit.oak.api.jmx.FileStoreBackupRestoreMBean;
 import org.apache.jackrabbit.oak.backup.FileStoreBackup;
 import org.apache.jackrabbit.oak.backup.FileStoreRestore;
-import org.apache.jackrabbit.oak.management.ManagementOperation;
+import org.apache.jackrabbit.oak.commons.jmx.ManagementOperation;
 import org.apache.jackrabbit.oak.segment.Revisions;
 import org.apache.jackrabbit.oak.segment.SegmentNodeStore;
 import org.apache.jackrabbit.oak.segment.SegmentReader;

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCheckpointMBean.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCheckpointMBean.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCheckpointMBean.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCheckpointMBean.java
 Tue Apr 18 13:00:50 2017
@@ -28,7 +28,7 @@ import org.apache.jackrabbit.oak.api.Pro
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.util.AbstractCheckpointMBean;
+import org.apache.jackrabbit.oak.commons.jmx.AbstractCheckpointMBean;
 
 /**
  * {@code CheckpointMBean} implementation for the {@code SegmentNodeStore}.

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentDiscoveryLiteDescriptors.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentDiscoveryLiteDescriptors.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentDiscoveryLiteDescriptors.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentDiscoveryLiteDescriptors.java
 Tue Apr 18 13:00:50 2017
@@ -22,7 +22,7 @@ import javax.jcr.Value;
 
 import org.apache.jackrabbit.commons.SimpleValueFactory;
 import org.apache.jackrabbit.oak.api.Descriptors;
-import org.apache.jackrabbit.oak.plugins.identifier.ClusterRepositoryInfo;
+import org.apache.jackrabbit.oak.spi.cluster.ClusterRepositoryInfo;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 
 /**

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=1791779&r1=1791778&r2=1791779&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 Apr 18 13:00:50 2017
@@ -26,7 +26,7 @@ import static org.apache.jackrabbit.oak.
 import static org.apache.jackrabbit.oak.commons.PropertiesUtil.toLong;
 import static 
org.apache.jackrabbit.oak.osgi.OsgiUtil.lookupConfigurationThenFramework;
 import static 
org.apache.jackrabbit.oak.plugins.blob.datastore.SharedDataStoreUtils.isShared;
-import static 
org.apache.jackrabbit.oak.plugins.identifier.ClusterRepositoryInfo.getOrCreateId;
+import static 
org.apache.jackrabbit.oak.spi.cluster.ClusterRepositoryInfo.getOrCreateId;
 import static 
org.apache.jackrabbit.oak.segment.CachingSegmentReader.DEFAULT_STRING_CACHE_MB;
 import static 
org.apache.jackrabbit.oak.segment.CachingSegmentReader.DEFAULT_TEMPLATE_CACHE_MB;
 import static 
org.apache.jackrabbit.oak.segment.SegmentCache.DEFAULT_SEGMENT_CACHE_MB;
@@ -97,7 +97,7 @@ import org.apache.jackrabbit.oak.api.jmx
 import org.apache.jackrabbit.oak.api.jmx.FileStoreBackupRestoreMBean;
 import org.apache.jackrabbit.oak.backup.impl.FileStoreBackupRestoreImpl;
 import org.apache.jackrabbit.oak.cache.CacheStats;
-import org.apache.jackrabbit.oak.osgi.ObserverTracker;
+import org.apache.jackrabbit.oak.spi.commit.ObserverTracker;
 import org.apache.jackrabbit.oak.osgi.OsgiWhiteboard;
 import org.apache.jackrabbit.oak.plugins.blob.BlobGC;
 import org.apache.jackrabbit.oak.plugins.blob.BlobGCMBean;
@@ -107,7 +107,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.blob.SharedDataStore;
 import org.apache.jackrabbit.oak.plugins.blob.datastore.BlobIdTracker;
 import 
org.apache.jackrabbit.oak.plugins.blob.datastore.SharedDataStoreUtils.SharedStoreRecordType;
-import org.apache.jackrabbit.oak.plugins.identifier.ClusterRepositoryInfo;
+import org.apache.jackrabbit.oak.spi.cluster.ClusterRepositoryInfo;
 import org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions;
 import org.apache.jackrabbit.oak.segment.compaction.SegmentRevisionGC;
 import org.apache.jackrabbit.oak.segment.compaction.SegmentRevisionGCMBean;
@@ -131,7 +131,7 @@ import org.apache.jackrabbit.oak.spi.whi
 import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils;
 import org.apache.jackrabbit.oak.stats.Clock;
 import org.apache.jackrabbit.oak.stats.StatisticsProvider;
-import org.apache.jackrabbit.oak.util.GenericDescriptors;
+import org.apache.jackrabbit.oak.spi.descriptors.GenericDescriptors;
 import org.osgi.framework.Constants;
 import org.osgi.service.component.ComponentContext;
 import org.slf4j.Logger;

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/ClientStandbyStatusMBean.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/ClientStandbyStatusMBean.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/ClientStandbyStatusMBean.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/ClientStandbyStatusMBean.java
 Tue Apr 18 13:00:50 2017
@@ -17,7 +17,7 @@
 
 package org.apache.jackrabbit.oak.segment.standby.jmx;
 
-import org.apache.jackrabbit.oak.commons.jmx.Description;
+import org.apache.jackrabbit.oak.api.jmx.Description;
 
 public interface ClientStandbyStatusMBean extends StandbyStatusMBean {
 

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/ObservablePartnerMBean.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/ObservablePartnerMBean.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/ObservablePartnerMBean.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/ObservablePartnerMBean.java
 Tue Apr 18 13:00:50 2017
@@ -16,7 +16,7 @@
  */
 package org.apache.jackrabbit.oak.segment.standby.jmx;
 
-import org.apache.jackrabbit.oak.commons.jmx.Description;
+import org.apache.jackrabbit.oak.api.jmx.Description;
 
 import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/StandbyStatusMBean.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/StandbyStatusMBean.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/StandbyStatusMBean.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/jmx/StandbyStatusMBean.java
 Tue Apr 18 13:00:50 2017
@@ -19,7 +19,7 @@ package org.apache.jackrabbit.oak.segmen
 
 import javax.annotation.Nonnull;
 
-import org.apache.jackrabbit.oak.commons.jmx.Description;
+import org.apache.jackrabbit.oak.api.jmx.Description;
 
 public interface StandbyStatusMBean {
     String JMX_NAME = "org.apache.jackrabbit.oak:name=Status,type=\"Standby\"";

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CancelableDiffTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CancelableDiffTest.java?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CancelableDiffTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CancelableDiffTest.java
 Tue Apr 18 13:00:50 2017
@@ -20,7 +20,6 @@ package org.apache.jackrabbit.oak.segmen
 
 import com.google.common.base.Suppliers;
 import org.apache.jackrabbit.oak.api.PropertyState;
-import org.apache.jackrabbit.oak.segment.CancelableDiff;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStateDiff;
 import org.junit.Test;

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=1791779&r1=1791778&r2=1791779&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 Apr 18 13:00:50 2017
@@ -62,7 +62,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
 import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreUtils;
 import org.apache.jackrabbit.oak.plugins.blob.datastore.SharedDataStoreUtils;
-import org.apache.jackrabbit.oak.plugins.identifier.ClusterRepositoryInfo;
+import org.apache.jackrabbit.oak.spi.cluster.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;

Modified: jackrabbit/oak/trunk/oak-solr-core/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/pom.xml?rev=1791779&r1=1791778&r2=1791779&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-solr-core/pom.xml Tue Apr 18 13:00:50 2017
@@ -108,6 +108,11 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>oak-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-core</artifactId>
             <version>${project.version}</version>
             <classifier>tests</classifier>

Propchange: jackrabbit/oak/trunk/oak-store-spi/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Apr 18 13:00:50 2017
@@ -0,0 +1,5 @@
+target
+.*
+*.iml
+*.ipr
+*.iws

Added: jackrabbit/oak/trunk/oak-store-spi/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/pom.xml?rev=1791779&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-store-spi/pom.xml (added)
+++ jackrabbit/oak/trunk/oak-store-spi/pom.xml Tue Apr 18 13:00:50 2017
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd";>
+  <parent>
+    <artifactId>jackrabbit-oak</artifactId>
+    <groupId>org.apache.jackrabbit</groupId>
+    <version>1.8-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>oak-store-spi</artifactId>
+  <name>Oak NodeStore and Commit SPI</name>
+  <packaging>bundle</packaging>
+
+  <build>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>maven-scr-plugin</artifactId>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>maven-bundle-plugin</artifactId>
+          <configuration>
+            <instructions>
+              <Export-Package>
+                org.apache.jackrabbit.oak.json,
+                org.apache.jackrabbit.oak.spi.cluster,
+                org.apache.jackrabbit.oak.spi.commit,
+                org.apache.jackrabbit.oak.spi.lifecycle,
+                org.apache.jackrabbit.oak.spi.state,
+                org.apache.jackrabbit.oak.plugins.memory,
+                org.apache.jackrabbit.oak.plugins.value
+              </Export-Package>
+            </instructions>
+          </configuration>
+        </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-commons</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-core-spi</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+
+    <!-- Dependencies to JCR and Jackrabbit -->
+    <dependency>
+      <groupId>javax.jcr</groupId>
+      <artifactId>jcr</artifactId>
+      <version>2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>jackrabbit-jcr-commons</artifactId>
+      <version>${jackrabbit.version}</version>
+    </dependency>
+
+    <!-- General utility libraries -->
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</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>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <version>1.10.19</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+</project>
\ No newline at end of file

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

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractPropertyState.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractPropertyState.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractPropertyState.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractPropertyState.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractPropertyState.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractPropertyState.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractPropertyState.java
 Tue Apr 18 13:00:50 2017
@@ -18,10 +18,16 @@
  */
 package org.apache.jackrabbit.oak.plugins.memory;
 
+import javax.jcr.RepositoryException;
+import javax.jcr.Value;
+
 import com.google.common.base.Objects;
 import com.google.common.collect.Iterables;
+import org.apache.jackrabbit.oak.api.Blob;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
+import org.apache.jackrabbit.oak.plugins.value.BinaryBasedBlob;
+import org.apache.jackrabbit.oak.plugins.value.OakValue;
 
 /**
  * Abstract base class for {@link org.apache.jackrabbit.oak.api.PropertyState} 
implementations. This
@@ -121,4 +127,12 @@ public abstract class AbstractPropertySt
         }
     }
 
+    static Blob getBlob(Value value) throws RepositoryException {
+        if (value instanceof OakValue) {
+            return ((OakValue) value).getBlob();
+        } else {
+            return new BinaryBasedBlob(value.getBinary());
+        }
+    }
+
 }

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryPropertyState.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryPropertyState.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryPropertyState.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryPropertyState.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryPropertyState.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryPropertyState.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryPropertyState.java
 Tue Apr 18 13:00:50 2017
@@ -26,7 +26,6 @@ import org.apache.jackrabbit.oak.api.Blo
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.plugins.value.Conversions;
-import org.apache.jackrabbit.oak.plugins.value.ValueImpl;
 import org.apache.jackrabbit.oak.plugins.value.Conversions.Converter;
 
 public class BinaryPropertyState extends SinglePropertyState<Blob> {
@@ -80,7 +79,7 @@ public class BinaryPropertyState extends
      */
     public static PropertyState binaryProperty(
             @Nonnull String name, @Nonnull Value value) throws 
RepositoryException {
-        return new BinaryPropertyState(name, ValueImpl.getBlob(value));
+        return new BinaryPropertyState(name, getBlob(value));
     }
 
     @Override

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java
 Tue Apr 18 13:00:50 2017
@@ -34,7 +34,6 @@ import java.util.concurrent.atomic.Atomi
 
 import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/PropertyStates.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/PropertyStates.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/PropertyStates.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/PropertyStates.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/PropertyStates.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/PropertyStates.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/PropertyStates.java
 Tue Apr 18 13:00:50 2017
@@ -34,7 +34,7 @@ import org.apache.jackrabbit.oak.api.Blo
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.plugins.value.Conversions;
-import org.apache.jackrabbit.oak.plugins.value.ValueImpl;
+import org.apache.jackrabbit.oak.plugins.value.OakValue;
 import org.apache.jackrabbit.util.ISO8601;
 
 /**
@@ -109,7 +109,7 @@ public final class PropertyStates {
             case PropertyType.BINARY:
                 List<Blob> blobs = Lists.newArrayList();
                 for (Value value : values) {
-                    blobs.add(ValueImpl.getBlob(value));
+                    blobs.add(AbstractPropertyState.getBlob(value));
                 }
                 return MultiBinaryPropertyState.binaryPropertyFromBlob(name, 
blobs);
             case PropertyType.LONG:
@@ -146,8 +146,8 @@ public final class PropertyStates {
     }
 
     private static String getString(Value value, int type) throws 
RepositoryException {
-        if (value instanceof ValueImpl) {
-            return ((ValueImpl) value).getOakString();
+        if (value instanceof OakValue) {
+            return ((OakValue) value).getOakString();
         }
         else if (type == PropertyType.NAME || type == PropertyType.PATH) {
             throw new IllegalArgumentException("Cannot create name of path 
property state from Value " +

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/ErrorValue.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/value/ErrorValue.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/ErrorValue.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/ErrorValue.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/value/ErrorValue.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/value/ErrorValue.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/ErrorValue.java
 Tue Apr 18 13:00:50 2017
@@ -32,16 +32,16 @@ import javax.jcr.Value;
  * Instances of this class represent a {@code Value} which couldn't be 
retrieved.
  * All its accessors throw a {@code RepositoryException}.
  */
-class ErrorValue implements Value {
+public class ErrorValue implements Value {
     private final Exception exception;
     private final int type;
 
-    ErrorValue(Exception exception, int type) {
+    public ErrorValue(Exception exception, int type) {
         this.exception = exception;
         this.type = type;
     }
 
-    ErrorValue(RepositoryException e) {
+    public ErrorValue(RepositoryException e) {
         this(e, PropertyType.UNDEFINED);
     }
 

Added: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/OakValue.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/OakValue.java?rev=1791779&view=auto
==============================================================================
--- 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/OakValue.java
 (added)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/OakValue.java
 Tue Apr 18 13:00:50 2017
@@ -0,0 +1,38 @@
+/*
+ * 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.plugins.value;
+
+import javax.jcr.RepositoryException;
+
+import org.apache.jackrabbit.oak.api.Blob;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * TODO: document
+ */
+public interface OakValue {
+
+    Blob getBlob() throws RepositoryException;
+
+    /**
+     * Same as {@link #getString()} unless that names and paths are returned 
in their
+     * Oak representation instead of being mapped to their JCR representation.
+     * @return  A String representation of the value of this property.
+     */
+    String getOakString() throws RepositoryException;
+}
\ No newline at end of file

Propchange: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/OakValue.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/cluster/ClusterRepositoryInfo.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/ClusterRepositoryInfo.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/cluster/ClusterRepositoryInfo.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/cluster/ClusterRepositoryInfo.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/ClusterRepositoryInfo.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/ClusterRepositoryInfo.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/cluster/ClusterRepositoryInfo.java
 Tue Apr 18 13:00:50 2017
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.jackrabbit.oak.plugins.identifier;
+package org.apache.jackrabbit.oak.spi.cluster;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/ObserverTracker.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/ObserverTracker.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/ObserverTracker.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/ObserverTracker.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/ObserverTracker.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/ObserverTracker.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/ObserverTracker.java
 Tue Apr 18 13:00:50 2017
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.jackrabbit.oak.osgi;
+package org.apache.jackrabbit.oak.spi.commit;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/WhiteboardEditorProvider.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/WhiteboardEditorProvider.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/WhiteboardEditorProvider.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/WhiteboardEditorProvider.java
 Tue Apr 18 13:00:50 2017
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.jackrabbit.oak.spi.whiteboard;
+package org.apache.jackrabbit.oak.spi.commit;
 
 import javax.annotation.CheckForNull;
 
@@ -27,6 +27,7 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.apache.jackrabbit.oak.spi.whiteboard.AbstractServiceTracker;
 
 /**
  * Dynamic {@link EditorProvider} based on the available

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/RevisionGC.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/RevisionGC.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/RevisionGC.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/RevisionGC.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/RevisionGC.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/RevisionGC.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/RevisionGC.java
 Tue Apr 18 13:00:50 2017
@@ -20,10 +20,10 @@
 package org.apache.jackrabbit.oak.spi.state;
 
 import static com.google.common.base.Preconditions.checkNotNull;
-import static 
org.apache.jackrabbit.oak.management.ManagementOperation.Status.failed;
-import static 
org.apache.jackrabbit.oak.management.ManagementOperation.Status.initiated;
-import static org.apache.jackrabbit.oak.management.ManagementOperation.done;
-import static 
org.apache.jackrabbit.oak.management.ManagementOperation.newManagementOperation;
+import static 
org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status.failed;
+import static 
org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status.initiated;
+import static org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.done;
+import static 
org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.newManagementOperation;
 
 import java.util.concurrent.Callable;
 import java.util.concurrent.Executor;
@@ -33,7 +33,7 @@ import javax.management.openmbean.Compos
 
 import com.google.common.base.Supplier;
 import com.google.common.base.Suppliers;
-import org.apache.jackrabbit.oak.management.ManagementOperation;
+import org.apache.jackrabbit.oak.commons.jmx.ManagementOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/test/java/org/apache/jackrabbit/oak/json/JsopDiffTest.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/json/JsopDiffTest.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/test/java/org/apache/jackrabbit/oak/json/JsopDiffTest.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/test/java/org/apache/jackrabbit/oak/json/JsopDiffTest.java&p1=jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/json/JsopDiffTest.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/json/JsopDiffTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/test/java/org/apache/jackrabbit/oak/json/JsopDiffTest.java
 Tue Apr 18 13:00:50 2017
@@ -17,7 +17,6 @@
 package org.apache.jackrabbit.oak.json;
 
 import org.apache.jackrabbit.oak.api.PropertyState;
-import org.apache.jackrabbit.oak.json.JsopDiff;
 import org.apache.jackrabbit.oak.plugins.memory.BooleanPropertyState;
 import org.apache.jackrabbit.oak.plugins.memory.DoublePropertyState;
 import org.apache.jackrabbit.oak.plugins.memory.LongPropertyState;

Copied: 
jackrabbit/oak/trunk/oak-store-spi/src/test/java/org/apache/jackrabbit/oak/spi/commit/ObserverTrackerTest.java
 (from r1791745, 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/osgi/ObserverTrackerTest.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-spi/src/test/java/org/apache/jackrabbit/oak/spi/commit/ObserverTrackerTest.java?p2=jackrabbit/oak/trunk/oak-store-spi/src/test/java/org/apache/jackrabbit/oak/spi/commit/ObserverTrackerTest.java&p1=jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/osgi/ObserverTrackerTest.java&r1=1791745&r2=1791779&rev=1791779&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/osgi/ObserverTrackerTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-spi/src/test/java/org/apache/jackrabbit/oak/spi/commit/ObserverTrackerTest.java
 Tue Apr 18 13:00:50 2017
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.jackrabbit.oak.osgi;
+package org.apache.jackrabbit.oak.spi.commit;
 
 import static com.google.common.collect.Sets.newHashSet;
 import static org.junit.Assert.assertEquals;
@@ -32,6 +32,7 @@ import java.util.Set;
 import com.google.common.collect.ImmutableSet;
 import org.apache.jackrabbit.oak.spi.commit.Observable;
 import org.apache.jackrabbit.oak.spi.commit.Observer;
+import org.apache.jackrabbit.oak.spi.commit.ObserverTracker;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;


Reply via email to