1 package org
.argeo
.cms
.util
;
3 import java
.io
.IOException
;
4 import java
.io
.InputStream
;
7 import org
.argeo
.cms
.CmsException
;
8 import org
.eclipse
.rap
.rwt
.service
.ResourceLoader
;
9 import org
.osgi
.framework
.Bundle
;
10 import org
.osgi
.framework
.BundleContext
;
12 /** {@link ResourceLoader} implementation wrapping an {@link Bundle}. */
13 public class BundleResourceLoader
implements ResourceLoader
{
14 private final BundleContext bundleContext
;
16 public BundleResourceLoader(BundleContext bundleContext
) {
17 this.bundleContext
= bundleContext
;
21 public InputStream
getResourceAsStream(String resourceName
)
23 // TODO deal with other bundles
24 Bundle bundle
= bundleContext
.getBundle();
25 URL res
= bundle
.getResource(resourceName
);
27 throw new CmsException("Resource " + resourceName
28 + " not found in bundle " + bundle
.getSymbolicName());
29 return bundleContext
.getBundle().getResource(resourceName
).openStream();