You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2013/04/17 16:42:33 UTC

svn commit: r1468940 - in /stanbol/trunk/commons/solr: core/ core/src/main/java/org/apache/stanbol/commons/solr/impl/ core/src/main/java/org/apache/stanbol/commons/solr/utils/ extras/icu/ extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/...

Author: rwesten
Date: Wed Apr 17 14:42:32 2013
New Revision: 1468940

URL: http://svn.apache.org/r1468940
Log:
STANBOL-1042: icu4j is no longer embedded in the commons.solr.extras.icu module; STANBOL-1045: contextClassloader is now overridden with the Bundle Classloader while initializing Analyzers during Bundle Activation; Also fixed a typos in the Bundle activators

Added:
    stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/utils/AbstractAnalyzerFactoryActivator.java
      - copied, changed from r1468744, stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/utils/AbstractAnalyzerFoctoryActivator.java
    stanbol/trunk/commons/solr/extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/icu/impl/IcuAnalyzerFactoryActivator.java
      - copied, changed from r1468744, stanbol/trunk/commons/solr/extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/icu/impl/IcuAnalyzerFoctoryActivator.java
    stanbol/trunk/commons/solr/extras/kuromoji/src/main/java/org/apache/stanbol/commons/solr/extras/kuromoji/impl/KuromojiAnalyzerFactoryActivator.java
      - copied, changed from r1468744, stanbol/trunk/commons/solr/extras/kuromoji/src/main/java/org/apache/stanbol/commons/solr/extras/kuromoji/impl/KuromojiAnalyzerFoctoryActivator.java
    stanbol/trunk/commons/solr/extras/smartcn/src/main/java/org/apache/stanbol/commons/solr/extras/smartcn/impl/SmartcnAnalyzerFactoryActivator.java
      - copied, changed from r1468744, stanbol/trunk/commons/solr/extras/smartcn/src/main/java/org/apache/stanbol/commons/solr/extras/smartcn/impl/SmartcnAnalyzerFoctoryActivator.java
Removed:
    stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/utils/AbstractAnalyzerFoctoryActivator.java
    stanbol/trunk/commons/solr/extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/icu/impl/IcuAnalyzerFoctoryActivator.java
    stanbol/trunk/commons/solr/extras/kuromoji/src/main/java/org/apache/stanbol/commons/solr/extras/kuromoji/impl/KuromojiAnalyzerFoctoryActivator.java
    stanbol/trunk/commons/solr/extras/smartcn/src/main/java/org/apache/stanbol/commons/solr/extras/smartcn/impl/SmartcnAnalyzerFoctoryActivator.java
Modified:
    stanbol/trunk/commons/solr/core/pom.xml
    stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/impl/OsgiSolrResourceLoader.java
    stanbol/trunk/commons/solr/extras/icu/pom.xml
    stanbol/trunk/commons/solr/extras/kuromoji/pom.xml
    stanbol/trunk/commons/solr/extras/smartcn/pom.xml
    stanbol/trunk/commons/solr/extras/stempel/src/main/java/org/apache/stanbol/commons/solr/extras/stempel/impl/StempelAnalyzerFoctoryActivator.java

Modified: stanbol/trunk/commons/solr/core/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/solr/core/pom.xml?rev=1468940&r1=1468939&r2=1468940&view=diff
==============================================================================
--- stanbol/trunk/commons/solr/core/pom.xml (original)
+++ stanbol/trunk/commons/solr/core/pom.xml Wed Apr 17 14:42:32 2013
@@ -78,6 +78,7 @@
                  exporting those frameworks -->
             <Import-Package>
               org.slf4j.impl;resolution:=optional,
+              com.ibm.icu.*;resolution:=optional,
               org.apache.log4j.jmx;resolution:=optional,
               org.apache.log4j.spi;resolution:=optional,
               org.jboss.netty.*;resolution:=optional,

Modified: stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/impl/OsgiSolrResourceLoader.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/impl/OsgiSolrResourceLoader.java?rev=1468940&r1=1468939&r2=1468940&view=diff
==============================================================================
--- stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/impl/OsgiSolrResourceLoader.java (original)
+++ stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/impl/OsgiSolrResourceLoader.java Wed Apr 17 14:42:32 2013
@@ -14,7 +14,7 @@ import org.apache.solr.common.SolrExcept
 import org.apache.solr.core.SolrCore;
 import org.apache.solr.core.SolrResourceLoader;
 import org.apache.stanbol.commons.solr.SolrServerAdapter;
-import org.apache.stanbol.commons.solr.utils.AbstractAnalyzerFoctoryActivator;
+import org.apache.stanbol.commons.solr.utils.AbstractAnalyzerFactoryActivator;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
@@ -26,7 +26,7 @@ import org.osgi.framework.ServiceReferen
  * This is because Solr 4 uses SPI ("META-INF/services" files) to lookup
  * those factories and this does not work across bundles in OSGI.<p>
  * This {@link SolrResourceLoader} variant is intended to be used together
- * with Bundle-Activators based on the {@link AbstractAnalyzerFoctoryActivator}.
+ * with Bundle-Activators based on the {@link AbstractAnalyzerFactoryActivator}.
  * <p> The {@link SolrServerAdapter} does use this class as {@link SolrResourceLoader}
  * when creating {@link SolrCore}s.
  * 

Copied: stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/utils/AbstractAnalyzerFactoryActivator.java (from r1468744, stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/utils/AbstractAnalyzerFoctoryActivator.java)
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/utils/AbstractAnalyzerFactoryActivator.java?p2=stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/utils/AbstractAnalyzerFactoryActivator.java&p1=stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/utils/AbstractAnalyzerFoctoryActivator.java&r1=1468744&r2=1468940&rev=1468940&view=diff
==============================================================================
--- stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/utils/AbstractAnalyzerFoctoryActivator.java (original)
+++ stanbol/trunk/commons/solr/core/src/main/java/org/apache/stanbol/commons/solr/utils/AbstractAnalyzerFactoryActivator.java Wed Apr 17 14:42:32 2013
@@ -17,6 +17,7 @@ import org.apache.lucene.analysis.util.T
 import org.apache.lucene.analysis.util.TokenizerFactory;
 import org.apache.lucene.util.SPIClassIterator;
 import org.apache.lucene.util.Version;
+import org.apache.solr.core.CoreContainer;
 import org.apache.stanbol.commons.solr.SolrConstants;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
@@ -34,9 +35,9 @@ import org.slf4j.LoggerFactory;
  * @author Rupert Westenthaler
  *
  */
-public abstract class AbstractAnalyzerFoctoryActivator implements BundleActivator {
+public abstract class AbstractAnalyzerFactoryActivator implements BundleActivator {
 
-    private static Logger log = LoggerFactory.getLogger(AbstractAnalyzerFoctoryActivator.class);
+    private static Logger log = LoggerFactory.getLogger(AbstractAnalyzerFactoryActivator.class);
 
     public static final Map<Class<? extends AbstractAnalysisFactory>, String[]> SUFFIXES;
     
@@ -54,19 +55,27 @@ public abstract class AbstractAnalyzerFo
     private List<ServiceRegistration> tokenFilterFactoryRegistrations;
     
     
-    protected AbstractAnalyzerFoctoryActivator(){
+    protected AbstractAnalyzerFactoryActivator(){
         this.classLoader = getClass().getClassLoader();
     }
     
     @Override
     public void start(BundleContext context) throws Exception {
-        charFilterFactoryRegistrations = registerAnalyzerFactories(context, 
-            classLoader, CharFilterFactory.class);
-        tokenizerFactoryRegistrations = registerAnalyzerFactories(context, 
-            classLoader, TokenizerFactory.class);
-        tokenFilterFactoryRegistrations = registerAnalyzerFactories(context, 
-            classLoader, TokenFilterFactory.class);
-
+        //we need to reset the context ClassLoader to avoid leaking of Solr
+        //versions present in the System (when Stanbol is running in an embedded
+        //OSGI environment)
+        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+        try {
+            Thread.currentThread().setContextClassLoader(CoreContainer.class.getClassLoader());
+            charFilterFactoryRegistrations = registerAnalyzerFactories(context, 
+                classLoader, CharFilterFactory.class);
+            tokenizerFactoryRegistrations = registerAnalyzerFactories(context, 
+                classLoader, TokenizerFactory.class);
+            tokenFilterFactoryRegistrations = registerAnalyzerFactories(context, 
+                classLoader, TokenFilterFactory.class);
+        } finally {
+            Thread.currentThread().setContextClassLoader(classLoader);
+        }
     }
 
     @Override

Modified: stanbol/trunk/commons/solr/extras/icu/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/solr/extras/icu/pom.xml?rev=1468940&r1=1468939&r2=1468940&view=diff
==============================================================================
--- stanbol/trunk/commons/solr/extras/icu/pom.xml (original)
+++ stanbol/trunk/commons/solr/extras/icu/pom.xml Wed Apr 17 14:42:32 2013
@@ -50,18 +50,17 @@
         <configuration>
           <instructions>
             <Bundle-Activator>
-              org.apache.stanbol.commons.solr.extras.icu.impl.IcuAnalyzerFoctoryActivator
+              org.apache.stanbol.commons.solr.extras.icu.impl.IcuAnalyzerFactoryActivator
             </Bundle-Activator>
             <Private-Package>
                 org.apache.stanbol.commons.solr.extras.icu.impl;version=${project.version}
             </Private-Package>
-            <Embed-Dependency>lucene-analyzers-icu, icu4j</Embed-Dependency>
+            <Embed-Dependency>lucene-analyzers-icu</Embed-Dependency>
             <Import-Package>
               *
             </Import-Package>
             <!-- used instead of Export-Package to preserve the jars -->
             <_exportcontents>
-              com.ibm.icu.*;version=4.8.1.1,
               org.apache.lucene.analysis.icu.*;version=${solr-version}
             </_exportcontents>
             <!-- 

Copied: stanbol/trunk/commons/solr/extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/icu/impl/IcuAnalyzerFactoryActivator.java (from r1468744, stanbol/trunk/commons/solr/extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/icu/impl/IcuAnalyzerFoctoryActivator.java)
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/solr/extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/icu/impl/IcuAnalyzerFactoryActivator.java?p2=stanbol/trunk/commons/solr/extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/icu/impl/IcuAnalyzerFactoryActivator.java&p1=stanbol/trunk/commons/solr/extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/icu/impl/IcuAnalyzerFoctoryActivator.java&r1=1468744&r2=1468940&rev=1468940&view=diff
==============================================================================
--- stanbol/trunk/commons/solr/extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/icu/impl/IcuAnalyzerFoctoryActivator.java (original)
+++ stanbol/trunk/commons/solr/extras/icu/src/main/java/org/apache/stanbol/commons/solr/extras/icu/impl/IcuAnalyzerFactoryActivator.java Wed Apr 17 14:42:32 2013
@@ -1,10 +1,10 @@
 package org.apache.stanbol.commons.solr.extras.icu.impl;
 
-import org.apache.stanbol.commons.solr.utils.AbstractAnalyzerFoctoryActivator;
+import org.apache.stanbol.commons.solr.utils.AbstractAnalyzerFactoryActivator;
 
-public final class IcuAnalyzerFoctoryActivator extends AbstractAnalyzerFoctoryActivator {
+public final class IcuAnalyzerFactoryActivator extends AbstractAnalyzerFactoryActivator {
     
-    public IcuAnalyzerFoctoryActivator() {
+    public IcuAnalyzerFactoryActivator() {
         super();
     }
 }

Modified: stanbol/trunk/commons/solr/extras/kuromoji/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/solr/extras/kuromoji/pom.xml?rev=1468940&r1=1468939&r2=1468940&view=diff
==============================================================================
--- stanbol/trunk/commons/solr/extras/kuromoji/pom.xml (original)
+++ stanbol/trunk/commons/solr/extras/kuromoji/pom.xml Wed Apr 17 14:42:32 2013
@@ -50,7 +50,7 @@
         <configuration>
           <instructions>
             <Bundle-Activator>
-              org.apache.stanbol.commons.solr.extras.kuromoji.impl.KuromojiAnalyzerFoctoryActivator
+              org.apache.stanbol.commons.solr.extras.kuromoji.impl.KuromojiAnalyzerFactoryActivator
             </Bundle-Activator>
             <Private-Package>
                 org.apache.stanbol.commons.solr.extras.kuromoji.impl;version=${project.version}

Copied: stanbol/trunk/commons/solr/extras/kuromoji/src/main/java/org/apache/stanbol/commons/solr/extras/kuromoji/impl/KuromojiAnalyzerFactoryActivator.java (from r1468744, stanbol/trunk/commons/solr/extras/kuromoji/src/main/java/org/apache/stanbol/commons/solr/extras/kuromoji/impl/KuromojiAnalyzerFoctoryActivator.java)
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/solr/extras/kuromoji/src/main/java/org/apache/stanbol/commons/solr/extras/kuromoji/impl/KuromojiAnalyzerFactoryActivator.java?p2=stanbol/trunk/commons/solr/extras/kuromoji/src/main/java/org/apache/stanbol/commons/solr/extras/kuromoji/impl/KuromojiAnalyzerFactoryActivator.java&p1=stanbol/trunk/commons/solr/extras/kuromoji/src/main/java/org/apache/stanbol/commons/solr/extras/kuromoji/impl/KuromojiAnalyzerFoctoryActivator.java&r1=1468744&r2=1468940&rev=1468940&view=diff
==============================================================================
--- stanbol/trunk/commons/solr/extras/kuromoji/src/main/java/org/apache/stanbol/commons/solr/extras/kuromoji/impl/KuromojiAnalyzerFoctoryActivator.java (original)
+++ stanbol/trunk/commons/solr/extras/kuromoji/src/main/java/org/apache/stanbol/commons/solr/extras/kuromoji/impl/KuromojiAnalyzerFactoryActivator.java Wed Apr 17 14:42:32 2013
@@ -1,10 +1,10 @@
 package org.apache.stanbol.commons.solr.extras.kuromoji.impl;
 
-import org.apache.stanbol.commons.solr.utils.AbstractAnalyzerFoctoryActivator;
+import org.apache.stanbol.commons.solr.utils.AbstractAnalyzerFactoryActivator;
 
-public final class KuromojiAnalyzerFoctoryActivator extends AbstractAnalyzerFoctoryActivator {
+public final class KuromojiAnalyzerFactoryActivator extends AbstractAnalyzerFactoryActivator {
     
-    public KuromojiAnalyzerFoctoryActivator() {
+    public KuromojiAnalyzerFactoryActivator() {
         super();
     }
 }

Modified: stanbol/trunk/commons/solr/extras/smartcn/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/solr/extras/smartcn/pom.xml?rev=1468940&r1=1468939&r2=1468940&view=diff
==============================================================================
--- stanbol/trunk/commons/solr/extras/smartcn/pom.xml (original)
+++ stanbol/trunk/commons/solr/extras/smartcn/pom.xml Wed Apr 17 14:42:32 2013
@@ -51,7 +51,7 @@
         <configuration>
           <instructions>
             <Bundle-Activator>
-              org.apache.stanbol.commons.solr.extras.smartcn.impl.SmartcnAnalyzerFoctoryActivator
+              org.apache.stanbol.commons.solr.extras.smartcn.impl.SmartcnAnalyzerFactoryActivator
             </Bundle-Activator>
             <Private-Package>
               org.apache.stanbol.commons.solr.extras.smartcn.impl;version=${project.version}

Copied: stanbol/trunk/commons/solr/extras/smartcn/src/main/java/org/apache/stanbol/commons/solr/extras/smartcn/impl/SmartcnAnalyzerFactoryActivator.java (from r1468744, stanbol/trunk/commons/solr/extras/smartcn/src/main/java/org/apache/stanbol/commons/solr/extras/smartcn/impl/SmartcnAnalyzerFoctoryActivator.java)
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/solr/extras/smartcn/src/main/java/org/apache/stanbol/commons/solr/extras/smartcn/impl/SmartcnAnalyzerFactoryActivator.java?p2=stanbol/trunk/commons/solr/extras/smartcn/src/main/java/org/apache/stanbol/commons/solr/extras/smartcn/impl/SmartcnAnalyzerFactoryActivator.java&p1=stanbol/trunk/commons/solr/extras/smartcn/src/main/java/org/apache/stanbol/commons/solr/extras/smartcn/impl/SmartcnAnalyzerFoctoryActivator.java&r1=1468744&r2=1468940&rev=1468940&view=diff
==============================================================================
--- stanbol/trunk/commons/solr/extras/smartcn/src/main/java/org/apache/stanbol/commons/solr/extras/smartcn/impl/SmartcnAnalyzerFoctoryActivator.java (original)
+++ stanbol/trunk/commons/solr/extras/smartcn/src/main/java/org/apache/stanbol/commons/solr/extras/smartcn/impl/SmartcnAnalyzerFactoryActivator.java Wed Apr 17 14:42:32 2013
@@ -1,10 +1,10 @@
 package org.apache.stanbol.commons.solr.extras.smartcn.impl;
 
-import org.apache.stanbol.commons.solr.utils.AbstractAnalyzerFoctoryActivator;
+import org.apache.stanbol.commons.solr.utils.AbstractAnalyzerFactoryActivator;
 
-public final class SmartcnAnalyzerFoctoryActivator extends AbstractAnalyzerFoctoryActivator {
+public final class SmartcnAnalyzerFactoryActivator extends AbstractAnalyzerFactoryActivator {
     
-    public SmartcnAnalyzerFoctoryActivator() {
+    public SmartcnAnalyzerFactoryActivator() {
         super();
     }
 }

Modified: stanbol/trunk/commons/solr/extras/stempel/src/main/java/org/apache/stanbol/commons/solr/extras/stempel/impl/StempelAnalyzerFoctoryActivator.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/solr/extras/stempel/src/main/java/org/apache/stanbol/commons/solr/extras/stempel/impl/StempelAnalyzerFoctoryActivator.java?rev=1468940&r1=1468939&r2=1468940&view=diff
==============================================================================
--- stanbol/trunk/commons/solr/extras/stempel/src/main/java/org/apache/stanbol/commons/solr/extras/stempel/impl/StempelAnalyzerFoctoryActivator.java (original)
+++ stanbol/trunk/commons/solr/extras/stempel/src/main/java/org/apache/stanbol/commons/solr/extras/stempel/impl/StempelAnalyzerFoctoryActivator.java Wed Apr 17 14:42:32 2013
@@ -1,8 +1,8 @@
 package org.apache.stanbol.commons.solr.extras.stempel.impl;
 
-import org.apache.stanbol.commons.solr.utils.AbstractAnalyzerFoctoryActivator;
+import org.apache.stanbol.commons.solr.utils.AbstractAnalyzerFactoryActivator;
 
-public final class StempelAnalyzerFoctoryActivator extends AbstractAnalyzerFoctoryActivator {
+public final class StempelAnalyzerFoctoryActivator extends AbstractAnalyzerFactoryActivator {
     
     public StempelAnalyzerFoctoryActivator() {
         super();