Package org.jboss.weld.manager

Examples of org.jboss.weld.manager.BeanManagerImpl


        Assert.assertEquals(1, grandchild.getBeans(Cow.class).size());
    }

    @Test
    public void testCircular() {
        BeanManagerImpl root = BeanManagerImpl.newRootManager(STATIC_INSTANCE, "root", services);
        Container.initialize(root, services);
        BeanManagerImpl child = BeanManagerImpl.newRootManager(STATIC_INSTANCE, "child", services);
        BeanManagerImpl grandchild = BeanManagerImpl.newRootManager(STATIC_INSTANCE, "grandchild", services);
        grandchild.addAccessibleBeanManager(child);
        child.addAccessibleBeanManager(root);
        grandchild.addAccessibleBeanManager(root);
        root.addAccessibleBeanManager(grandchild);
        addBean(root, Cow.class);
        addBean(child, Chicken.class);
        addBean(grandchild, Pig.class);
        Assert.assertEquals(1, root.getBeans(Pig.class).size());
        Assert.assertEquals(0, root.getBeans(Chicken.class).size());
        Assert.assertEquals(1, root.getBeans(Cow.class).size());
        Assert.assertEquals(0, child.getBeans(Pig.class).size());
        Assert.assertEquals(1, child.getBeans(Chicken.class).size());
        Assert.assertEquals(1, child.getBeans(Cow.class).size());
        Assert.assertEquals(1, grandchild.getBeans(Pig.class).size());
        Assert.assertEquals(1, grandchild.getBeans(Chicken.class).size());
        Assert.assertEquals(1, grandchild.getBeans(Cow.class).size());
    }
View Full Code Here


        Deployment deployment = new FlatDeployment(war);

        TestContainer container = null;
        try {
            container = new TestContainer(deployment).startContainer().ensureRequestActive();
            BeanManagerImpl warBeanManager = (BeanManagerImpl) container.getBeanManager(war);
            BeanManagerImpl jar1BeanManager = (BeanManagerImpl) container.getBeanManager(jar1);
            BeanManagerImpl jar2BeanManager = (BeanManagerImpl) container.getBeanManager(jar2);
            Assert.assertTrue(warBeanManager.getEnabled().getAlternativeClasses().isEmpty());
            Assert.assertFalse(jar1BeanManager.getEnabled().getAlternativeClasses().isEmpty());
            Assert.assertTrue(jar2BeanManager.getEnabled().getAlternativeClasses().isEmpty());
        } finally {
            if (container != null) {
                container.stopContainer();
            }
        }
View Full Code Here

        Deployment deployment = new FlatDeployment(war);

        TestContainer container = null;
        try {
            container = new TestContainer(deployment).startContainer().ensureRequestActive();
            BeanManagerImpl warBeanManager = (BeanManagerImpl) container.getBeanManager(war);
            BeanManagerImpl jar1BeanManager = (BeanManagerImpl) container.getBeanManager(jar1);
            BeanManagerImpl jar2BeanManager = (BeanManagerImpl) container.getBeanManager(jar2);
            Assert.assertTrue(warBeanManager.getEnabled().getAlternativeClasses().isEmpty());
            Assert.assertFalse(jar1BeanManager.getEnabled().getAlternativeClasses().isEmpty());
            Assert.assertFalse(jar2BeanManager.getEnabled().getAlternativeClasses().isEmpty());
        } finally {
            if (container != null) {
                container.stopContainer();
            }
        }
View Full Code Here

        TestContainer container1 = new TestContainer(Foo.class);
        container1.startContainer();
        container1.ensureRequestActive();

        BeanManagerImpl beanManager1 = getBeanManager(container1);
        Bean<?> fooBean1 = beanManager1.resolve(beanManager1.getBeans(Foo.class));
        Foo foo1 = (Foo) beanManager1.getReference(fooBean1, Foo.class, beanManager1.createCreationalContext(fooBean1));
        foo1.setName("container 1");

        // Bootstrap container 2
        SwitchableSingletonProvider.use(2);

        TestContainer container2 = new TestContainer(Foo.class);
        container2.startContainer();
        container2.ensureRequestActive();

        BeanManagerImpl beanManager2 = getBeanManager(container2);
        Bean<?> fooBean2 = beanManager2.resolve(beanManager2.getBeans(Foo.class));
        Foo foo2 = (Foo) beanManager2.getReference(fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2));
        foo2.setName("container 2");

        // Switch to container 1 and check value
        SwitchableSingletonProvider.use(1);
        foo1 = (Foo) beanManager1.getReference(fooBean1, Foo.class, beanManager1.createCreationalContext(fooBean1));
        assert foo1.getName().equals("container 1");

        // Switch to container 2 and check value
        SwitchableSingletonProvider.use(2);
        foo2 = (Foo) beanManager2.getReference(fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2));
        assert foo2.getName().equals("container 2");
        SwitchableSingletonProvider.use(1);
        container1.stopContainer();
        SwitchableSingletonProvider.use(2);
        container2.stopContainer();
View Full Code Here

    @Test(description = "A simple test to check session replication, doesn't carefully check if a bean ids are correct")
    public void testSimpleSessionReplication() throws Exception {

        TestContainer container1 = bootstrapContainer(1, Arrays.<Class<?>>asList(Foo.class));
        BeanManagerImpl beanManager1 = getBeanManager(container1);
        Bean<?> fooBean1 = beanManager1.resolve(beanManager1.getBeans(Foo.class));

        TestContainer container2 = bootstrapContainer(2, Arrays.<Class<?>>asList(Foo.class));
        BeanManagerImpl beanManager2 = getBeanManager(container2);
        Bean<?> fooBean2 = beanManager2.resolve(beanManager2.getBeans(Foo.class));

        use(1);
        // Set a value into Foo1
        Foo foo1 = (Foo) beanManager1.getReference(fooBean1, Foo.class, beanManager1.createCreationalContext(fooBean1));
        foo1.setName("container 1");

        replicateSession(1, container1, 2, container2);

        use(2);
        Foo foo2 = (Foo) beanManager2.getReference(fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2));
        assert foo2.getName().equals("container 1");
        use(2);
        container2.stopContainer();
        use(1);
        container1.stopContainer();
View Full Code Here

    @Test(description = "A simple test to check conversation replication")
    public void testConversationReplication() throws Exception {

        TestContainer container1 = bootstrapContainer(1, Arrays.<Class<?>>asList(Baz.class));
        BeanManagerImpl beanManager1 = getBeanManager(container1);

        TestContainer container2 = bootstrapContainer(2, Arrays.<Class<?>>asList(Baz.class));
        BeanManagerImpl beanManager2 = getBeanManager(container2);

        use(1);

        // Set up the conversation context
        BoundRequest request1 = new BoundRequestImpl(container1.getSessionStore());
View Full Code Here

    @Test
    public void testMultipleDependentObjectsSessionReplication() throws Exception {
        Collection<Class<?>> classes = Arrays.<Class<?>>asList(Stable.class, Horse.class, Fodder.class);
        TestContainer container1 = bootstrapContainer(1, classes);
        BeanManagerImpl beanManager1 = getBeanManager(container1);
        Bean<?> stableBean1 = beanManager1.resolve(beanManager1.getBeans(Stable.class));

        TestContainer container2 = bootstrapContainer(2, classes);
        BeanManagerImpl beanManager2 = getBeanManager(container2);
        Bean<?> stableBean2 = beanManager2.resolve(beanManager2.getBeans(Stable.class));

        use(1);
        // Set a value into Foo1
        Stable stable1 = (Stable) beanManager1.getReference(stableBean1, Stable.class, beanManager1.createCreationalContext(stableBean1));
        stable1.getFodder().setAmount(10);
        stable1.getHorse().setName("George");

        replicateSession(1, container1, 2, container2);

        use(2);

        Stable stable2 = (Stable) beanManager2.getReference(stableBean2, Stable.class, beanManager2.createCreationalContext(stableBean2));
        assert stable2.getFodder().getAmount() == stable1.getFodder().getAmount();
        assert stable2.getHorse().getName() == null;

        use(1);
        assert stable1.getFodder().getAmount() == 10;
View Full Code Here

    public void testVariableBeanDeploymentStructure() throws Exception {
        // NB This is not a valid deployment scenario for a cluster, but it does allow us to test bean ids neatly!
        Collection<Class<?>> classes1 = Arrays.<Class<?>>asList(Stable.class, Horse.class, Fodder.class);
        Collection<Class<?>> classes2 = Arrays.<Class<?>>asList(Stable.class, Horse.class, Fodder.class, Foo.class);
        TestContainer container1 = bootstrapContainer(1, classes1);
        BeanManagerImpl beanManager1 = getBeanManager(container1);
        Bean<?> stableBean1 = beanManager1.resolve(beanManager1.getBeans(Stable.class));

        TestContainer container2 = bootstrapContainer(2, classes2);
        BeanManagerImpl beanManager2 = getBeanManager(container2);
        Bean<?> stableBean2 = beanManager2.resolve(beanManager2.getBeans(Stable.class));

        use(1);
        // Set a value into Foo1
        Stable stable1 = (Stable) beanManager1.getReference(stableBean1, Stable.class, beanManager1.createCreationalContext(stableBean1));
        stable1.getFodder().setAmount(10);
        stable1.getHorse().setName("George");

        replicateSession(1, container1, 2, container2);

        use(2);

        Stable stable2 = (Stable) beanManager2.getReference(stableBean2, Stable.class, beanManager2.createCreationalContext(stableBean2));
        assert stable2.getFodder().getAmount() == stable1.getFodder().getAmount();
        assert stable2.getHorse().getName() == null;
        use(1);
        container1.stopContainer();
        use(2);
View Full Code Here

        return null;
    }

    @Override
    public Object getValue(final ELContext context, Object base, Object property) {
        BeanManagerImpl beanManager = getManager(context);
        if (property != null) {
            String propertyString = property.toString();
            ElLogger.LOG.propertyLookup(propertyString);
            Namespace namespace = null;
            if (base == null) {
                if (beanManager.getRootNamespace().contains(propertyString)) {
                    Object value = beanManager.getRootNamespace().get(propertyString);
                    context.setPropertyResolved(true);
                    ElLogger.LOG.propertyResolved(propertyString, value);
                    return value;
                }
            } else if (base instanceof Namespace) {
View Full Code Here

        validateBean(bean);
        additionalBeans.add(bean);
    }

    protected <T> void processBean(Bean<T> bean) {
        BeanManagerImpl beanManager = getOrCreateBeanDeployment(bean.getBeanClass()).getBeanManager();
        if (bean instanceof Interceptor<?>) {
            beanManager.addInterceptor((Interceptor<?>) bean);
        } else if (bean instanceof Decorator<?>) {
            beanManager.addDecorator(CustomDecoratorWrapper.of((Decorator<?>) bean, beanManager));
        } else {
            beanManager.addBean(bean);
        }
        containerLifecycleEvents.fireProcessBean(beanManager, bean);
    }
View Full Code Here

TOP

Related Classes of org.jboss.weld.manager.BeanManagerImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.