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;