Package org.apache.cxf.common.injection

Examples of org.apache.cxf.common.injection.ResourceInjector


            if (!chain.isEmpty()) {
                ResourceManager resourceManager = getBus().getExtension(ResourceManager.class);
                List<ResourceResolver> resolvers = resourceManager.getResourceResolvers();
                resourceManager = new DefaultResourceManager(resolvers);
                resourceManager.addResourceResolver(new WebServiceContextResourceResolver());
                ResourceInjector injector = new ResourceInjector(resourceManager);
                for (Handler<?> h : chain) {
                    if (Proxy.isProxyClass(h.getClass()) && getServiceClass() != null) {
                        injector.inject(h, getServiceClass());
                        injector.construct(h, getServiceClass());
                    } else {
                        injector.inject(h);
                        injector.construct(h);
                    }
                }
            }

            ((JaxWsEndpointImpl)client.getEndpoint()).getJaxwsBinding().setHandlerChain(chain);
View Full Code Here


public class Jsr250BeanPostProcessor implements DestructionAwareBeanPostProcessor, Ordered {

    private ResourceInjector injector;
   
    Jsr250BeanPostProcessor() {
        injector = new ResourceInjector(null, null);
    }
View Full Code Here

        if (instance != null) {
            ResourceManager resourceManager = bus.getExtension(ResourceManager.class);
            List<ResourceResolver> resolvers = resourceManager.getResourceResolvers();
            resourceManager = new DefaultResourceManager(resolvers);
            resourceManager.addResourceResolver(new WebServiceContextResourceResolver());
            ResourceInjector injector = new ResourceInjector(resourceManager);
            injector.inject(instance);
        }
    }
View Full Code Here

            namespacesResolver = new SinglePropertyResolver(ACTIVATION_NAMESPACES_PROPERTY_NAME,
                                                            e.getNamespaces());
            resourceManager.addResourceResolver(namespacesResolver);
        }
       
        ResourceInjector injector = new ResourceInjector(resourceManager);
       
        try {
            injector.inject(obj);
        } finally {
            if (null != namespacesResolver) {
                resourceManager.removeResourceResolver(namespacesResolver);
            }
        }
View Full Code Here

                    injections.remove();
                }
            }
        }

        ResourceInjector injector = null;

        // instantiate and inject resources into service using the app classloader to be sure to get the right InitialContext
        implementor = null;

        final ClassLoader old = Thread.currentThread().getContextClassLoader();
        Thread.currentThread().setContextClassLoader(loader);
        try {
            final WebBeansContext webBeansContext = WebBeansContext.currentInstance();
            final BeanManagerImpl bm = webBeansContext.getBeanManagerImpl();
            if (bm.isInUse()) { // try cdi bean
                if (JAXWS_AS_CDI_BEANS) {
                    try {
                        final Set<Bean<?>> beans = bm.getBeans(instance);
                        final Bean<?> bean = bm.resolve(beans);
                        final CreationalContextImpl creationalContext = bm.createCreationalContext(bean);
                        if (bean != null) {
                            final Bean<?> oldBean = creationalContext.putBean(bean);
                            try {
                                if (AbstractOwbBean.class.isInstance(bean)) {
                                    final AbstractOwbBean<?> aob = AbstractOwbBean.class.cast(bean);

                                    final Producer producer = aob.getProducer();
                                    implementor = producer.produce(creationalContext);
                                    if (producer instanceof InjectionTarget) {
                                        final InjectionTarget injectionTarget = (InjectionTarget) producer;
                                        injectionTarget.inject(implementor, creationalContext);
                                        injector = injectCxfResources(implementor); // we need it before postconstruct
                                        injectionTarget.postConstruct(implementor);
                                    }
                                    if (aob.getScope().equals(Dependent.class)) {
                                        creationalContext.addDependent(aob, instance);
                                    }
                                }
                            } finally {
                                creationalContext.putBean(oldBean);
                            }
                        } else {
                            implementor = bm.getReference(bean, instance, creationalContext);
                            injector = injectCxfResources(implementor);
                        }
                        if (WebBeansUtil.isDependent(bean)) { // should be isPseudoScope but should be ok for jaxws
                            toClean = creationalContext;
                        }
                    } catch (final Exception ie) {
                        LOGGER.info("Can't use cdi to create " + instance + " webservice: " + ie.getMessage());
                    }
                }
            }
            if (implementor == null) { // old pojo style
                final InjectionProcessor<Object> injectionProcessor = new InjectionProcessor<Object>(instance, port.getInjections(), null, null, unwrap(context), bindings);
                injectionProcessor.createInstance();
                implementor = injectionProcessor.getInstance();
                injector = injectCxfResources(implementor);
                if (!JAXWS_AS_CDI_BEANS && bm.isInUse()) {
                    final CreationalContextImpl creationalContext = bm.createCreationalContext(null);
                    OWBInjector.inject(bm, implementor, null);
                    toClean = creationalContext;
                }
                injector.invokePostConstruct();
            }
        } catch (final Exception e) {
            throw new WebServiceException("Service resource injection failed", e);
        } finally {
            Thread.currentThread().setContextClassLoader(old);
View Full Code Here

        resourceManager = new DefaultResourceManager(resolvers);
        if (!resourceManager.getResourceResolvers().contains(WEB_SERVICE_CONTEXT_RESOURCE_RESOLVER)) {
            resourceManager.addResourceResolver(WEB_SERVICE_CONTEXT_RESOURCE_RESOLVER);
        }

        final ResourceInjector injector = new ResourceInjector(resourceManager);
        injector.inject(implementor);
        return injector;
    }
View Full Code Here

        if (!chain.isEmpty()) {
            ResourceManager resourceManager = getBus().getExtension(ResourceManager.class);
            List<ResourceResolver> resolvers = resourceManager.getResourceResolvers();
            resourceManager = new DefaultResourceManager(resolvers);
            resourceManager.addResourceResolver(new WebServiceContextResourceResolver());
            ResourceInjector injector = new ResourceInjector(resourceManager);
            for (Handler h : chain) {
                if (Proxy.isProxyClass(h.getClass()) && getServiceClass() != null) {
                    injector.inject(h, getServiceClass());
                    injector.construct(h, getServiceClass());
                } else {
                    injector.inject(h);
                    injector.construct(h);
                }
            }
        }
       
        cp.getBinding().setHandlerChain(chain);
View Full Code Here

        return 1010;
    }
       
    public Object postProcessAfterInitialization(Object bean, String beanId) throws BeansException {
        if (bean != null) {
            new ResourceInjector(resourceManager, resolvers).construct(bean);
        }
        if (bean instanceof ResourceManager) {
            resourceManager = (ResourceManager)bean;

            Map<String, Object> mp = CastUtils.cast(context.getBeansOfType(ResourceResolver.class));
View Full Code Here

        return bean;
    }

    public Object postProcessBeforeInitialization(Object bean, String beanId) throws BeansException {
        if (bean != null) {
            new ResourceInjector(resourceManager, resolvers).inject(bean);
        }
        return bean;
    }
View Full Code Here

        return bean;
    }

    public void postProcessBeforeDestruction(Object bean, String beanId) {
        if (bean != null) {
            new ResourceInjector(resourceManager, resolvers).destroy(bean);
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.cxf.common.injection.ResourceInjector

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.