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