diff options
Diffstat (limited to 'branches/sca-java-1.x/modules/extensibility')
-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.java | 2 | ||||
-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 |