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;
