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