You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:19:34 UTC
[sling-org-apache-sling-commons-classloader] 07/21: Fix resource
handling (packages are separated by a slash not by a dot)
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 <cz...@apache.org>
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
"commits@sling.apache.org" <co...@sling.apache.org>.