You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by al...@apache.org on 2015/04/17 09:52:39 UTC

svn commit: r1674228 - /jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java

Author: alexparvulescu
Date: Fri Apr 17 07:52:38 2015
New Revision: 1674228

URL: http://svn.apache.org/r1674228
Log:
OAK-2782 Tika not able to load class in case of custom config
 - applied Chetan's patch


Modified:
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java

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=1674228&r1=1674227&r2=1674228&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 Fri Apr 17 07:52:38 2015
@@ -245,13 +245,19 @@ public class LuceneIndexEditorContext {
     }
 
     private static Parser initializeTikaParser(IndexDefinition definition) {
-        if (definition.hasCustomTikaConfig()){
-            InputStream is = definition.getTikaConfig();
-            try {
-                return new AutoDetectParser(getTikaConfig(is, definition));
-            } finally {
-                IOUtils.closeQuietly(is);
+        ClassLoader current = Thread.currentThread().getContextClassLoader();
+        try {
+            if (definition.hasCustomTikaConfig()) {
+                Thread.currentThread().setContextClassLoader(LuceneIndexEditorContext.class.getClassLoader());
+                InputStream is = definition.getTikaConfig();
+                try {
+                    return new AutoDetectParser(getTikaConfig(is, definition));
+                } finally {
+                    IOUtils.closeQuietly(is);
+                }
             }
+        }finally {
+            Thread.currentThread().setContextClassLoader(current);
         }
         return defaultParser;
     }