[jboss-cvs] JBossAS SVN: r93448 - projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Sep 14 03:39:10 EDT 2009
Author: thomas.diesler at jboss.com
Date: 2009-09-14 03:39:10 -0400 (Mon, 14 Sep 2009)
New Revision: 93448
Modified:
projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedFramework.java
Log:
Managed Framework uses system context
Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedFramework.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedFramework.java 2009-09-14 07:08:37 UTC (rev 93447)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedFramework.java 2009-09-14 07:39:10 UTC (rev 93448)
@@ -56,33 +56,32 @@
final Logger log = Logger.getLogger(ManagedFramework.class);
private MBeanServer mbeanServer;
- private BundleContext systemContext;
+ private BundleContext bundleContext;
- public ManagedFramework(BundleContext systemContext, MBeanServer mbeanServer)
+ public ManagedFramework(BundleContext bundleContext, MBeanServer mbeanServer)
{
- this.systemContext = systemContext;
+ if (bundleContext == null)
+ throw new IllegalArgumentException("Null BundleContext");
+ this.bundleContext = bundleContext;
+
+ if (mbeanServer == null)
+ throw new IllegalArgumentException("Null MBeanServer");
this.mbeanServer = mbeanServer;
+
+ if (bundleContext.getBundle().getBundleId() != 0)
+ throw new IllegalArgumentException ("Not the system bundle context: " + bundleContext);
}
- public ManagedFramework()
+ public BundleContext getBundleContext()
{
+ return bundleContext;
}
- public void setMbeanServer(MBeanServer server)
- {
- this.mbeanServer = server;
- }
-
- public void setSystemContext(BundleContext systemContext)
- {
- this.systemContext = systemContext;
- }
-
@SuppressWarnings("unchecked")
public ObjectName getBundle(String symbolicName, String version)
{
ObjectName oname = null;
-
+
ObjectName pattern = ObjectNameFactory.create(Constants.DOMAIN_NAME + ":bundle=" + symbolicName + ",*");
Set<ObjectName> names = mbeanServer.queryNames(pattern, null);
@@ -91,7 +90,7 @@
// [TODO] Support bundle version
if (names.size() > 1)
throw new IllegalArgumentException("Multiple bundles found: " + names);
-
+
oname = names.iterator().next();
}
@@ -102,7 +101,7 @@
public ObjectName getBundle(long bundleId)
{
ObjectName oname = null;
-
+
ObjectName pattern = ObjectNameFactory.create(Constants.DOMAIN_NAME + ":id=" + bundleId + ",*");
Set<ObjectName> names = mbeanServer.queryNames(pattern, null);
@@ -126,23 +125,23 @@
public ManagedServiceReference getServiceReference(String clazz)
{
- ManagedServiceReference manref = null;
- ServiceReference sref = systemContext.getServiceReference(clazz);
- if (sref != null)
- {
- Map<String, Object> props = new HashMap<String, Object>();
- for (String key : sref.getPropertyKeys())
- props.put(key, sref.getProperty(key));
+ ServiceReference sref = getBundleContext().getServiceReference(clazz);
+ if (sref == null)
+ return null;
- manref = new ManagedServiceReference(props);
+ Map<String, Object> props = new HashMap<String, Object>();
+ for (String key : sref.getPropertyKeys())
+ {
+ props.put(key, sref.getProperty(key));
}
- return manref;
+
+ return new ManagedServiceReference(props);
}
public ManagedServiceReference[] getServiceReferences(String clazz, String filter) throws InvalidSyntaxException
{
List<ManagedServiceReference> foundRefs = new ArrayList<ManagedServiceReference>();
- ServiceReference[] srefs = systemContext.getServiceReferences(clazz, filter);
+ ServiceReference[] srefs = getBundleContext().getServiceReferences(clazz, filter);
if (srefs != null)
{
for (ServiceReference sref : srefs)
@@ -164,17 +163,17 @@
public void refreshPackages(String[] symbolicNames)
{
- ServiceReference sref = systemContext.getServiceReference(PackageAdmin.class.getName());
+ ServiceReference sref = getBundleContext().getServiceReference(PackageAdmin.class.getName());
if (sref != null)
{
- PackageAdmin service = (PackageAdmin)systemContext.getService(sref);
+ PackageAdmin service = (PackageAdmin)getBundleContext().getService(sref);
Bundle[] bundles = null;
if (symbolicNames != null)
{
List<String> nameList = Arrays.asList(symbolicNames);
Set<Bundle> bundleSet = new HashSet<Bundle>();
- for (Bundle bundle : systemContext.getBundles())
+ for (Bundle bundle : getBundleContext().getBundles())
{
if (nameList.contains(bundle.getSymbolicName()))
bundleSet.add(bundle);
More information about the jboss-cvs-commits
mailing list