1 package org
.argeo
.slc
.osgi
.deploy
;
3 import org
.argeo
.slc
.core
.deploy
.DefaultResourceSet
;
4 import org
.osgi
.framework
.Bundle
;
5 import org
.osgi
.framework
.BundleContext
;
6 import org
.springframework
.core
.io
.ResourceLoader
;
7 import org
.springframework
.osgi
.context
.BundleContextAware
;
8 import org
.springframework
.osgi
.io
.OsgiBundleResourceLoader
;
9 import org
.springframework
.osgi
.io
.OsgiBundleResourcePatternResolver
;
10 import org
.springframework
.osgi
.util
.OsgiBundleUtils
;
12 public class OsgiResourceSet
extends DefaultResourceSet
implements
14 private BundleContext bundleContext
;
15 private Bundle bundle
= null;
16 private String bundleSymbolicName
= null;
18 private OsgiBundleResourceLoader osgiBundleResourceLoader
= null;
21 public void afterPropertiesSet() throws Exception
{
22 osgiBundleResourceLoader
= new OsgiBundleResourceLoader(getBundle());
23 if (getResourcePatternResolver() == null)
24 setResourcePatternResolver(new OsgiBundleResourcePatternResolver(
25 osgiBundleResourceLoader
));
26 super.afterPropertiesSet();
29 public Bundle
getBundle() {
32 else if (bundleSymbolicName
!= null)// do not cache
33 return OsgiBundleUtils
.findBundleBySymbolicName(bundleContext
,
37 return bundleContext
.getBundle();
40 public void setBundleContext(BundleContext bundleContext
) {
41 this.bundleContext
= bundleContext
;
45 public ResourceLoader
getResourceLoaderToUse() {
46 return osgiBundleResourceLoader
;
49 public void setBundle(Bundle bundle
) {
53 public void setBundleSymbolicName(String bundleSymbolicName
) {
54 this.bundleSymbolicName
= bundleSymbolicName
;