This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag 
org.apache.sling.commons.classloader-0.9.0
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-classloader.git

commit 2813fc7b60c291865bead116f4e00eef886ac204
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Wed Jul 15 12:04:06 2009 +0000

    Fix resource handling (packages are separated by a slash not by a dot)
    
    git-svn-id: 
https://svn.apache.org/repos/asf/sling/trunk/bundles/commons/classloader@794243 
13f79535-47bb-0310-9956-ffa450edef68
---
 .../sling/commons/classloader/impl/PackageAdminClassLoader.java  | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java
 
b/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java
index 9cd07a5..a6d1699 100644
--- 
a/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java
+++ 
b/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java
@@ -46,12 +46,17 @@ class PackageAdminClassLoader extends ClassLoader {
         return (exportedPackage == null ? null : 
exportedPackage.getExportingBundle());
     }
 
+    private String getPackageFromResource(final String resource) {
+        final int lastSlash = resource.lastIndexOf('/');
+        String pck = resource.substring(0, lastSlash + 1).replace('/', '.');
+        return pck + "Dummy";
+    }
     /**
      * @see java.lang.ClassLoader#getResources(java.lang.String)
      */
     @SuppressWarnings("unchecked")
     public Enumeration<URL> getResources(String name) throws IOException {
-        final Bundle bundle = this.findBundleForClassOrResource(name);
+        final Bundle bundle = 
this.findBundleForClassOrResource(getPackageFromResource(name));
         if ( bundle == null ) {
             return super.getResources(name);
         }
@@ -62,7 +67,7 @@ class PackageAdminClassLoader extends ClassLoader {
      * @see java.lang.ClassLoader#findResource(java.lang.String)
      */
     public URL findResource(String name) {
-        final Bundle bundle = this.findBundleForClassOrResource(name);
+        final Bundle bundle = 
this.findBundleForClassOrResource(getPackageFromResource(name));
         if ( bundle == null ) {
             return super.findResource(name);
         }

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to