[jboss-cvs] JBossAS SVN: r96648 - in projects/jboss-osgi/trunk/reactor/framework/src: test/java/org/jboss/test/osgi/resolver and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Nov 20 12:43:11 EST 2009


Author: thomas.diesler at jboss.com
Date: 2009-11-20 12:43:11 -0500 (Fri, 20 Nov 2009)
New Revision: 96648

Modified:
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/PackageAdminImpl.java
   projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/AbstractImportExportTest.java
Log:
Fix return of PackageAdmin.resolveBundles()

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/PackageAdminImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/PackageAdminImpl.java	2009-11-20 17:16:41 UTC (rev 96647)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/PackageAdminImpl.java	2009-11-20 17:43:11 UTC (rev 96648)
@@ -195,7 +195,7 @@
          for (Bundle bundle : bundleArr)
          {
             if (bundle.getState() == Bundle.INSTALLED)
-               unresolvedBundles.add(bundle);
+               unresolvedBundles.add(OSGiBundleState.assertBundleState(bundle));
          }
       }
 

Modified: projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/AbstractImportExportTest.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/AbstractImportExportTest.java	2009-11-20 17:16:41 UTC (rev 96647)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/AbstractImportExportTest.java	2009-11-20 17:43:11 UTC (rev 96648)
@@ -29,9 +29,6 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import java.util.Arrays;
-import java.util.List;
-
 import org.jboss.osgi.framework.resolver.ExportPackage;
 import org.jboss.osgi.framework.resolver.ImportPackage;
 import org.jboss.osgi.framework.resolver.Resolver;
@@ -67,7 +64,8 @@
          {
             // Resolve the installed bundles
             PackageAdmin packageAdmin = getPackageAdmin();
-            packageAdmin.resolveBundles(null);
+            boolean allResolved = packageAdmin.resolveBundles(null);
+            assertTrue("All resolved", allResolved);
 
             // Verify bundle states
             assertEquals("BundleA RESOLVED", Bundle.RESOLVED, bundleA.getState());
@@ -100,7 +98,8 @@
       {
          // Resolve the installed bundles
          PackageAdmin packageAdmin = getPackageAdmin();
-         packageAdmin.resolveBundles(null);
+         boolean allResolved = packageAdmin.resolveBundles(null);
+         assertFalse("Not all resolved", allResolved);
 
          // Verify bundle states
          assertEquals("BundleA INSTALLED", Bundle.INSTALLED, bundleA.getState());
@@ -114,9 +113,6 @@
    @Test
    public void testExplicitBundleResolve() throws Exception
    {
-      Resolver resolver = getTestResolver();
-      assertEquals("No bundles in framework", 1, getSystemContext().getBundles().length);
-
       // Bundle-SymbolicName: simpleimport
       // Import-Package: org.jboss.test.osgi.classloader.support.a
       VirtualFile fileA = assembleBundle("bundleA", "/bundles/resolver/simpleimport");
@@ -130,19 +126,20 @@
          try
          {
             // Only resolve BundleB
-            List<ResolverBundle> resolved = resolver.resolve(Arrays.asList(new Bundle[] { bundleB }));
-            assertEquals("BundleB resolved", 1, resolved.size());
-            assertEquals(bundleB.getSymbolicName(), resolved.get(0).getSymbolicName());
+            PackageAdmin packageAdmin = getPackageAdmin();
+            boolean allResolved = packageAdmin.resolveBundles(new Bundle[] { bundleB });
+            assertTrue("All resolved", allResolved);
+            
+            // Verify bundle states
+            assertEquals("BundleA INSTALLED", Bundle.INSTALLED, bundleA.getState());
+            assertEquals("BundleB RESOLVED", Bundle.RESOLVED, bundleB.getState());
 
-            // Verify resBundle for bundleA
-            ResolverBundle resBundleA = resolver.getBundle(bundleA);
-            assertFalse("BundleA not resolved", resBundleA.isResolved());
+            allResolved = packageAdmin.resolveBundles(null);
+            assertTrue("All resolved", allResolved);
 
-            // Resolve the installed bundles
-            resolver.resolve(null);
-
-            // Verify resBundle for bundleA
-            assertTrue("BundleA resolved", resBundleA.isResolved());
+            // Verify bundle states
+            assertEquals("BundleA RESOLVED", Bundle.RESOLVED, bundleA.getState());
+            assertEquals("BundleB RESOLVED", Bundle.RESOLVED, bundleB.getState());
          }
          finally
          {
@@ -158,28 +155,25 @@
    @Test
    public void testSelfImportPackage() throws Exception
    {
-      Resolver resolver = getTestResolver();
-      assertEquals("No bundles in framework", 1, getSystemContext().getBundles().length);
-
       // Bundle-SymbolicName: selfimport
       // Export-Package: org.jboss.test.osgi.classloader.support.a
       // Import-Package: org.jboss.test.osgi.classloader.support.a
-      VirtualFile fileA = assembleBundle("bundleA", "/bundles/resolver/selfimport");
+      VirtualFile fileA = assembleBundle("bundleA", "/bundles/resolver/selfimport", A.class);
       Bundle bundleA = framework.installBundle(fileA);
       try
       {
          // Resolve the installed bundles
-         resolver.resolve(null);
+         PackageAdmin packageAdmin = getPackageAdmin();
+         boolean allResolved = packageAdmin.resolveBundles(null);
+         assertTrue("All resolved", allResolved);
 
-         // Verify resBundle for bundleA
-         ResolverBundle resBundleA = resolver.getBundle(bundleA);
-         assertTrue("BundleA resolved", resBundleA.isResolved());
-         ImportPackage importPackage = resBundleA.getImportPackage(A.class.getPackage().getName());
-         assertNotNull("Exporter not null", importPackage.getExporter());
+         // Verify bundle states
+         assertEquals("BundleA RESOLVED", Bundle.RESOLVED, bundleA.getState());
 
-         // Verify that bundleA is wired to the exporter
-         ExportPackage exporter = resolver.getExporter(bundleA, A.class.getPackage().getName());
-         assertEquals(bundleA.getSymbolicName(), exporter.getOwner().getSymbolicName());
+         // Verify that the class was loaded from bundleB
+         Class<?> classA = bundleA.loadClass(A.class.getName());
+         Bundle loaderBundle = packageAdmin.getBundle(classA);
+         assertEquals(bundleA.getSymbolicName(), loaderBundle.getSymbolicName());
       }
       finally
       {
@@ -190,9 +184,6 @@
    @Test
    public void testVersionImportPackage() throws Exception
    {
-      Resolver resolver = getTestResolver();
-      assertEquals("No bundles in framework", 1, getSystemContext().getBundles().length);
-
       //Bundle-SymbolicName: packageimportversion
       //Import-Package: org.jboss.test.osgi.classloader.support.a;version="[0.0.0,1.0.0]"
       VirtualFile fileA = assembleBundle("bundleA", "/bundles/resolver/packageimportversion");
@@ -206,23 +197,18 @@
          try
          {
             // Resolve the installed bundles
-            resolver.resolve(null);
+            PackageAdmin packageAdmin = getPackageAdmin();
+            boolean allResolved = packageAdmin.resolveBundles(null);
+            assertTrue("All resolved", allResolved);
 
-            // Verify resBundle for bundleA
-            ResolverBundle resBundleA = resolver.getBundle(bundleA);
-            assertTrue("BundleA resolved", resBundleA.isResolved());
-            ImportPackage importPackage = resBundleA.getImportPackage(A.class.getPackage().getName());
-            assertNotNull("Exporter not null", importPackage.getExporter());
+            // Verify bundle states
+            assertEquals("BundleA RESOLVED", Bundle.RESOLVED, bundleA.getState());
+            assertEquals("BundleB RESOLVED", Bundle.RESOLVED, bundleB.getState());
 
-            // Verify that bundleA is wired to the exporter
-            ExportPackage exporter = resolver.getExporter(bundleA, A.class.getPackage().getName());
-            assertEquals(bundleB.getSymbolicName(), exporter.getOwner().getSymbolicName());
-
-            // Verify resBundle for bundleB
-            ResolverBundle resBundleB = resolver.getBundle(bundleB);
-            assertTrue("BundleB resolved", resBundleB.isResolved());
-            ExportPackage exportPackage = resBundleB.getExportPackage(A.class.getPackage().getName());
-            assertEquals("Importers not null", 1, exportPackage.getImporters().size());
+            // Verify that the class was loaded from bundleB
+            Class<?> classA = bundleA.loadClass(A.class.getName());
+            Bundle loaderBundle = packageAdmin.getBundle(classA);
+            assertEquals(bundleB.getSymbolicName(), loaderBundle.getSymbolicName());
          }
          finally
          {




More information about the jboss-cvs-commits mailing list