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


Reply via email to