[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