Search in sources :

Example 21 with AriesApplicationManager

use of org.apache.aries.application.management.AriesApplicationManager in project aries by apache.

the class IsolatedRuntimeTest method testUninstallReinstall.

@Test
@Ignore
public void testUninstallReinstall() throws Exception {
    AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
    AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("test2.eba")));
    AriesApplicationContext ctx = manager.install(app);
    app = ctx.getApplication();
    ctx.start();
    assertHelloWorldService("org.apache.aries.sample2");
    ctx.stop();
    manager.uninstall(ctx);
    assertNull(IsolationTestUtils.findIsolatedAppBundleContext(bundleContext, "org.apache.aries.sample2"));
    ctx = manager.install(app);
    ctx.start();
    assertHelloWorldService("org.apache.aries.sample2");
    manager.uninstall(ctx);
}
Also used : AriesApplicationContext(org.apache.aries.application.management.AriesApplicationContext) AriesApplicationManager(org.apache.aries.application.management.AriesApplicationManager) AriesApplication(org.apache.aries.application.management.AriesApplication) File(java.io.File) Ignore(org.junit.Ignore) Test(org.junit.Test) AbstractIntegrationTest(org.apache.aries.itest.AbstractIntegrationTest)

Example 22 with AriesApplicationManager

use of org.apache.aries.application.management.AriesApplicationManager in project aries by apache.

the class MinimumImportsTest method testAppUsingAriesApplicationManager.

@Test
public void testAppUsingAriesApplicationManager() throws Exception {
    // Register a BlueprintListener to listen for the events from the BlueprintContainer for the bundle in the appmgrclienttest.eba
    AppMgrClientBlueprintListener acbl = new AppMgrClientBlueprintListener();
    ServiceRegistration sr = bundleContext.registerService("org.osgi.service.blueprint.container.BlueprintListener", acbl, null);
    AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
    AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("appmgrclienttest.eba")));
    RepositoryAdmin repositoryAdmin = context().getService(RepositoryAdmin.class);
    Repository[] repos = repositoryAdmin.listRepositories();
    for (Repository repo : repos) {
        repositoryAdmin.removeRepository(repo.getURI());
    }
    repositoryAdmin.addRepository(new File("repository.xml").toURI().toURL());
    AriesApplicationContext ctx = manager.install(app);
    ctx.start();
    int sleepfor = 3000;
    while ((acbl.success == null || acbl.success == false) && sleepfor > 0) {
        Thread.sleep(100);
        sleepfor -= 100;
    }
    assertNotNull("Timed out - didn't receive Blueprint CREATED or FAILURE event", acbl.success);
    assertTrue("Received Blueprint FAILURE event", acbl.success);
    ctx.stop();
    manager.uninstall(ctx);
    sr.unregister();
}
Also used : Repository(org.apache.felix.bundlerepository.Repository) RepositoryAdmin(org.apache.felix.bundlerepository.RepositoryAdmin) AriesApplicationContext(org.apache.aries.application.management.AriesApplicationContext) AriesApplicationManager(org.apache.aries.application.management.AriesApplicationManager) AriesApplication(org.apache.aries.application.management.AriesApplication) File(java.io.File) ServiceRegistration(org.osgi.framework.ServiceRegistration) Test(org.junit.Test) AbstractIntegrationTest(org.apache.aries.itest.AbstractIntegrationTest)

Example 23 with AriesApplicationManager

use of org.apache.aries.application.management.AriesApplicationManager in project aries by apache.

the class OBRAppManagerTest method testAppWithApplicationManifest.

@Test
public void testAppWithApplicationManifest() throws Exception {
    RepositoryAdmin repositoryAdmin = context().getService(RepositoryAdmin.class);
    repositoryAdmin.addRepository(new File("repository.xml").toURI().toURL());
    Repository[] repos = repositoryAdmin.listRepositories();
    for (Repository repo : repos) {
        Resource[] resources = repo.getResources();
        for (Resource r : resources) {
            Capability[] cs = r.getCapabilities();
            for (Capability c : cs) {
                System.out.println(c.getName() + " : " + c.getProperties());
            }
        }
    }
    AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
    AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("test.eba")));
    app = manager.resolve(app);
    //installing requires a valid url for the bundle in repository.xml.
    AriesApplicationContext ctx = manager.install(app);
    ctx.start();
    HelloWorld hw = context().getService(HelloWorld.class);
    String result = hw.getMessage();
    assertEquals(result, "hello world");
    ctx.stop();
    manager.uninstall(ctx);
}
Also used : RepositoryAdmin(org.apache.felix.bundlerepository.RepositoryAdmin) Capability(org.apache.felix.bundlerepository.Capability) AriesApplicationManager(org.apache.aries.application.management.AriesApplicationManager) Resource(org.apache.felix.bundlerepository.Resource) AriesApplication(org.apache.aries.application.management.AriesApplication) HelloWorld(org.apache.aries.sample.HelloWorld) Repository(org.apache.felix.bundlerepository.Repository) AriesApplicationContext(org.apache.aries.application.management.AriesApplicationContext) File(java.io.File) Test(org.junit.Test) AbstractIntegrationTest(org.apache.aries.itest.AbstractIntegrationTest)

Example 24 with AriesApplicationManager

use of org.apache.aries.application.management.AriesApplicationManager in project aries by apache.

the class IsolatedCfgAdminRuntimeTest method installApplication.

private Context installApplication(IDirectory application, String applicationName) throws Exception {
    //install the application and start it
    AriesApplicationManager appManager = context().getService(AriesApplicationManager.class);
    AriesApplication app = appManager.createApplication(application);
    AriesApplicationContext appCtx = appManager.install(app);
    appCtx.start();
    return new Context(appCtx, IsolationTestUtils.findIsolatedAppBundleContext(context(), applicationName));
}
Also used : RichBundleContext(org.apache.aries.itest.RichBundleContext) AriesApplicationContext(org.apache.aries.application.management.AriesApplicationContext) BundleContext(org.osgi.framework.BundleContext) AriesApplicationContext(org.apache.aries.application.management.AriesApplicationContext) AriesApplicationManager(org.apache.aries.application.management.AriesApplicationManager) AriesApplication(org.apache.aries.application.management.AriesApplication)

Example 25 with AriesApplicationManager

use of org.apache.aries.application.management.AriesApplicationManager in project aries by apache.

the class IsolatedRuntimeTest method testAppWithoutApplicationManifest.

@Test
@Ignore
public void testAppWithoutApplicationManifest() throws Exception {
    AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
    AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("test.eba")));
    AriesApplicationContext ctx = manager.install(app);
    ctx.start();
    assertHelloWorldService("test.eba");
    manager.uninstall(ctx);
}
Also used : AriesApplicationContext(org.apache.aries.application.management.AriesApplicationContext) AriesApplicationManager(org.apache.aries.application.management.AriesApplicationManager) AriesApplication(org.apache.aries.application.management.AriesApplication) File(java.io.File) Ignore(org.junit.Ignore) Test(org.junit.Test) AbstractIntegrationTest(org.apache.aries.itest.AbstractIntegrationTest)

Aggregations

AriesApplicationManager (org.apache.aries.application.management.AriesApplicationManager)25 AriesApplication (org.apache.aries.application.management.AriesApplication)24 AbstractIntegrationTest (org.apache.aries.itest.AbstractIntegrationTest)22 Test (org.junit.Test)22 File (java.io.File)21 AriesApplicationContext (org.apache.aries.application.management.AriesApplicationContext)19 RepositoryAdmin (org.apache.felix.bundlerepository.RepositoryAdmin)9 Ignore (org.junit.Ignore)9 Repository (org.apache.felix.bundlerepository.Repository)8 HelloWorld (org.apache.aries.sample.HelloWorld)7 Bundle (org.osgi.framework.Bundle)3 BundleContext (org.osgi.framework.BundleContext)3 ArrayList (java.util.ArrayList)2 DeploymentContent (org.apache.aries.application.DeploymentContent)2 DeploymentMetadata (org.apache.aries.application.DeploymentMetadata)2 FileOutputStream (java.io.FileOutputStream)1 HashMap (java.util.HashMap)1 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)1 Content (org.apache.aries.application.Content)1 ResolveConstraint (org.apache.aries.application.management.ResolveConstraint)1