Author: chetanm
Date: Tue Feb 23 06:21:32 2016
New Revision: 1731797
URL: http://svn.apache.org/viewvc?rev=1731797&view=rev
Log:
OAK-4036 - LuceneIndexProviderService may miss on registering
PreExtractedTextProvider
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderServiceTest.java
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java?rev=1731797&r1=1731796&r2=1731797&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
Tue Feb 23 06:21:32 2016
@@ -190,7 +190,7 @@ public class LuceneIndexProviderService
private IndexAugmentorFactory augmentorFactory;
@Reference(policy = ReferencePolicy.DYNAMIC,
- cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
+ cardinality = ReferenceCardinality.OPTIONAL_UNARY,
policyOption = ReferencePolicyOption.GREEDY
)
private volatile PreExtractedTextProvider extractedTextProvider;
@@ -441,7 +441,9 @@ public class LuceneIndexProviderService
PROP_EXTRACTED_TEXT_CACHE_EXPIRY_DEFAULT);
extractedTextCache = new ExtractedTextCache(cacheSizeInMB * ONE_MB,
cacheExpiryInSecs);
-
+ if (extractedTextProvider != null){
+ registerExtractedTextProvider(extractedTextProvider);
+ }
CacheStats stats = extractedTextCache.getCacheStats();
if (stats != null){
oakRegs.add(registerMBean(whiteboard,
Modified:
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderServiceTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderServiceTest.java?rev=1731797&r1=1731796&r2=1731797&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderServiceTest.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderServiceTest.java
Tue Feb 23 06:21:32 2016
@@ -167,6 +167,15 @@ public class LuceneIndexProviderServiceT
}
@Test
+ public void preExtractedProviderBindBeforeActivate() throws Exception{
+ service.bindExtractedTextProvider(new DummyProvider());
+ MockOsgi.activate(service, context.bundleContext(),
getDefaultConfig());
+ LuceneIndexEditorProvider editorProvider =
+ (LuceneIndexEditorProvider)
context.getService(IndexEditorProvider.class);
+
assertNotNull(editorProvider.getExtractedTextCache().getExtractedTextProvider());
+ }
+
+ @Test
public void booleanQuerySize() throws Exception{
Map<String,Object> config = getDefaultConfig();
config.put("booleanClauseLimit", 4000);