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]>.
