Search in sources :

Example 26 with WeldContainer

use of org.jboss.weld.environment.se.WeldContainer in project core by weld.

the class WeldBuilderTest method testSyntheticBeanArchivePackages.

@Test
public void testSyntheticBeanArchivePackages() throws Exception {
    Weld weld = new Weld().disableDiscovery();
    try (WeldContainer container = weld.packages(Alpha1.class).initialize()) {
        assertEquals(1, container.select(Alpha1.class).get().getVal());
        assertEquals(2, container.select(Alpha2.class).get().getVal());
        assertTrue(container.select(Beta1.class).isUnsatisfied());
        assertTrue(container.select(Beta2.class).isUnsatisfied());
    }
    try (WeldContainer container = weld.reset().addPackage(true, Alpha2.class).initialize()) {
        assertEquals(1, container.select(Alpha1.class).get().getVal());
        assertEquals(2, container.select(Alpha2.class).get().getVal());
        assertEquals(11, container.select(Beta1.class).get().getVal());
        assertEquals(22, container.select(Beta2.class).get().getVal());
    }
    try (WeldContainer container = weld.reset().addPackages(true, Beta1.class).initialize()) {
        assertTrue(container.select(Alpha1.class).isUnsatisfied());
        assertTrue(container.select(Alpha2.class).isUnsatisfied());
        assertEquals(11, container.select(Beta1.class).get().getVal());
        assertEquals(22, container.select(Beta2.class).get().getVal());
    }
    // Scan the package from cdi-api.jar
    try (WeldContainer container = weld.reset().packages(ObserverException.class).initialize()) {
        assertFalse(container.select(ObserverException.class).isUnsatisfied());
    }
    // Scan the package recursively from cdi-api.jar
    try (WeldContainer container = weld.reset().addPackage(true, Any.class).initialize()) {
        // There is no managed bean discovered, therefore we only check the the bean class was found
        boolean found = false;
        for (BeanDeploymentArchive beanDeploymentArchive : Container.instance(container.getId()).beanDeploymentArchives().keySet()) {
            if (beanDeploymentArchive.getBeanClasses().contains(DefinitionException.class.getName())) {
                found = true;
                break;
            }
        }
        assertTrue(found);
    }
}
Also used : Beta1(org.jboss.weld.environment.se.test.builder.alphas.betas.Beta1) Alpha1(org.jboss.weld.environment.se.test.builder.alphas.Alpha1) Beta2(org.jboss.weld.environment.se.test.builder.alphas.betas.Beta2) Alpha2(org.jboss.weld.environment.se.test.builder.alphas.Alpha2) ObserverException(javax.enterprise.event.ObserverException) WeldContainer(org.jboss.weld.environment.se.WeldContainer) BeanDeploymentArchive(org.jboss.weld.bootstrap.spi.BeanDeploymentArchive) DefinitionException(javax.enterprise.inject.spi.DefinitionException) Any(javax.enterprise.inject.Any) Weld(org.jboss.weld.environment.se.Weld) Test(org.junit.Test)

Example 27 with WeldContainer

use of org.jboss.weld.environment.se.WeldContainer in project core by weld.

the class WeldBuilderTest method testResetAll.

@Test
public void testResetAll() {
    Weld weld = new Weld().containerId("FOO").disableDiscovery().property(ConfigurationKey.RELAXED_CONSTRUCTION.get(), false).beanClasses(Foo.class);
    weld.resetAll();
    assertTrue(weld.isDiscoveryEnabled());
    assertNull(weld.getContainerId());
    weld.disableDiscovery();
    try (WeldContainer container = weld.beanClasses(Bar.class).initialize()) {
        assertTrue(container.select(Foo.class).isUnsatisfied());
        assertTrue(container.select(BeanManagerImpl.class).get().getServices().get(WeldConfiguration.class).getBooleanProperty(ConfigurationKey.BEAN_IDENTIFIER_INDEX_OPTIMIZATION));
    }
}
Also used : BeanManagerImpl(org.jboss.weld.manager.BeanManagerImpl) WeldContainer(org.jboss.weld.environment.se.WeldContainer) Weld(org.jboss.weld.environment.se.Weld) Test(org.junit.Test)

Example 28 with WeldContainer

use of org.jboss.weld.environment.se.WeldContainer in project core by weld.

the class WeldBuilderTest method testExtensions.

@Test
public void testExtensions() {
    try (WeldContainer container = new Weld().disableDiscovery().beanClasses(Bar.class).extensions(new TestExtension()).initialize()) {
        assertEquals(10, container.select(Foo.class).get().getVal());
        assertFalse(container.select(TestExtension.class).isUnsatisfied());
    }
}
Also used : WeldContainer(org.jboss.weld.environment.se.WeldContainer) Weld(org.jboss.weld.environment.se.Weld) Test(org.junit.Test)

Example 29 with WeldContainer

use of org.jboss.weld.environment.se.WeldContainer in project core by weld.

the class WeldBuilderTest method testLifecycle.

@Test
public void testLifecycle() {
    Weld weld = new Weld().disableDiscovery().beanClasses(Foo.class, DependentFoo.class);
    try (WeldContainer container = weld.initialize()) {
        container.select(DependentFoo.class).get().getVal();
    }
    assertTrue(DependentFoo.destroyCallbackCalled.get());
    DependentFoo.reset();
    try (WeldContainer container = weld.initialize()) {
        DependentFoo dependentFoo = container.select(DependentFoo.class).get();
        dependentFoo.getVal();
        container.destroy(dependentFoo);
        assertTrue(DependentFoo.destroyCallbackCalled.get());
    }
}
Also used : WeldContainer(org.jboss.weld.environment.se.WeldContainer) Weld(org.jboss.weld.environment.se.Weld) Test(org.junit.Test)

Example 30 with WeldContainer

use of org.jboss.weld.environment.se.WeldContainer in project core by weld.

the class WeldBuilderTest method testInterceptorBuilder.

@Test
public void testInterceptorBuilder() {
    try (WeldContainer container = new Weld().disableDiscovery().beanClasses(Coorge.class, BuilderInterceptorBinding.class).addContainerLifecycleObserver(ContainerLifecycleObserver.afterBeanDiscovery((e) -> e.addInterceptor().addBinding(new BuilderInterceptorBinding.BuilderInterceptorBindingLiteral()).priority(2500).intercept(InterceptionType.AROUND_INVOKE, invocationContext -> {
        try {
            Integer result = ((Integer) invocationContext.proceed());
            return result + 10;
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return null;
    }))).initialize()) {
        Coorge coorge = container.select(Coorge.class).get();
        assertEquals(coorge.ping(), 11);
    }
}
Also used : Alpha2(org.jboss.weld.environment.se.test.builder.alphas.Alpha2) ContainerLifecycleObserver.afterBeanDiscovery(org.jboss.weld.environment.se.ContainerLifecycleObserver.afterBeanDiscovery) ConfigurationKey(org.jboss.weld.config.ConfigurationKey) Assert.assertTrue(org.junit.Assert.assertTrue) ObserverException(javax.enterprise.event.ObserverException) Test(org.junit.Test) BeanDeploymentArchive(org.jboss.weld.bootstrap.spi.BeanDeploymentArchive) WeldContainer(org.jboss.weld.environment.se.WeldContainer) DefinitionException(javax.enterprise.inject.spi.DefinitionException) Alpha1(org.jboss.weld.environment.se.test.builder.alphas.Alpha1) WeldConfiguration(org.jboss.weld.config.WeldConfiguration) Beta2(org.jboss.weld.environment.se.test.builder.alphas.betas.Beta2) ArrayList(java.util.ArrayList) Beta1(org.jboss.weld.environment.se.test.builder.alphas.betas.Beta1) List(java.util.List) Assert.assertNull(org.junit.Assert.assertNull) BeanManagerImpl(org.jboss.weld.manager.BeanManagerImpl) ContainerLifecycleObserver(org.jboss.weld.environment.se.ContainerLifecycleObserver) Assert.assertFalse(org.junit.Assert.assertFalse) Any(javax.enterprise.inject.Any) InterceptionType(javax.enterprise.inject.spi.InterceptionType) Assert.assertEquals(org.junit.Assert.assertEquals) Container(org.jboss.weld.Container) Weld(org.jboss.weld.environment.se.Weld) WeldContainer(org.jboss.weld.environment.se.WeldContainer) ObserverException(javax.enterprise.event.ObserverException) DefinitionException(javax.enterprise.inject.spi.DefinitionException) Weld(org.jboss.weld.environment.se.Weld) Test(org.junit.Test)

Aggregations

WeldContainer (org.jboss.weld.environment.se.WeldContainer)115 Weld (org.jboss.weld.environment.se.Weld)100 Test (org.junit.Test)98 CountDownLatch (java.util.concurrent.CountDownLatch)8 Bean (javax.enterprise.inject.spi.Bean)8 BeanManager (javax.enterprise.inject.spi.BeanManager)8 Type (java.lang.reflect.Type)7 URLClassLoader (java.net.URLClassLoader)7 ArrayList (java.util.ArrayList)7 URL (java.net.URL)6 LinkedBlockingQueue (java.util.concurrent.LinkedBlockingQueue)6 Fabric8Extension (io.fabric8.cdi.Fabric8Extension)4 ParameterizedType (java.lang.reflect.ParameterizedType)4 List (java.util.List)4 CreationalContext (javax.enterprise.context.spi.CreationalContext)4 BeanManagerImpl (org.jboss.weld.manager.BeanManagerImpl)4 ByteArrayOutputStream (java.io.ByteArrayOutputStream)3 File (java.io.File)3 PrintStream (java.io.PrintStream)3 ServiceRegistry (org.jboss.weld.bootstrap.api.ServiceRegistry)3