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();
}