[jboss-cvs] JBossAS SVN: r89561 - in projects/jboss-osgi/trunk: runtime/equinox/src/main/resources and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat May 30 14:56:09 EDT 2009
Author: thomas.diesler at jboss.com
Date: 2009-05-30 14:56:09 -0400 (Sat, 30 May 2009)
New Revision: 89561
Modified:
projects/jboss-osgi/trunk/integration/jbossas/src/main/java/org/jboss/osgi/jbossas/integration/ManagementServiceBean.java
projects/jboss-osgi/trunk/runtime/equinox/src/main/resources/osgi-deployers-jboss-beans.xml
projects/jboss-osgi/trunk/runtime/felix/src/main/resources/osgi-deployers-jboss-beans.xml
projects/jboss-osgi/trunk/runtime/knopflerfish/src/main/resources/osgi-deployers-jboss-beans.xml
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/Capability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HuskyCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JAXBCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/MicrocontainerCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLBindingCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java
Log:
Support nested capabilities
Modified: projects/jboss-osgi/trunk/integration/jbossas/src/main/java/org/jboss/osgi/jbossas/integration/ManagementServiceBean.java
===================================================================
--- projects/jboss-osgi/trunk/integration/jbossas/src/main/java/org/jboss/osgi/jbossas/integration/ManagementServiceBean.java 2009-05-30 18:19:34 UTC (rev 89560)
+++ projects/jboss-osgi/trunk/integration/jbossas/src/main/java/org/jboss/osgi/jbossas/integration/ManagementServiceBean.java 2009-05-30 18:56:09 UTC (rev 89561)
@@ -25,6 +25,7 @@
import javax.management.MBeanServer;
+import org.jboss.logging.Logger;
import org.osgi.framework.BundleContext;
/**
@@ -35,6 +36,8 @@
*/
public class ManagementServiceBean
{
+ private static Logger log = Logger.getLogger(ManagementServiceBean.class);
+
private MBeanServer mbeanServer;
private BundleContext context;
@@ -50,6 +53,8 @@
public void start()
{
+ // Register the MBeanServer
context.registerService(MBeanServer.class.getName(), mbeanServer, null);
+ log.debug("MBeanServer registered");
}
}
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/runtime/equinox/src/main/resources/osgi-deployers-jboss-beans.xml
===================================================================
--- projects/jboss-osgi/trunk/runtime/equinox/src/main/resources/osgi-deployers-jboss-beans.xml 2009-05-30 18:19:34 UTC (rev 89560)
+++ projects/jboss-osgi/trunk/runtime/equinox/src/main/resources/osgi-deployers-jboss-beans.xml 2009-05-30 18:56:09 UTC (rev 89561)
@@ -32,6 +32,7 @@
org.xml.sax,
<!-- jboss -->
+ org.jboss.osgi.common.log;version=1.0,
org.jboss.osgi.common.service;version=1.0,
org.jboss.osgi.jbossas.integration,
org.jboss.osgi.spi;version=1.0,
Modified: projects/jboss-osgi/trunk/runtime/felix/src/main/resources/osgi-deployers-jboss-beans.xml
===================================================================
--- projects/jboss-osgi/trunk/runtime/felix/src/main/resources/osgi-deployers-jboss-beans.xml 2009-05-30 18:19:34 UTC (rev 89560)
+++ projects/jboss-osgi/trunk/runtime/felix/src/main/resources/osgi-deployers-jboss-beans.xml 2009-05-30 18:56:09 UTC (rev 89561)
@@ -30,6 +30,7 @@
org.jboss.logging,
<!-- jboss -->
+ org.jboss.osgi.common.log;version=1.0,
org.jboss.osgi.common.service;version=1.0,
org.jboss.osgi.jbossas.integration,
org.jboss.osgi.spi;version=1.0,
Modified: projects/jboss-osgi/trunk/runtime/knopflerfish/src/main/resources/osgi-deployers-jboss-beans.xml
===================================================================
--- projects/jboss-osgi/trunk/runtime/knopflerfish/src/main/resources/osgi-deployers-jboss-beans.xml 2009-05-30 18:19:34 UTC (rev 89560)
+++ projects/jboss-osgi/trunk/runtime/knopflerfish/src/main/resources/osgi-deployers-jboss-beans.xml 2009-05-30 18:56:09 UTC (rev 89561)
@@ -31,6 +31,7 @@
org.xml.sax,
<!-- jboss -->
+ org.jboss.osgi.common.log;version=1.0,
org.jboss.osgi.common.service;version=1.0,
org.jboss.osgi.jbossas.integration,
org.jboss.osgi.spi;version=1.0,
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/Capability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/Capability.java 2009-05-30 18:19:34 UTC (rev 89560)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/Capability.java 2009-05-30 18:56:09 UTC (rev 89561)
@@ -39,6 +39,8 @@
{
private String serviceName;
private Properties props = new Properties();
+
+ private Set<Capability> dependencies = new LinkedHashSet<Capability>();
private Set<String> bundles = new LinkedHashSet<String>();
public Capability(String serviceName)
@@ -61,14 +63,16 @@
bundles.add(bundle);
}
- protected void addBundles(List<String> bundles)
+ protected void addDependency(Capability dependency)
{
- for (String bundle : bundles)
- {
- addBundle(bundle);
- }
+ dependencies.add(dependency);
}
+ public List<Capability> getDependencies()
+ {
+ return new ArrayList<Capability>(dependencies);
+ }
+
public List<String> getBundles()
{
return new ArrayList<String>(bundles);
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HuskyCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HuskyCapability.java 2009-05-30 18:19:34 UTC (rev 89560)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HuskyCapability.java 2009-05-30 18:56:09 UTC (rev 89561)
@@ -38,7 +38,7 @@
// [TODO] make this a reference
super("org.jboss.osgi.husky.runtime.Connector");
- addBundles(new JMXCapability().getBundles());
+ addDependency(new JMXCapability());
addBundle("bundles/jboss-osgi-husky.jar");
}
}
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JAXBCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JAXBCapability.java 2009-05-30 18:19:34 UTC (rev 89560)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JAXBCapability.java 2009-05-30 18:56:09 UTC (rev 89561)
@@ -37,7 +37,7 @@
// [TODO] make this a reference
super("org.jboss.osgi.common.service.JAXBService");
- addBundles(new XMLParserCapability().getBundles());
+ addDependency(new XMLParserCapability());
addBundle("bundles/jboss-osgi-jaxb.jar");
}
}
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/MicrocontainerCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/MicrocontainerCapability.java 2009-05-30 18:19:34 UTC (rev 89560)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/MicrocontainerCapability.java 2009-05-30 18:56:09 UTC (rev 89561)
@@ -38,8 +38,8 @@
// [TODO] make this a reference
super("org.jboss.osgi.common.service.MicrocontainerService");
- addBundles(new JMXCapability().getBundles());
- addBundles(new XMLBindingCapability().getBundles());
+ addDependency(new JMXCapability());
+ addDependency(new XMLBindingCapability());
addBundle("bundles/jboss-osgi-microcontainer.jar");
}
}
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLBindingCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLBindingCapability.java 2009-05-30 18:19:34 UTC (rev 89560)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLBindingCapability.java 2009-05-30 18:56:09 UTC (rev 89561)
@@ -38,7 +38,7 @@
// [TODO] make this a reference
super ("org.jboss.osgi.common.service.XMLBindingService");
- addBundles(new JAXBCapability().getBundles());
+ addDependency(new JAXBCapability());
addBundle("bundles/jboss-osgi-common-core.jar");
addBundle("bundles/jboss-osgi-xml-binding.jar");
}
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java 2009-05-30 18:19:34 UTC (rev 89560)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java 2009-05-30 18:56:09 UTC (rev 89561)
@@ -88,6 +88,11 @@
public void addCapability(Capability capability) throws BundleException
{
+ // Add dependent capabilies
+ for (Capability dependency : capability.getDependencies())
+ addCapability(dependency);
+
+ // Check if the service provided by the capability exists already
OSGiServiceReference sref = getServiceReference(capability.getServiceName());
if (sref == null)
{
@@ -140,6 +145,13 @@
}
}
}
+
+ List<Capability> dependencies = capability.getDependencies();
+ Collections.reverse(dependencies);
+
+ // Remove dependent capabilities
+ for (Capability dependency : dependencies)
+ removeCapability(dependency);
}
public void startLogEntryTracking(LogEntryCache logEntryCache)
More information about the jboss-cvs-commits
mailing list