X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Futil%2FBundleResourceLoader.java;h=7342e10521c2876edf396c7f89ec47a6aa33aac7;hb=b837ab75edc9c3ce9bf0ce63ea44b0f41d6e1049;hp=c8fb8a40cdb5c1db652b2c04b9bc0e52ea365d5d;hpb=c811008ac91053f068c26f48427617de9bb7b79c;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/util/BundleResourceLoader.java b/org.argeo.cms.ui/src/org/argeo/cms/util/BundleResourceLoader.java index c8fb8a40c..7342e1052 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/util/BundleResourceLoader.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/util/BundleResourceLoader.java @@ -9,7 +9,7 @@ import org.eclipse.rap.rwt.service.ResourceLoader; import org.osgi.framework.Bundle; /** {@link ResourceLoader} implementation wrapping an {@link Bundle}. */ -class BundleResourceLoader implements ResourceLoader { +public class BundleResourceLoader implements ResourceLoader { private final Bundle bundle; public BundleResourceLoader(Bundle bundle) { @@ -18,10 +18,17 @@ class BundleResourceLoader implements ResourceLoader { @Override public InputStream getResourceAsStream(String resourceName) throws IOException { - URL res = bundle.getResource(resourceName); - if (res == null) - throw new CmsException("Resource " + resourceName + " not found in bundle " + bundle.getSymbolicName()); + URL res = bundle.getEntry(resourceName); + if (res == null) { + res = bundle.getResource(resourceName); + if (res == null) + throw new CmsException("Resource " + resourceName + " not found in bundle " + bundle.getSymbolicName()); + } return res.openStream(); } + public Bundle getBundle() { + return bundle; + } + }