Examples of BeanManagerImpl


Examples of org.apache.webbeans.container.BeanManagerImpl

        anns = qualifierAnnotations.toArray(anns);
       
        Set<Bean<?>> beans = resolveBeans();

        webBeansContext.getResolutionUtil().checkResolvedBeans(beans, ClassUtil.getClazz(injectionClazz), anns, null);
        BeanManagerImpl beanManager = webBeansContext.getBeanManagerImpl();

        Bean<?> bean = beanManager.resolve(beans);

        // since Instance<T> is Dependent, we we gonna use the parent CreationalContext by default
        CreationalContext<?> creationalContext = parentCreationalContext;

        boolean isDependentBean = WebBeansUtil.isDependent(bean);

        if (!isDependentBean)
        {
            // but for all NormalScoped beans we will need to create a fresh CreationalContext
            creationalContext = beanManager.createCreationalContext(bean);
        }

        instance = (T) beanManager.getReference(bean, null, creationalContext);

        if (isDependentBean && ownerInstance != null && creationalContext instanceof CreationalContextImpl)
        {
            ((CreationalContextImpl<?>) creationalContext).addDependent(ownerInstance, bean, instance);
        }
View Full Code Here

Examples of org.apache.webbeans.container.BeanManagerImpl

            interceptor = ownerCreationalContext.getDependentInterceptor(ownerInstance, webBeansInterceptor);
            // There is no define interceptor, define and add it into dependent
            if (interceptor == null)
            {
                BeanManagerImpl manager = webBeansContext.getBeanManagerImpl();

                WebBeansInterceptor<Object> actualInterceptor = (WebBeansInterceptor<Object>) webBeansInterceptor;
                CreationalContext<Object> creationalContext = manager.createCreationalContext(actualInterceptor);
                interceptor = manager.getReference(actualInterceptor, actualInterceptor.getBeanClass(), creationalContext);

                actualInterceptor.setInjections(interceptor, creationalContext);

                ownerCreationalContext.addDependent(ownerInstance, (WebBeansInterceptor<Object>) webBeansInterceptor, interceptor);
            }
View Full Code Here

Examples of org.apache.webbeans.container.BeanManagerImpl

               
                return contextualInstance;
            }

            //Manager instance
            BeanManagerImpl manager = elContextStore.getBeanManager();

            //Get beans
            Set<Bean<?>> beans = manager.getBeans(name);

            //Found?
            if(beans != null && !beans.isEmpty())
            {
                //Managed bean
View Full Code Here

Examples of org.apache.webbeans.container.BeanManagerImpl

        return ((OwbBean) bean).isDependent();
    }

    public void inspectErrorStack(String logMessage)
    {
        BeanManagerImpl manager = webBeansContext.getBeanManagerImpl();
        //Looks for errors
        ErrorStack stack = manager.getErrorStack();
        try
        {
            if(stack.hasErrors())
            {
                stack.logErrors();
View Full Code Here

Examples of org.apache.webbeans.container.BeanManagerImpl

    }


    public <T> ManagedBean<T> defineManagedBean(ManagedBeanCreatorImpl<T> managedBeanCreator, ProcessInjectionTarget<T> processInjectionTargetEvent, boolean allowLazyInit)
    {
        BeanManagerImpl manager = webBeansContext.getBeanManagerImpl();

        //Annotated type
        AnnotatedType<T> annotatedType = processInjectionTargetEvent.getAnnotatedType();
        ManagedBean<T> managedBean = managedBeanCreator.getBean();

        Class<T> clazz = annotatedType.getJavaClass();

        managedBeanCreator.defineApiType();

        //Define meta-data
        managedBeanCreator.defineStereoTypes();
        //Scope type
        managedBeanCreator.defineScopeType(WebBeansLoggerFacade.getTokenString(OWBLogConst.TEXT_MB_IMPL) + clazz.getName() +
                WebBeansLoggerFacade.getTokenString(OWBLogConst.TEXT_SAME_SCOPE), allowLazyInit);

        managedBeanCreator.defineSerializable();

        //Check for Enabled via Alternative
        setInjectionTargetBeanEnableFlag(managedBean);

        managedBeanCreator.checkCreateConditions();
        managedBeanCreator.defineQualifier();
        managedBeanCreator.defineName(WebBeansUtil.getManagedBeanDefaultName(clazz.getSimpleName()));

        if (managedBean.isFullInit())
        {
            managedBeanCreator.defineConstructor();
            Set<ProducerMethodBean<?>> producerMethods = managedBeanCreator.defineProducerMethods();
            Set<ProducerFieldBean<?>> producerFields = managedBeanCreator.defineProducerFields();
            managedBeanCreator.defineInjectedFields();
            managedBeanCreator.defineInjectedMethods();

            Set<ObserverMethod<?>> observerMethods = new HashSet<ObserverMethod<?>>();
            if(managedBean.isEnabled())
            {
                observerMethods = managedBeanCreator.defineObserverMethods();
            }

            //Put final InjectionTarget instance
            manager.putInjectionTargetWrapper(managedBean,
                    new InjectionTargetWrapper(processInjectionTargetEvent.getInjectionTarget()));

            Map<ProducerMethodBean<?>,AnnotatedMethod<?>> annotatedMethods =
                    new HashMap<ProducerMethodBean<?>, AnnotatedMethod<?>>();

            for(ProducerMethodBean<?> producerMethod : producerMethods)
            {
                AnnotatedMethod<?> method = webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(producerMethod.getCreatorMethod(),
                                                                                       annotatedType);
                ProcessProducerImpl<?, ?> producerEvent = fireProcessProducerEventForMethod(producerMethod,
                                                                                                        method);
                inspectErrorStack("There are errors that are added by ProcessProducer event observers for "
                                               + "ProducerMethods. Look at logs for further details");

                annotatedMethods.put(producerMethod, method);
                manager.putInjectionTargetWrapper(producerMethod, new InjectionTargetWrapper(producerEvent.getProducer()));
            }

            Map<ProducerFieldBean<?>,AnnotatedField<?>> annotatedFields =
                    new HashMap<ProducerFieldBean<?>, AnnotatedField<?>>();

            for(ProducerFieldBean<?> producerField : producerFields)
            {
                AnnotatedField<?> field = webBeansContext.getAnnotatedElementFactory().newAnnotatedField(producerField.getCreatorField(),
                                                                                    annotatedType);
                ProcessProducerImpl<?, ?> producerEvent = fireProcessProducerEventForField(producerField,
                                                                                                        field);
                inspectErrorStack("There are errors that are added by ProcessProducer event observers for"
                                               + " ProducerFields. Look at logs for further details");

                annotatedFields.put(producerField, field);
                manager.putInjectionTargetWrapper(producerField, new InjectionTargetWrapper(producerEvent.getProducer()));
            }

            Map<ObserverMethod<?>,AnnotatedMethod<?>> observerMethodsMap =
                    new HashMap<ObserverMethod<?>, AnnotatedMethod<?>>();

            for(ObserverMethod<?> observerMethod : observerMethods)
            {
                ObserverMethodImpl<?> impl = (ObserverMethodImpl<?>)observerMethod;
                AnnotatedMethod<?> method = webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(impl.getObserverMethod(),
                                                                                       annotatedType);

                observerMethodsMap.put(observerMethod, method);
            }

            BeanManagerImpl beanManager = webBeansContext.getBeanManagerImpl();

            //Fires ProcessManagedBean
            ProcessBeanImpl<T> processBeanEvent = new GProcessManagedBean(managedBean, annotatedType);
            beanManager.fireEvent(processBeanEvent);
            inspectErrorStack("There are errors that are added by ProcessManagedBean event observers for " +
                    "managed beans. Look at logs for further details");

            //Fires ProcessProducerMethod
            fireProcessProducerMethodBeanEvent(annotatedMethods, annotatedType);
            inspectErrorStack("There are errors that are added by ProcessProducerMethod event observers for " +
                    "producer method beans. Look at logs for further details");

            //Fires ProcessProducerField
            fireProcessProducerFieldBeanEvent(annotatedFields);
            inspectErrorStack("There are errors that are added by ProcessProducerField event observers for " +
                    "producer field beans. Look at logs for further details");

            //Fire ObservableMethods
            fireProcessObservableMethodBeanEvent(observerMethodsMap);
            inspectErrorStack("There are errors that are added by ProcessObserverMethod event observers for " +
                    "observer methods. Look at logs for further details");

            if(!isAnnotatedTypeDecoratorOrInterceptor(annotatedType))
            {
                beanManager.addBean(managedBean);
                for (ProducerMethodBean<?> producerMethod : producerMethods)
                {
                    // add them one after the other to enable serialization handling et al
                    beanManager.addBean(producerMethod);
                }
                managedBeanCreator.defineDisposalMethods();//Define disposal method after adding producers
                for (ProducerFieldBean<?> producerField : producerFields)
                {
                    // add them one after the other to enable serialization handling et al
                    beanManager.addBean(producerField);
                }
            }
        }
        else
        {
            // we still need to fire a ProcessManagedBean event, even for lazily initiated beans
            // (which most probably are no beans at all...)

            BeanManagerImpl beanManager = webBeansContext.getBeanManagerImpl();

            //Fires ProcessManagedBean
            ProcessBeanImpl<T> processBeanEvent = new GProcessManagedBean(managedBean, annotatedType);
            beanManager.fireEvent(processBeanEvent);
            inspectErrorStack("There are errors that are added by ProcessManagedBean event observers for " +
                    "managed beans. Look at logs for further details");
            if(!isAnnotatedTypeDecoratorOrInterceptor(annotatedType))
            {
                beanManager.addBean(managedBean);
            }
        }

        return managedBean;
    }
View Full Code Here

Examples of org.apache.webbeans.container.BeanManagerImpl

            return result;
        }
        catch (NamingException e)
        {
            //fallback for a servlet container
            BeanManagerImpl beanManager = getWebBeansContext().getBeanManagerImpl();

            Iterator<Bean<?>> beansIterator = beanManager.getBeans(resourceType, new DefaultLiteral()).iterator();

            if (!beansIterator.hasNext())
            {
                logger.log(Level.SEVERE, "can't find ejb (via jndi) or cdi bean for type " + resourceType.getName(), e);
                throw new RuntimeException("can't find ejb (via jndi) or cdi bean for type "
                        + resourceType.getName(), e);
            }
            Bean<?> simulatedStatelessEjbBean = beansIterator.next();

            return (X)beanManager.getReference(simulatedStatelessEjbBean,
                                               resourceType,
                                               beanManager.createCreationalContext(simulatedStatelessEjbBean));
        }
    }
View Full Code Here

Examples of org.apache.webbeans.container.BeanManagerImpl

     */   
    @Override
    @SuppressWarnings({"unchecked","deprecation"})
    public Object getValue(ELContext context, Object base, Object property) throws ELException
    {
        BeanManagerImpl beanManager = webBeansContext.getBeanManagerImpl();
        //we only check root beans
        // Check if the OWB actually got used in this application
        if (base != null || !beanManager.isInUse())
        {
            return null;
        }

        //Name of the bean
        String beanName = (String) property;

        //Local store, create if not exist
        ELContextStore elContextStore = ELContextStore.getInstance(true);

        Object contextualInstance = elContextStore.findBeanByName(beanName);

        if(contextualInstance != null)
        {
            context.setPropertyResolved(true);

            return contextualInstance;
        }

        //Get beans
        Set<Bean<?>> beans = beanManager.getBeans(beanName);

        //Found?
        if(beans != null && !beans.isEmpty())
        {
            //Managed bean
View Full Code Here

Examples of org.apache.webbeans.container.BeanManagerImpl

                final CdiEjbBean<Object> bean = beanContext.get(CdiEjbBean.class);;

                if (bean == null) continue;

                final BeanManagerImpl manager = webBeansContext.getBeanManagerImpl();
                manager.addBean(new NewCdiEjbBean<Object>(bean));
            }

        } catch (Exception e1) {
            Assembler.logger.error("CDI Beans module deployment failed", e1);
            throw new RuntimeException(e1);
View Full Code Here

Examples of org.apache.webbeans.container.BeanManagerImpl

     * @return this injector
     * @throws Exception if exception occurs
     */
    @SuppressWarnings("unchecked")
    public OWBInjector inject(Object javaEeComponentInstance, CreationalContext<?> creationalContext) throws Exception {
        BeanManagerImpl beanManager = webBeansContext.getBeanManagerImpl();
        try {
            this.javaEEInstance = javaEeComponentInstance;
            if (creationalContext == null) {
                this.ownerCreationalContext = (CreationalContextImpl<?>) beanManager.createCreationalContext(null);
            }

            Class<Object> injectableComponentClass = (Class<Object>) javaEeComponentInstance.getClass();

            //Look for custom InjectionTarget
            InjectionTargetWrapper<Object> wrapper = beanManager.getInjectionTargetWrapper(injectableComponentClass);
            if (wrapper != null) {
                wrapper.inject(javaEeComponentInstance, (CreationalContext<Object>) this.ownerCreationalContext);
                return this;
            }

            AnnotatedType<Object> annotated = (AnnotatedType<Object>) beanManager.createAnnotatedType(injectableComponentClass);
            Set<InjectionPoint> injectionPoints = WebBeansAnnotatedTypeUtil.getJavaEeComponentInstanceInjectionPoints(webBeansContext, annotated);
            if (injectionPoints != null && injectionPoints.size() > 0) {
                for (InjectionPoint injectionPoint : injectionPoints) {
                    if (injectionPoint.getMember() instanceof Method) {
                        Method method = (Method) injectionPoint.getMember();
View Full Code Here

Examples of org.apache.webbeans.container.BeanManagerImpl

    /**
     * Release dependents.
     */
    @SuppressWarnings("unchecked")
    public void destroy() {
        BeanManagerImpl beanManager = webBeansContext.getBeanManagerImpl();

        //Look for custom InjectionTarget
        InjectionTargetWrapper<Object> wrapper = beanManager.getInjectionTargetWrapper((Class<Object>) javaEEInstance.getClass());
        if (wrapper != null) {
            wrapper.dispose(javaEEInstance);
            this.javaEEInstance = null;
            this.ownerCreationalContext = null;
        } else {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.