Search in sources :

Example 11 with ContainerBuilder

use of org.exoplatform.container.ContainerBuilder in project kernel by exoplatform.

the class TestManagementProvider method testContainerScopedRegistration.

public void testContainerScopedRegistration() {
    URL rootURL = getClass().getResource("root-configuration.xml");
    URL portal1URL = getClass().getResource("portal-configuration1.xml");
    URL portal2URL = getClass().getResource("portal-configuration2.xml");
    RootContainer root = new ContainerBuilder().withRoot(rootURL).withPortal("portal1", portal1URL).withPortal("portal2", portal2URL).build();
    Foo fooRoot = (Foo) root.getComponentInstanceOfType(Foo.class);
    ManagementProviderImpl provider = (ManagementProviderImpl) root.getComponentInstanceOfType(ManagementProviderImpl.class);
    PortalContainer portal1 = root.getPortalContainer("portal1");
    Foo fooPortal1 = (Foo) portal1.getComponentInstanceOfType(Foo.class);
    ManagementProviderImpl provider1 = (ManagementProviderImpl) portal1.getComponentInstanceOfType(ManagementProviderImpl.class);
    PortalContainer portal2 = root.getPortalContainer("portal2");
    Foo fooPortal2 = (Foo) portal2.getComponentInstanceOfType(Foo.class);
    ManagementProviderImpl provider2 = (ManagementProviderImpl) portal2.getComponentInstanceOfType(ManagementProviderImpl.class);
    // 
    assertEquals(6, provider.managedResources.size());
    assertTrue(provider.resources.contains(root));
    assertTrue(provider.resources.contains(root));
    assertTrue(provider.resources.contains(portal1));
    assertTrue(provider.resources.contains(portal2));
    assertTrue(provider.resources.contains(fooRoot));
    assertTrue(provider.resources.contains(fooPortal1));
    assertTrue(provider.resources.contains(fooPortal2));
    assertEquals(2, provider1.managedResources.size());
    assertEquals(portal1, provider1.managedResources.get(0).resource);
    assertEquals(fooPortal1, provider1.managedResources.get(1).resource);
    assertEquals(2, provider2.managedResources.size());
    assertEquals(portal2, provider2.managedResources.get(0).resource);
    assertEquals(fooPortal2, provider2.managedResources.get(1).resource);
}
Also used : ContainerBuilder(org.exoplatform.container.ContainerBuilder) RootContainer(org.exoplatform.container.RootContainer) URL(java.net.URL) PortalContainer(org.exoplatform.container.PortalContainer)

Example 12 with ContainerBuilder

use of org.exoplatform.container.ContainerBuilder in project kernel by exoplatform.

the class TestManagementProvider method testProviderRegistration.

public void testProviderRegistration() {
    URL url = getClass().getResource("configuration1.xml");
    RootContainer container = new ContainerBuilder().withRoot(url).build();
    ManagementProviderImpl provider = (ManagementProviderImpl) container.getComponentInstanceOfType(ManagementProviderImpl.class);
    assertNotNull(provider);
}
Also used : ContainerBuilder(org.exoplatform.container.ContainerBuilder) RootContainer(org.exoplatform.container.RootContainer) URL(java.net.URL)

Example 13 with ContainerBuilder

use of org.exoplatform.container.ContainerBuilder in project kernel by exoplatform.

the class TestManagementProvider method testManagementAware.

public void testManagementAware() {
    URL url = getClass().getResource("configuration1.xml");
    RootContainer container = new ContainerBuilder().withRoot(url).build();
    ManagementProviderImpl provider = (ManagementProviderImpl) container.getComponentInstanceOfType(ManagementProviderImpl.class);
    Foo foo = (Foo) container.getComponentInstance("Foo");
    assertEquals(2, provider.managedResources.size());
    ManagedResource fooMR = provider.managedResources.get(1);
    fooMR.register();
    assertTrue(foo.isAware());
    // 
    foo.deploy();
    assertEquals(3, provider.managedResources.size());
    ManagedResource barMR = provider.managedResources.get(2);
    assertSame(foo.bar, barMR.resource);
    barMR.register();
    assertEquals(Arrays.asList(barMR.data, fooMR.data), barMR.context.getScopingData(ScopedData.class));
    // 
    foo.undeploy();
    assertEquals(2, provider.managedResources.size());
    assertEquals(fooMR, provider.managedResources.get(1));
}
Also used : ContainerBuilder(org.exoplatform.container.ContainerBuilder) RootContainer(org.exoplatform.container.RootContainer) URL(java.net.URL)

Example 14 with ContainerBuilder

use of org.exoplatform.container.ContainerBuilder in project kernel by exoplatform.

the class TestManagementProvider method testManagedRegistrationAfterProviderRegistration.

public void testManagedRegistrationAfterProviderRegistration() {
    URL url = getClass().getResource("configuration1.xml");
    RootContainer container = new ContainerBuilder().withRoot(url).build();
    ManagementProviderImpl provider = (ManagementProviderImpl) container.getComponentInstanceOfType(ManagementProviderImpl.class);
    assertEquals(1, provider.managedResources.size());
    Object foo = container.getComponentInstance("Foo");
    assertNotNull(foo);
    assertEquals(2, provider.managedResources.size());
    ManagedResource fooMR = provider.managedResources.get(1);
    assertSame(foo, fooMR.resource);
    assertEquals(Collections.<ScopedData>emptyList(), fooMR.context.getScopingData(ScopedData.class));
    fooMR.register();
    assertEquals(Collections.singletonList(fooMR.data), fooMR.context.getScopingData(ScopedData.class));
}
Also used : ContainerBuilder(org.exoplatform.container.ContainerBuilder) RootContainer(org.exoplatform.container.RootContainer) URL(java.net.URL)

Example 15 with ContainerBuilder

use of org.exoplatform.container.ContainerBuilder in project kernel by exoplatform.

the class TestWeldContainer method testIntegration.

public void testIntegration() {
    URL rootURL = getClass().getResource("test-exo-container.xml");
    URL portalURL = getClass().getResource("test-exo-container2.xml");
    assertNotNull(rootURL);
    assertNotNull(portalURL);
    // 
    new ContainerBuilder().withRoot(rootURL).withPortal(portalURL).build();
    RootContainer root = RootContainer.getInstance();
    testIntegration(root);
    ComponentAdapter<H> adapterH = root.getComponentAdapterOfType(H.class);
    assertNull(adapterH);
    PortalContainer portal = PortalContainer.getInstance();
    adapterH = portal.getComponentAdapterOfType(H.class);
    assertNotNull(adapterH);
    H h = root.getComponentInstanceOfType(H.class);
    assertNull(h);
    h = portal.getComponentInstanceOfType(H.class);
    assertNotNull(h);
    assertSame(h, portal.getComponentInstanceOfType(H.class));
    assertSame(h, adapterH.getComponentInstance());
    List<ComponentAdapter<H>> adapters = root.getComponentAdaptersOfType(H.class);
    assertTrue(adapters == null || adapters.isEmpty());
    adapters = portal.getComponentAdaptersOfType(H.class);
    assertNotNull(adapters);
    assertEquals(1, adapters.size());
    assertSame(h, adapters.get(0).getComponentInstance());
    List<H> allH = root.getComponentInstancesOfType(H.class);
    assertTrue(allH == null || allH.isEmpty());
    allH = portal.getComponentInstancesOfType(H.class);
    assertNotNull(allH);
    assertEquals(1, allH.size());
    assertSame(h, allH.get(0));
}
Also used : ContainerBuilder(org.exoplatform.container.ContainerBuilder) RootContainer(org.exoplatform.container.RootContainer) URL(java.net.URL) ComponentAdapter(org.exoplatform.container.spi.ComponentAdapter) PortalContainer(org.exoplatform.container.PortalContainer)

Aggregations

URL (java.net.URL)15 ContainerBuilder (org.exoplatform.container.ContainerBuilder)15 RootContainer (org.exoplatform.container.RootContainer)14 PortalContainer (org.exoplatform.container.PortalContainer)4 ComponentAdapter (org.exoplatform.container.spi.ComponentAdapter)2 SimpleManagementAware (org.exoplatform.container.jmx.support.SimpleManagementAware)1 ManagementContextImpl (org.exoplatform.container.management.ManagementContextImpl)1