You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/10/23 01:15:15 UTC
svn commit: r1401122 -
/openejb/trunk/openejb/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/SWClassLoader.java
Author: rmannibucau
Date: Mon Oct 22 23:15:15 2012
New Revision: 1401122
URL: http://svn.apache.org/viewvc?rev=1401122&view=rev
Log:
managing findResource in SWClassLoader
Modified:
openejb/trunk/openejb/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/SWClassLoader.java
Modified: openejb/trunk/openejb/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/SWClassLoader.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/SWClassLoader.java?rev=1401122&r1=1401121&r2=1401122&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/SWClassLoader.java (original)
+++ openejb/trunk/openejb/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/SWClassLoader.java Mon Oct 22 23:15:15 2012
@@ -26,6 +26,7 @@ import org.jboss.shrinkwrap.api.asset.As
import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
+import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;
@@ -45,6 +46,7 @@ public class SWClassLoader extends Class
this.archive = ar;
}
+ @Override
protected Enumeration<URL> findResources(final String name) throws IOException {
final ArchivePath path = ArchivePaths.create(prefix + name);
final Node node = archive.get(path);
@@ -54,6 +56,20 @@ public class SWClassLoader extends Class
return super.findResources(name);
}
+ @Override
+ protected URL findResource(String name) {
+ final ArchivePath path = ArchivePaths.create(prefix + name);
+ final Node node = archive.get(path);
+ if (node != null) {
+ try {
+ return new URL(null, "archive:" + archive.getName() + "/", new ArchiveStreamHandler(node, closeables));
+ } catch (MalformedURLException e) {
+ // no-op: let reuse parent method
+ }
+ }
+ return super.findResource(name);
+ }
+
private static class ArchiveStreamHandler extends URLStreamHandler {
private final Node node;
private final Collection<Closeable> closeables;