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