summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/extensibility/src
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-01-13 07:34:35 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-01-13 07:34:35 +0000
commitc953debbe7d1e8785c4c401c1314d9b176281e95 (patch)
tree750ab88cb6ca4aca96aef3aa0a754e899d6fdcf8 /branches/sca-java-1.x/modules/extensibility/src
parent4c39d8c12de316d28abe711557c60ef000014e62 (diff)
Fix for TUSCANT-2763 & TUSCANY-2764
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@734063 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/modules/extensibility/src')
-rw-r--r--branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ClassLoaderServiceDiscoverer.java (renamed from branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java)22
-rw-r--r--branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java2
-rw-r--r--branches/sca-java-1.x/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ClassLoaderServiceDiscovererTestCase.java (renamed from branches/sca-java-1.x/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscovererTestCase.java)6
3 files changed, 22 insertions, 8 deletions
diff --git a/branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java b/branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ClassLoaderServiceDiscoverer.java
index 2e11234095..c9bed94692 100644
--- a/branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java
+++ b/branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ClassLoaderServiceDiscoverer.java
@@ -44,10 +44,10 @@ import java.util.logging.Logger;
/**
* A ServiceDiscoverer that find META-INF/services/... using the Context ClassLoader.
*
- * @version $Rev: $ $Date: $
+ * @version $Rev$ $Date$
*/
-public class ContextClassLoaderServiceDiscoverer implements ServiceDiscoverer {
- private static final Logger logger = Logger.getLogger(ContextClassLoaderServiceDiscoverer.class.getName());
+public class ClassLoaderServiceDiscoverer implements ServiceDiscoverer {
+ private static final Logger logger = Logger.getLogger(ClassLoaderServiceDiscoverer.class.getName());
public class ServiceDeclarationImpl implements ServiceDeclaration {
private URL url;
@@ -107,11 +107,25 @@ public class ContextClassLoaderServiceDiscoverer implements ServiceDiscoverer {
private WeakReference<ClassLoader> classLoaderReference;
- public ContextClassLoaderServiceDiscoverer() {
+ /**
+ * Construct a service discoverer based on TCCL
+ */
+ public ClassLoaderServiceDiscoverer() {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
this.classLoaderReference = new WeakReference<ClassLoader>(classLoader);
}
+ /**
+ * Construct a service discoverer using the given classloader
+ * @param classLoader
+ */
+ public ClassLoaderServiceDiscoverer(ClassLoader classLoader) {
+ if (classLoader == null) {
+ classLoader = Thread.currentThread().getContextClassLoader();
+ }
+ this.classLoaderReference = new WeakReference<ClassLoader>(classLoader);
+ }
+
private List<URL> getResources(final String name, final boolean firstOnly) throws IOException {
try {
return AccessController.doPrivileged(new PrivilegedExceptionAction<List<URL>>() {
diff --git a/branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java b/branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java
index ce41a44068..a95ab253ae 100644
--- a/branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java
+++ b/branches/sca-java-1.x/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java
@@ -57,7 +57,7 @@ public class ServiceDiscovery {
public ServiceDiscoverer getServiceDiscoverer() {
if (discoverer == null) {
- discoverer = new ContextClassLoaderServiceDiscoverer();
+ discoverer = new ClassLoaderServiceDiscoverer();
}
return discoverer;
}
diff --git a/branches/sca-java-1.x/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscovererTestCase.java b/branches/sca-java-1.x/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ClassLoaderServiceDiscovererTestCase.java
index fd508402fc..92164eccc7 100644
--- a/branches/sca-java-1.x/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscovererTestCase.java
+++ b/branches/sca-java-1.x/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ClassLoaderServiceDiscovererTestCase.java
@@ -30,15 +30,15 @@ import org.junit.Test;
/**
* Test Case for ClasspathServiceDiscover
*/
-public class ContextClassLoaderServiceDiscovererTestCase {
- private static ContextClassLoaderServiceDiscoverer discover;
+public class ClassLoaderServiceDiscovererTestCase {
+ private static ClassLoaderServiceDiscoverer discover;
/**
* @throws java.lang.Exception
*/
@BeforeClass
public static void setUpBeforeClass() throws Exception {
- discover = new ContextClassLoaderServiceDiscoverer();
+ discover = new ClassLoaderServiceDiscoverer();
}
@Test