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


Reply via email to