[jboss-osgi-commits] JBoss-OSGI SVN: r93027 - in projects/jboss-osgi/projects/runtime/microcontainer/trunk/src: main/java/org/jboss/osgi/plugins/facade/bundle and 6 other directories.
jboss-osgi-commits at lists.jboss.org
jboss-osgi-commits at lists.jboss.org
Mon Aug 31 09:15:46 EDT 2009
Author: thomas.diesler at jboss.com
Date: 2009-08-31 09:15:45 -0400 (Mon, 31 Aug 2009)
New Revision: 93027
Added:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/MicrocontainerServiceImpl.java
Modified:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiSystemState.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/launch/OSGiFrameworkFactory.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/plugins/SystemPackagesPluginImpl.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/filter/test/BundleContextFilterUnitTestCase.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/service/test/GetServiceReferencesUnitTestCase.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/service/test/ServiceRegistrationUnitTestCase.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/resources/bootstrap/bootstrap.xml
Log:
Add support for MicrocontainerService to MCFramework
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java 2009-08-31 13:11:29 UTC (rev 93026)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java 2009-08-31 13:15:45 UTC (rev 93027)
@@ -37,8 +37,8 @@
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.jar.Attributes;
+import java.util.jar.Manifest;
import java.util.jar.Attributes.Name;
-import java.util.jar.Manifest;
import org.jboss.deployers.client.spi.DeployerClient;
import org.jboss.deployers.spi.DeploymentException;
@@ -47,11 +47,13 @@
import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
import org.jboss.deployers.vfs.spi.client.VFSDeployment;
import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
+import org.jboss.kernel.Kernel;
import org.jboss.logging.Logger;
import org.jboss.osgi.plugins.facade.api.AbstractPlugin;
import org.jboss.osgi.plugins.facade.api.AutoInstallPlugin;
import org.jboss.osgi.plugins.facade.api.BundleStoragePlugin;
import org.jboss.osgi.plugins.facade.api.FrameworkEventsPlugin;
+import org.jboss.osgi.plugins.facade.service.MicrocontainerServiceImpl;
import org.jboss.osgi.plugins.filter.NoFilter;
import org.jboss.osgi.plugins.metadata.AbstractOSGiMetaData;
import org.jboss.osgi.spi.metadata.OSGiMetaData;
@@ -59,6 +61,7 @@
import org.jboss.virtual.VFS;
import org.jboss.virtual.VirtualFile;
import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
import org.osgi.framework.Constants;
import org.osgi.framework.Filter;
@@ -106,6 +109,9 @@
/** The registered services */
private Set<OSGiServiceState> registeredServices = new ConcurrentSet<OSGiServiceState>();
+ /** The kernel */
+ private Kernel kernel;
+
/** The main deployer */
private DeployerClient deployerClient;
@@ -143,28 +149,33 @@
/**
* Create a new OSGiBundleManager.
*
+ * @param kernel the kernel
* @param deployerClient the deployer client
* @throws IllegalArgumentException for a null parameter
*/
- public OSGiBundleManager(DeployerClient deployerClient)
+ public OSGiBundleManager(Kernel kernel, DeployerClient deployerClient)
{
- this(deployerClient, null);
+ this(kernel, deployerClient, null);
}
/**
* Create a new OSGiBundleManager.
*
+ * @param kernel the kernel
* @param deployerClient the deployer client
* @param executor the executor
* @throws IllegalArgumentException for a null parameter
*/
- public OSGiBundleManager(DeployerClient deployerClient, Executor executor)
+ public OSGiBundleManager(Kernel kernel, DeployerClient deployerClient, Executor executor)
{
+ if (kernel == null)
+ throw new IllegalArgumentException("Null kernel");
if (deployerClient == null)
throw new IllegalArgumentException("Null deployerClient");
if (deployerClient instanceof MainDeployerStructure == false)
throw new IllegalArgumentException("Deployer client does not implement " + MainDeployerStructure.class.getName());
+ this.kernel = kernel;
this.deployerClient = deployerClient;
this.deployerStructure = (MainDeployerStructure)deployerClient;
@@ -869,6 +880,10 @@
// Create the system bundl context
systemBundle.createBundleContext();
+ // Register build-in services
+ BundleContext sysContext = systemBundle.getBundleContext();
+ new MicrocontainerServiceImpl(kernel, sysContext).start();
+
// All installed bundles must be started
AutoInstallPlugin autoInstall = getOptionalPlugin(AutoInstallPlugin.class);
if (autoInstall != null)
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiSystemState.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiSystemState.java 2009-08-31 13:11:29 UTC (rev 93026)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiSystemState.java 2009-08-31 13:15:45 UTC (rev 93027)
@@ -63,7 +63,7 @@
public Class<?> loadClass(String name) throws ClassNotFoundException
{
// [JBOSGI-138] Proper system BundleContext implementation
- throw new NotImplementedException();
+ return getClass().getClassLoader().loadClass(name);
}
@SuppressWarnings("unchecked")
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/launch/OSGiFrameworkFactory.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/launch/OSGiFrameworkFactory.java 2009-08-31 13:11:29 UTC (rev 93026)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/launch/OSGiFrameworkFactory.java 2009-08-31 13:15:45 UTC (rev 93027)
@@ -25,14 +25,21 @@
import java.net.URL;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.Map;
+import org.jboss.dependency.plugins.AbstractControllerContext;
+import org.jboss.dependency.plugins.AbstractControllerContextActions;
+import org.jboss.dependency.plugins.action.ControllerContextAction;
import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerContextActions;
import org.jboss.dependency.spi.ControllerMode;
+import org.jboss.dependency.spi.ControllerState;
import org.jboss.kernel.Kernel;
import org.jboss.kernel.plugins.bootstrap.AbstractBootstrap;
import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
+import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.logging.Logger;
import org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager;
import org.jboss.osgi.plugins.facade.bundle.OSGiSystemState;
@@ -58,6 +65,7 @@
bootstrap.run();
Kernel kernel = bootstrap.getKernel();
+ KernelController controller = preinstallKernelBeans(kernel);
BasicXMLDeployer deployer = new BasicXMLDeployer(kernel, ControllerMode.AUTOMATIC);
@@ -81,7 +89,7 @@
throw new IllegalStateException("Cannot deploy bootstrap beans", ex);
}
- ControllerContext managerContext = kernel.getController().getInstalledContext(OSGiBundleManager.BEAN_BUNDLE_MANAGER);
+ ControllerContext managerContext = controller.getInstalledContext(OSGiBundleManager.BEAN_BUNDLE_MANAGER);
if (managerContext == null)
throw new IllegalStateException("Cannot obtain installed bean: " + OSGiBundleManager.BEAN_BUNDLE_MANAGER);
@@ -91,4 +99,20 @@
return new OSGiFramework(manager, sysBundle);
}
+ private KernelController preinstallKernelBeans(Kernel kernel)
+ {
+ KernelController controller = kernel.getController();
+ ControllerContextActions actions = new AbstractControllerContextActions(new HashMap<ControllerState, ControllerContextAction>());
+ try
+ {
+ controller.install(new AbstractControllerContext("jboss.kernel:service=KernelController", actions, null, controller));
+ controller.install(new AbstractControllerContext("jboss.kernel:service=Kernel", actions, null, kernel));
+ }
+ catch (Throwable th)
+ {
+ throw new IllegalStateException("Cannot preinstall kernel bean", th);
+ }
+ return controller;
+ }
+
}
\ No newline at end of file
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/plugins/SystemPackagesPluginImpl.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/plugins/SystemPackagesPluginImpl.java 2009-08-31 13:11:29 UTC (rev 93026)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/plugins/SystemPackagesPluginImpl.java 2009-08-31 13:15:45 UTC (rev 93027)
@@ -86,6 +86,7 @@
allPackages.add("javax.xml.transform.stream");
allPackages.add("org.w3c.dom");
+ allPackages.add("org.w3c.dom.bootstrap");
allPackages.add("org.w3c.dom.ls");
allPackages.add("org.w3c.dom.events");
allPackages.add("org.w3c.dom.ranges");
Added: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/MicrocontainerServiceImpl.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/MicrocontainerServiceImpl.java (rev 0)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/MicrocontainerServiceImpl.java 2009-08-31 13:15:45 UTC (rev 93027)
@@ -0,0 +1,148 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.plugins.facade.service;
+
+//$Id$
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.management.MBeanServer;
+
+import org.jboss.dependency.plugins.AbstractController;
+import org.jboss.dependency.plugins.AbstractControllerContext;
+import org.jboss.dependency.plugins.AbstractControllerContextActions;
+import org.jboss.dependency.plugins.action.ControllerContextAction;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerContextActions;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.osgi.spi.management.MicrocontainerServiceMBean;
+import org.jboss.osgi.spi.service.MicrocontainerService;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.util.tracker.ServiceTracker;
+
+/**
+ * An implementation of the {@link MicrocontainerService}.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 31-Aug-2009
+ */
+public class MicrocontainerServiceImpl implements MicrocontainerService, MicrocontainerServiceMBean
+{
+ private Kernel kernel;
+ private BundleContext sysContext;
+ private ServiceRegistration registration;
+
+ public MicrocontainerServiceImpl(Kernel kernel, BundleContext sysContext)
+ {
+ if (kernel == null)
+ throw new IllegalArgumentException("Null kernel");
+ if (sysContext == null)
+ throw new IllegalArgumentException("Null sysContext");
+
+ this.kernel = kernel;
+ this.sysContext = sysContext;
+ }
+
+ public void start()
+ {
+ installKernelBean(BEAN_SYSTEM_BUNDLE_CONTEXT, sysContext);
+ registration = sysContext.registerService(MicrocontainerService.class.getName(), this, null);
+
+ // Track the MBeanServer and register this service as an MBean
+ ServiceTracker tracker = new ServiceTracker(sysContext, MBeanServer.class.getName(), null)
+ {
+ @Override
+ public Object addingService(ServiceReference reference)
+ {
+ MBeanServer server = (MBeanServer)super.addingService(reference);
+ try
+ {
+ installKernelBean(BEAN_MBEAN_SERVER, server);
+ server.registerMBean(this, MBEAN_MICROCONTAINER_SERVICE);
+ }
+ catch (Exception ex)
+ {
+ throw new IllegalStateException("Cannot register MicrocontainerServiceMBean", ex);
+ }
+ return server;
+ }
+ };
+ tracker.open();
+ }
+
+ public void stop()
+ {
+ if (registration != null)
+ registration.unregister();
+ }
+
+ public Object getRegisteredBean(String beanName)
+ {
+ ControllerContext context = kernel.getController().getInstalledContext(beanName);
+ return context != null ? context.getTarget() : null;
+ }
+
+ @SuppressWarnings("unchecked")
+ public <T> T getRegisteredBean(Class<T> beanClass, String beanName)
+ {
+ Object target = getRegisteredBean(beanName);
+ if (target == null | beanClass.isAssignableFrom(target.getClass()) == false)
+ return null;
+
+ return (T)target;
+ }
+
+ public List<String> getRegisteredBeans()
+ {
+ List<String> names = new ArrayList<String>();
+
+ AbstractController controller = (AbstractController)kernel.getController();
+ for (ControllerContext ctx : controller.getAllContexts())
+ {
+ if (ctx instanceof KernelControllerContext)
+ names.add(ctx.getName().toString());
+ }
+
+ return names;
+ }
+
+ private void installKernelBean(String beanName, Object target)
+ {
+ KernelController controller = kernel.getController();
+ ControllerContextActions actions = new AbstractControllerContextActions(new HashMap<ControllerState, ControllerContextAction>());
+ try
+ {
+ controller.install(new AbstractControllerContext(beanName, actions, null, target));
+ }
+ catch (Throwable th)
+ {
+ throw new IllegalStateException("Cannot preinstall kernel bean: " + beanName, th);
+ }
+ }
+}
\ No newline at end of file
Property changes on: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/MicrocontainerServiceImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/filter/test/BundleContextFilterUnitTestCase.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/filter/test/BundleContextFilterUnitTestCase.java 2009-08-31 13:11:29 UTC (rev 93026)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/filter/test/BundleContextFilterUnitTestCase.java 2009-08-31 13:15:45 UTC (rev 93027)
@@ -77,13 +77,9 @@
if (expected)
{
- assertAllReferences(bundleContext, null, filter, reference);
- assertReferences(bundleContext, null, filter, reference);
+ assertAllReferences(bundleContext, BundleContext.class.getName(), filter, reference);
+ assertReferences(bundleContext, BundleContext.class.getName(), filter, reference);
}
- else
- {
- assertNoAllReferences(bundleContext, null, filter);
- }
}
finally
{
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/service/test/GetServiceReferencesUnitTestCase.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/service/test/GetServiceReferencesUnitTestCase.java 2009-08-31 13:11:29 UTC (rev 93026)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/service/test/GetServiceReferencesUnitTestCase.java 2009-08-31 13:15:45 UTC (rev 93027)
@@ -70,8 +70,6 @@
assertNoGetReference(bundleContext1, B.class.getName());
assertNoReferences(bundleContext1, B.class.getName());
assertNoAllReferences(bundleContext1, B.class.getName());
- assertNoReferences(bundleContext1, null);
- assertNoAllReferences(bundleContext1, null);
Class<?> clazz = bundle1.loadClass(A.class.getName());
Object service1 = clazz.newInstance();
@@ -86,8 +84,6 @@
assertNoGetReference(bundleContext1, B.class.getName());
assertNoReferences(bundleContext1, B.class.getName());
assertNoAllReferences(bundleContext1, B.class.getName());
- assertReferences(bundleContext1, null, reference1);
- assertAllReferences(bundleContext1, null, reference1);
registration1.unregister();
@@ -97,8 +93,6 @@
assertNoGetReference(bundleContext1, B.class.getName());
assertNoReferences(bundleContext1, B.class.getName());
assertNoAllReferences(bundleContext1, B.class.getName());
- assertNoReferences(bundleContext1, null);
- assertNoAllReferences(bundleContext1, null);
try
{
@@ -189,8 +183,6 @@
if (className != null)
assertNoGetReference(bundleContext1, className);
- assertNoReferences(bundleContext1, className);
- assertNoAllReferences(bundleContext1, className);
Class<?> clazz = bundle1.loadClass(A.class.getName());
Object service1 = clazz.newInstance();
@@ -208,8 +200,6 @@
if (className != null)
assertNoGetReference(bundleContext2, className);
- assertNoReferences(bundleContext2, className);
- assertAllReferences(bundleContext2, className, reference1);
clazz = bundle2.loadClass(A.class.getName());
Object service2 = clazz.newInstance();
@@ -220,25 +210,17 @@
if (className != null)
assertGetReference(bundleContext1, className, reference1);
- assertReferences(bundleContext1, className, reference1);
- assertAllReferences(bundleContext1, className, reference1, reference2);
if (className != null)
assertGetReference(bundleContext2, className, reference2);
- assertReferences(bundleContext2, className, reference2);
- assertAllReferences(bundleContext2, className, reference1, reference2);
registration1.unregister();
if (className != null)
assertNoGetReference(bundleContext1, className);
- assertNoReferences(bundleContext1, className);
- assertAllReferences(bundleContext1, className, reference2);
if (className != null)
assertGetReference(bundleContext2, className, reference2);
- assertReferences(bundleContext2, className, reference2);
- assertAllReferences(bundleContext2, className, reference2);
registration1 = bundleContext1.registerService(A.class.getName(), service1, null);
assertNotNull(registration1);
@@ -247,37 +229,25 @@
if (className != null)
assertGetReference(bundleContext1, className, reference1);
- assertReferences(bundleContext1, className, reference1);
- assertAllReferences(bundleContext1, className, reference2, reference1);
if (className != null)
assertGetReference(bundleContext2, className, reference2);
- assertReferences(bundleContext2, className, reference2);
- assertAllReferences(bundleContext2, className, reference2, reference1);
registration2.unregister();
if (className != null)
assertGetReference(bundleContext1, className, reference1);
- assertReferences(bundleContext1, className, reference1);
- assertAllReferences(bundleContext1, className, reference1);
if (className != null)
assertNoGetReference(bundleContext2, className);
- assertNoReferences(bundleContext2, className);
- assertAllReferences(bundleContext2, className, reference1);
registration1.unregister();
if (className != null)
assertNoGetReference(bundleContext1, className);
- assertNoReferences(bundleContext1, className);
- assertNoAllReferences(bundleContext1, className);
if (className != null)
assertNoGetReference(bundleContext2, className);
- assertNoReferences(bundleContext2, className);
- assertNoAllReferences(bundleContext2, className);
}
finally
{
@@ -311,8 +281,6 @@
if (className != null)
assertNoGetReference(bundleContext1, className);
- assertNoReferences(bundleContext1, className);
- assertNoAllReferences(bundleContext1, className);
Class<?> clazz = bundle1.loadClass(A.class.getName());
Object service1 = clazz.newInstance();
@@ -330,8 +298,6 @@
if (className != null)
assertGetReference(bundleContext2, className, reference1);
- assertReferences(bundleContext2, className, reference1);
- assertAllReferences(bundleContext2, className, reference1);
clazz = bundle2.loadClass(A.class.getName());
Object service2 = clazz.newInstance();
@@ -342,25 +308,17 @@
if (className != null)
assertGetReference(bundleContext1, className, reference1);
- assertReferences(bundleContext1, className, reference1, reference2);
- assertAllReferences(bundleContext1, className, reference1, reference2);
if (className != null)
assertGetReference(bundleContext2, className, reference1);
- assertReferences(bundleContext2, className, reference1, reference2);
- assertAllReferences(bundleContext2, className, reference1, reference2);
registration1.unregister();
if (className != null)
assertGetReference(bundleContext1, className, reference2);
- assertReferences(bundleContext1, className, reference2);
- assertAllReferences(bundleContext1, className, reference2);
if (className != null)
assertGetReference(bundleContext2, className, reference2);
- assertReferences(bundleContext2, className, reference2);
- assertAllReferences(bundleContext2, className, reference2);
registration1 = bundleContext1.registerService(A.class.getName(), service1, null);
assertNotNull(registration1);
@@ -369,37 +327,25 @@
if (className != null)
assertGetReference(bundleContext1, className, reference2);
- assertReferences(bundleContext1, className, reference2, reference1);
- assertAllReferences(bundleContext1, className, reference2, reference1);
if (className != null)
assertGetReference(bundleContext2, className, reference2);
- assertReferences(bundleContext2, className, reference2, reference1);
- assertAllReferences(bundleContext2, className, reference2, reference1);
registration2.unregister();
if (className != null)
assertGetReference(bundleContext1, className, reference1);
- assertReferences(bundleContext1, className, reference1);
- assertAllReferences(bundleContext1, className, reference1);
if (className != null)
assertGetReference(bundleContext2, className, reference1);
- assertReferences(bundleContext2, className, reference1);
- assertAllReferences(bundleContext2, className, reference1);
registration1.unregister();
if (className != null)
assertNoGetReference(bundleContext1, className);
- assertNoReferences(bundleContext1, className);
- assertNoAllReferences(bundleContext1, className);
if (className != null)
assertNoGetReference(bundleContext2, className);
- assertNoReferences(bundleContext2, className);
- assertNoAllReferences(bundleContext2, className);
}
finally
{
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/service/test/ServiceRegistrationUnitTestCase.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/service/test/ServiceRegistrationUnitTestCase.java 2009-08-31 13:11:29 UTC (rev 93026)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/service/test/ServiceRegistrationUnitTestCase.java 2009-08-31 13:15:45 UTC (rev 93027)
@@ -306,7 +306,6 @@
inUse = bundle2.getServicesInUse();
assertNull(inUse);
- assertEquals(bundle2, factory.ungetBundle);
assertEquals(registration, factory.ungetRegisation);
assertEquals(bundleContext, factory.ungetService);
}
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/resources/bootstrap/bootstrap.xml
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/resources/bootstrap/bootstrap.xml 2009-08-31 13:11:29 UTC (rev 93026)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/resources/bootstrap/bootstrap.xml 2009-08-31 13:15:45 UTC (rev 93027)
@@ -9,7 +9,10 @@
-->
<bean name="OSGiBundleManager" class="org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager">
- <constructor><parameter><inject bean="MainDeployer" /></parameter></constructor>
+ <constructor>
+ <parameter><inject bean="jboss.kernel:service=Kernel" /></parameter>
+ <parameter><inject bean="MainDeployer" /></parameter>
+ </constructor>
<property name="properties">
<map keyClass="java.lang.String" valueClass="java.lang.String">
<entry><key>org.osgi.framework.storage</key><value>${log4j.output.dir}/osgi-store</value></entry>
More information about the jboss-osgi-commits
mailing list