Package org.jboss.weld.manager

Examples of org.jboss.weld.manager.BeanManagerImpl


        try {
            for (Bean<?> bean : additionalBeans) {
                processBean(bean);
            }
            for (ObserverMethod<?> observer : additionalObservers) {
                BeanManagerImpl manager = getOrCreateBeanDeployment(observer.getBeanClass()).getBeanManager();
                if (Observers.isObserverMethodEnabled(observer, manager)) {
                    ObserverMethod<?> processedObserver = containerLifecycleEvents.fireProcessObserverMethod(manager, observer);
                    if (processedObserver != null) {
                        manager.addObserver(processedObserver);
                    }
                }
            }
        } catch (Exception e) {
            throw new DefinitionException(e);
View Full Code Here


    }

    @Test
    public void testBeanBelongingToParentActivityCanBeInjectedIntoChildActivityBean() {
        Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
        BeanManagerImpl childActivity = beanManager.createActivity();
        Bean<?> dummyBean = createDummyBean(childActivity, Cow.class);
        childActivity.addBean(dummyBean);
        Assert.assertNotNull(
                childActivity.getInjectableReference(
                        dummyBean.getInjectionPoints().iterator().next(),
                        childActivity.createCreationalContext(dummyBean)));
    }
View Full Code Here

    }

    @Test
    public void testBeanBelongingToChildActivityCannotBeInjectedIntoParentActivityBean() {
        Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
        BeanManagerImpl childActivity = beanManager.createActivity();
        Bean<?> dummyBean = createDummyBean(childActivity, Cow.class);
        childActivity.addBean(dummyBean);
        Assert.assertEquals(0, beanManager.getBeans(Object.class, new AnnotationLiteral<Tame>() {
        }).size());
    }
View Full Code Here

    public void testInstanceProcessedByParentActivity() {
        Context dummyContext = new DummyContext();
        beanManager.addContext(dummyContext);
        Assert.assertEquals(1, beanManager.getBeans(Cow.class).size());
        final Bean<Cow> bean = (Bean<Cow>) beanManager.getBeans(Cow.class).iterator().next();
        BeanManagerImpl childActivity = beanManager.createActivity();
        final Set<Annotation> bindingTypes = new HashSet<Annotation>();
        bindingTypes.add(new AnnotationLiteral<Tame>() {
        });
        childActivity.addBean(new ForwardingBean<Cow>() {

            @Override
            protected Bean<Cow> delegate() {
                return bean;
            }
View Full Code Here

        Utils.getReference(beanManager, Field.class).get();
    }

    @Test
    public void testObserverBelongingToChildDoesNotFireForParentActivity() {
        BeanManagerImpl childActivity = beanManager.createActivity();
        ObserverMethod<NightTime> observer = new ObserverMethod<NightTime>() {

            public void notify(NightTime event) {
                assert false;
            }

            public Class<?> getBeanClass() {
                return NightTime.class;
            }

            public Set<Annotation> getObservedQualifiers() {
                return Arrays2.asSet(AnyLiteral.INSTANCE, DefaultLiteral.INSTANCE);
            }

            public Type getObservedType() {
                return NightTime.class;
            }

            public Reception getReception() {
                return Reception.ALWAYS;
            }

            public TransactionPhase getTransactionPhase() {
                return TransactionPhase.IN_PROGRESS;
            }

            public void notify(NightTime event, Set<Annotation> qualifiers) {
                notify(event);
            }

        };
        // TODO Fix this test to use an observer method in a child activity
        childActivity.addObserver(observer);
        beanManager.fireEvent(new NightTime());
    }
View Full Code Here

        final WeldBootstrap bootstrap = new WeldBootstrap();
        bootstrap.startContainer(Environments.EE, deployment).startInitialization().deployBeans().validateBeans().endInitialization();

        try {
            final BeanManagerImpl manager = bootstrap.getManager(bda);
            final SpecialResource resource = manager.instance().select(SpecialResource.class).get();
            Assert.assertNotNull(resource);
            Assert.assertEquals(resource.getName(), TestInjectionServices.RESOURCE_NAME);
        } finally {
            bootstrap.shutdown();
        }
View Full Code Here

    @Inject
    private BeanManager beanManager;

    @PostConstruct
    public void doPostConstruct(InvocationContext invocationContext) throws Exception {
        final BeanManagerImpl beanManager = (BeanManagerImpl) this.beanManager;

        try {
            init(beanManager);
            doLifecycleInterception(invocationContext, InterceptionType.POST_CONSTRUCT);
        } finally {
View Full Code Here

        }
    }

    private InterceptorBindings getInterceptorBindings(String ejbName) {
        BeanManagerImpl beanManager = (BeanManagerImpl)this.beanManager;
        EjbServices ejbServices = beanManager.getServices().get(EjbServices.class);
        if (ejbServices instanceof ForwardingEjbServices) {
            ejbServices = ((ForwardingEjbServices) ejbServices).delegate();
        }
        InterceptorBindings interceptorBindings = null;
        if (ejbServices instanceof WeldEjbServices) {
View Full Code Here

    @Override
    public WeldInjectionHandle inject(Object instance) {
        final ClassLoader oldTCCL = SecurityActions.getContextClassLoader();
        try {
            SecurityActions.setContextClassLoader(classLoader);
            final BeanManagerImpl bm = beanManager.getValue();
            WeldInjectionHandle weldHandle = new WeldInjectionHandle();
            for (Injection injectionPoint :injectionPoints) {
                weldHandle.addAll(injectionPoint.inject(instance,bm));
            }
            return weldHandle;
View Full Code Here

    @Override
    public void start(StartContext context) throws StartException {
        final ClassLoader oldTCCL = SecurityActions.getContextClassLoader();
        try {
            SecurityActions.setContextClassLoader(classLoader);
            final BeanManagerImpl bm = beanManager.getValue();
            final ClassTransformer transformer = bm.getServices().get(ClassTransformer.class);
            final List<Injection> injectionPoints = new ArrayList<Injection>();
            //we do it this way to get changes introduced by extensions
            WeldClass<?> weldClass = transformer.loadClass(componentClass);
            for (AnnotatedField<?> field : weldClass.getFields()) {
                if (field.isAnnotationPresent(Inject.class)) {
                    final Set<Annotation> qualifiers = new HashSet<Annotation>();
                    for (Annotation annotation : field.getAnnotations()) {
                        if (bm.isQualifier(annotation.annotationType())) {
                            qualifiers.add(annotation);
                        }
                    }
                    FieldInjectionPoint ip = new FieldInjectionPoint(field, qualifiers);
                    Set<Bean<?>> beans = bm.getBeans(ip);
                    if (beans.size() > 1) {
                        throw new StartException("Error resolving CDI injection point " + field + " on " + componentClass + ". Injection points is ambiguous " + beans);
                    } else if (beans.isEmpty()) {
                        throw new StartException("Error resolving CDI injection point " + field + " on " + componentClass + ". No bean satisfies the injection point.");
                    }
                    Bean<?> bean = bm.resolve(beans);
                    injectionPoints.add(new CDIFieldInjection(field.getJavaMember(), bean));
                }
            }
            //now look for @Inject methods
            for (AnnotatedMethod<?> method : weldClass.getMethods()) {
                if (method.isAnnotationPresent(Inject.class)) {
                    final List<Bean<?>> parameterBeans = new ArrayList<Bean<?>>();
                    for (AnnotatedParameter<?> param : method.getParameters()) {
                        final Set<Annotation> qualifiers = new HashSet<Annotation>();
                        for (Annotation annotation : param.getAnnotations()) {
                            if (bm.isQualifier(annotation.annotationType())) {
                                qualifiers.add(annotation);
                            }
                        }
                        ParameterInjectionPoint ip = new ParameterInjectionPoint(param, qualifiers);
                        Set<Bean<?>> beans = bm.getBeans(ip);
                        if (beans.size() > 1) {
                            throw new StartException("Error resolving CDI injection point " + param + " on " + componentClass + ". Injection points is ambiguous " + beans);
                        } else if (beans.isEmpty()) {
                            throw new StartException("Error resolving CDI injection point " + param + " on " + componentClass + ". No bean satisfies the injection point.");
                        }
                        Bean<?> bean = bm.resolve(beans);
                        parameterBeans.add(bean);
                    }
                    injectionPoints.add(new CDIMethodInjection(method.getJavaMember(), parameterBeans));
                }
            }
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.