You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ma...@apache.org on 2010/09/03 20:07:23 UTC

svn commit: r992396 - in /incubator/aries/trunk/application: application-itests/src/test/java/org/apache/aries/application/runtime/itests/ application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/

Author: mahrwald
Date: Fri Sep  3 18:07:23 2010
New Revision: 992396

URL: http://svn.apache.org/viewvc?rev=992396&view=rev
Log:
ARIES-398: Support fragment bundle inside application

Modified:
    incubator/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedRuntimeTest.java
    incubator/aries/trunk/application/application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/BundleFrameworkImpl.java

Modified: incubator/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedRuntimeTest.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedRuntimeTest.java?rev=992396&r1=992395&r2=992396&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedRuntimeTest.java (original)
+++ incubator/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedRuntimeTest.java Fri Sep  3 18:07:23 2010
@@ -119,6 +119,29 @@ public class IsolatedRuntimeTest extends
     sampleJar2.writeOut(fout);
     fout.close();
     
+    ZipFixture ebaWithFragment = ArchiveFixture.newZip()
+      .jar("sample.jar")
+        .manifest().symbolicName("org.apache.aries.isolated.sample")
+          .attribute("Bundle-Version", "1.0.0")
+          .end()
+      .end()
+      .jar("fragment.jar")
+        .manifest().symbolicName("org.apache.aries.isolated.fragment")
+          .attribute("Bundle-Version", "1.0.0")
+          .attribute("Fragment-Host", "org.apache.aries.isolated.sample")
+        .end()
+        .binary("org/apache/aries/isolated/sample/HelloWorld.class", 
+            IsolatedRuntimeTest.class.getClassLoader().getResourceAsStream("org/apache/aries/isolated/sample/HelloWorld.class"))
+        .binary("org/apache/aries/isolated/sample/HelloWorldImpl.class", 
+            IsolatedRuntimeTest.class.getClassLoader().getResourceAsStream("org/apache/aries/isolated/sample/HelloWorldImpl.class"))
+        .binary("OSGI-INF/blueprint/sample-blueprint.xml", 
+            IsolatedRuntimeTest.class.getClassLoader().getResourceAsStream("isolated/sample-blueprint.xml"))
+        .end();
+    
+    fout = new FileOutputStream("withFragment.eba");
+    ebaWithFragment.writeOut(fout);
+    fout.close();
+    
     createdApplications = true;
   }
   
@@ -129,14 +152,8 @@ public class IsolatedRuntimeTest extends
     AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("test.eba")));
     AriesApplicationContext ctx = manager.install(app);
     
-    try
-    {
-      ctx.start();
-      assertHelloWorldService("test.eba");
-    } finally {
-      ctx.stop();
-      manager.uninstall(ctx);
-    }
+    ctx.start();
+    assertHelloWorldService("test.eba");
   }
   
   @Test
@@ -146,16 +163,8 @@ public class IsolatedRuntimeTest extends
     AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("test2.eba")));
     AriesApplicationContext ctx = manager.install(app);
     
-    try
-    {
-      ctx.start();
-      
-      assertHelloWorldService("org.apache.aries.sample2");
-      
-    } finally {
-      ctx.stop();
-      manager.uninstall(ctx);
-    }
+    ctx.start();
+    assertHelloWorldService("org.apache.aries.sample2");
   }
   
   @Test
@@ -165,25 +174,30 @@ public class IsolatedRuntimeTest extends
     AriesApplicationContext ctx = manager.install(app);
     
     app = ctx.getApplication();
+
+    ctx.start();
+
+    assertHelloWorldService("org.apache.aries.sample2");
+
+    ctx.stop();
+    manager.uninstall(ctx);
+
+    ctx = manager.install(app);
+    ctx.start();
+
+    assertHelloWorldService("org.apache.aries.sample2");
+  }
+  
+  @Test
+  public void testAppWithFragment() throws Exception
+  {
+    AriesApplicationManager manager = getOsgiService(AriesApplicationManager.class);
+    AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("withFragment.eba")));
+    AriesApplicationContext ctx = manager.install(app);
+
+    ctx.start();
     
-    try
-    {
-      ctx.start();
-      
-      assertHelloWorldService("org.apache.aries.sample2");
-      
-      ctx.stop();
-      manager.uninstall(ctx);
-      
-      ctx = manager.install(app);
-      ctx.start();
-      
-      assertHelloWorldService("org.apache.aries.sample2");
-      
-    } finally {
-      ctx.stop();
-      manager.uninstall(ctx);
-    }    
+    assertHelloWorldService("withFragment.eba");
   }
 
   @Test
@@ -270,6 +284,7 @@ public class IsolatedRuntimeTest extends
     assertHelloWorldService("org.apache.aries.sample2", "hello brave new world");
   }  
   
+
   private void assertHelloWorldService(String appName) throws Exception
   {
     assertHelloWorldService(appName, "hello world");

Modified: incubator/aries/trunk/application/application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/BundleFrameworkImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/BundleFrameworkImpl.java?rev=992396&r1=992395&r2=992396&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/BundleFrameworkImpl.java (original)
+++ incubator/aries/trunk/application/application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/BundleFrameworkImpl.java Fri Sep  3 18:07:23 2010
@@ -59,7 +59,7 @@ public class BundleFrameworkImpl impleme
     {
       _compositeBundle.start(Bundle.START_ACTIVATION_POLICY);
   
-      _packageAdminTracker = new ServiceTracker(_compositeBundle.getBundleContext(),
+      _packageAdminTracker = new ServiceTracker(_compositeBundle.getCompositeFramework().getBundleContext(),
           PackageAdmin.class.getName(), null);
       _packageAdminTracker.open();
     }