You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by db...@apache.org on 2011/08/22 05:26:06 UTC

svn commit: r1160098 - in /openwebbeans/trunk: webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ webbeans-impl/src/main/java/org/apache/webbeans/service/ webbeans-spi/src/main/java/org/apache/webbeans/spi/

Author: dblevins
Date: Mon Aug 22 03:26:05 2011
New Revision: 1160098

URL: http://svn.apache.org/viewvc?rev=1160098&view=rev
Log:
OWB-582L Support for Java 1.5 (needed for WebSphere 6.1
Still allow the classloader to be passed in as before

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ExtensionLoader.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/service/DefaultImplementationLoaderService.java
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/spi/ImplementationLoaderService.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ExtensionLoader.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ExtensionLoader.java?rev=1160098&r1=1160097&r2=1160098&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ExtensionLoader.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ExtensionLoader.java Mon Aug 22 03:26:05 2011
@@ -85,7 +85,7 @@ public class ExtensionLoader
      */
     public void loadExtensionServices(ClassLoader classLoader)
     {
-        List<Extension> loader = this.webBeansContext.getImplementationLoaderService().load(Extension.class);
+        List<Extension> loader = this.webBeansContext.getImplementationLoaderService().load(Extension.class, classLoader);
         for (Extension extension : loader)
         {
             if (!extensionClasses.contains(extension.getClass()))

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/service/DefaultImplementationLoaderService.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/service/DefaultImplementationLoaderService.java?rev=1160098&r1=1160097&r2=1160098&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/service/DefaultImplementationLoaderService.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/service/DefaultImplementationLoaderService.java Mon Aug 22 03:26:05 2011
@@ -38,10 +38,15 @@ public class DefaultImplementationLoader
 
     public <T> List<T> load(Class<T> serviceType)
     {
+        return load(serviceType, WebBeansUtil.getCurrentClassLoader());
+    }
+
+    public <T> List<T> load(Class<T> serviceType, ClassLoader classLoader)
+    {
         if(JAVA_6_AVAILABLE)
         {
             List<T> result = new ArrayList<T>();
-            ServiceLoader<T> services = ServiceLoader.load(serviceType, WebBeansUtil.getCurrentClassLoader());
+            ServiceLoader<T> services = ServiceLoader.load(serviceType, classLoader);
 
             for (T service : services)
             {
@@ -51,8 +56,7 @@ public class DefaultImplementationLoader
             return result;
         }
 
-        return new ManualImplementationLoaderService<T>
-                (serviceType, WebBeansUtil.getCurrentClassLoader()).loadServiceImplementations();
+        return new ManualImplementationLoaderService<T>(serviceType, classLoader).loadServiceImplementations();
     }
 
     private static boolean isJava6()

Modified: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/spi/ImplementationLoaderService.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/spi/ImplementationLoaderService.java?rev=1160098&r1=1160097&r2=1160098&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/spi/ImplementationLoaderService.java (original)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/spi/ImplementationLoaderService.java Mon Aug 22 03:26:05 2011
@@ -33,4 +33,13 @@ public interface ImplementationLoaderSer
      * @return all active implementations for the given service-type
      */
     <T> List<T> load(Class<T> serviceType);
+
+    /**
+     * Loads all active implementations for the given service-type
+     * @param serviceType base type of the services which should be loaded
+     * @param classLoader
+     * @param <T> current type
+     * @return all active implementations for the given service-type
+     */
+    <T> List<T> load(Class<T> serviceType, ClassLoader classLoader);
 }