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);


Reply via email to