Example usage for org.springframework.aop.scope ScopedProxyUtils createScopedProxy

List of usage examples for org.springframework.aop.scope ScopedProxyUtils createScopedProxy

Introduction

In this page you can find the example usage for org.springframework.aop.scope ScopedProxyUtils createScopedProxy.

Prototype

public static BeanDefinitionHolder createScopedProxy(BeanDefinitionHolder definition,
        BeanDefinitionRegistry registry, boolean proxyTargetClass) 

Source Link

Document

Generate a scoped proxy for the supplied target bean, registering the target bean with an internal name and setting 'targetBeanName' on the scoped proxy.

Usage

From source file:org.activiti.spring.components.aop.util.Scopifier.java

public static BeanDefinitionHolder createScopedProxy(String beanName, BeanDefinition definition,
        BeanDefinitionRegistry registry, boolean proxyTargetClass) {
    BeanDefinitionHolder proxyHolder = ScopedProxyUtils
            .createScopedProxy(new BeanDefinitionHolder(definition, beanName), registry, proxyTargetClass);
    registry.registerBeanDefinition(beanName, proxyHolder.getBeanDefinition());
    return proxyHolder;
}

From source file:br.com.caelum.vraptor.ioc.spring.SpringRegistry.java

/**
 * From org.springframework.context.annotation.ClassPathBeanDefinitionScanner#applyScope()
 * @param definition//  www. j a  v  a 2s  .com
 * @param scopeMetadata
 *
 * @return
 */
private BeanDefinitionHolder applyScopeOn(BeanDefinitionHolder definition, ScopeMetadata scopeMetadata) {
    String scope = scopeMetadata.getScopeName();
    ScopedProxyMode proxyMode = scopeMetadata.getScopedProxyMode();
    definition.getBeanDefinition().setScope(scope);
    if (BeanDefinition.SCOPE_SINGLETON.equals(scope) || BeanDefinition.SCOPE_PROTOTYPE.equals(scope)
            || proxyMode.equals(ScopedProxyMode.NO)) {
        return definition;
    } else {
        boolean proxyTargetClass = proxyMode.equals(ScopedProxyMode.TARGET_CLASS);
        return ScopedProxyUtils.createScopedProxy(definition, (BeanDefinitionRegistry) beanFactory,
                proxyTargetClass);
    }
}

From source file:org.rosenvold.spring.convention.ConventionBeanFactory.java

private void registerBeanByResolvedType(String beanName, Class<?> resolvedType) {
    if (resolvedType == null)
        return;//w w w.j  a v  a  2s .  co  m
    final BeanDefinition beanDefinition = getOrCreateBeanDefinition(beanName, resolvedType);
    BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(beanDefinition, beanName);
    ScopeMetadata scopeMetadata = this.scopeMetadataResolver.resolveScopeMetadata(beanDefinition);

    ScopedProxyMode scopedProxyMode = scopeMetadata.getScopedProxyMode();
    if (!scopedProxyMode.equals(ScopedProxyMode.NO)) {
        definitionHolder = ScopedProxyUtils.createScopedProxy(definitionHolder, this,
                scopedProxyMode.equals(ScopedProxyMode.TARGET_CLASS));
    }
    registerBeanDefinition(beanName, definitionHolder.getBeanDefinition());
}

From source file:org.springframework.amqp.rabbit.stocks.context.RefreshScope.java

private static BeanDefinitionHolder createScopedProxy(String beanName, BeanDefinition definition,
        BeanDefinitionRegistry registry, boolean proxyTargetClass) {
    BeanDefinitionHolder proxyHolder = ScopedProxyUtils
            .createScopedProxy(new BeanDefinitionHolder(definition, beanName), registry, proxyTargetClass);
    registry.registerBeanDefinition(beanName, proxyHolder.getBeanDefinition());
    return proxyHolder;
}

From source file:org.springframework.social.config.support.AbstractConnectionRepositoryConfigSupport.java

protected BeanDefinition decorateWithScopedProxy(String beanName, BeanDefinition beanDefinition,
        BeanDefinitionRegistry registry) {
    BeanDefinitionHolder beanDefinitionHolder = new BeanDefinitionHolder(beanDefinition, beanName);
    return ScopedProxyUtils.createScopedProxy(beanDefinitionHolder, registry, false).getBeanDefinition();
}

From source file:org.springframework.social.config.support.ProviderConfigSupport.java

public static BeanDefinition registerConnectionFactoryLocatorBean(BeanDefinitionRegistry registry) {
    if (logger.isDebugEnabled()) {
        logger.debug("Registering ConnectionFactoryLocator bean");
    }/*w  ww.  j  av a2s .c o m*/
    if (!registry.containsBeanDefinition(CONNECTION_FACTORY_LOCATOR_ID)) {
        BeanDefinitionHolder connFactoryLocatorBeanDefHolder = new BeanDefinitionHolder(BeanDefinitionBuilder
                .genericBeanDefinition(ConnectionFactoryRegistry.class).getBeanDefinition(),
                CONNECTION_FACTORY_LOCATOR_ID);
        BeanDefinitionHolder scopedProxy = ScopedProxyUtils.createScopedProxy(connFactoryLocatorBeanDefHolder,
                registry, false);
        registry.registerBeanDefinition(scopedProxy.getBeanName(), scopedProxy.getBeanDefinition());
    }
    BeanDefinition connectionFactoryLocatorBD = registry
            .getBeanDefinition(ScopedProxyUtils.getTargetBeanName(CONNECTION_FACTORY_LOCATOR_ID));
    return connectionFactoryLocatorBD;
}

From source file:org.springframework.social.config.support.ProviderConfigSupport.java

public static BeanDefinition registerApiBindingBean(BeanDefinitionRegistry registry,
        Class<? extends ApiHelper<?>> apiHelperClass, Class<?> apiBindingType) {
    if (logger.isDebugEnabled()) {
        logger.debug("Registering API Helper bean for " + ClassUtils.getShortName(apiBindingType));
    }/*from  ww  w. j a v a 2 s  . c om*/
    String helperId = "__" + ClassUtils.getShortNameAsProperty(apiBindingType) + "ApiHelper";
    // TODO: Make the bean IDs here configurable.
    BeanDefinition helperBD = BeanDefinitionBuilder.genericBeanDefinition(apiHelperClass)
            .addConstructorArgReference("usersConnectionRepository").addConstructorArgReference("userIdSource")
            .getBeanDefinition();
    registry.registerBeanDefinition(helperId, helperBD);

    if (logger.isDebugEnabled()) {
        logger.debug("Creating API Binding bean for " + ClassUtils.getShortName(apiBindingType));
    }
    BeanDefinition bindingBD = BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition();
    bindingBD.setFactoryBeanName(helperId);
    bindingBD.setFactoryMethodName("getApi");
    bindingBD.setScope("request");
    BeanDefinitionHolder scopedProxyBDH = ScopedProxyUtils.createScopedProxy(
            new BeanDefinitionHolder(bindingBD, ClassUtils.getShortNameAsProperty(apiBindingType)), registry,
            false);
    registry.registerBeanDefinition(scopedProxyBDH.getBeanName(), scopedProxyBDH.getBeanDefinition());
    return scopedProxyBDH.getBeanDefinition();
}

From source file:org.springframework.social.config.support.ProviderConfigurationSupport.java

private BeanDefinition registerConnectionFactoryLocatorBean(BeanDefinitionRegistry registry) {
    Class<?> connectionFactoryRegistryClass = isSocialSecurityAvailable()
            ? org.springframework.social.security.SocialAuthenticationServiceRegistry.class
            : ConnectionFactoryRegistry.class;
    if (!registry.containsBeanDefinition(CONNECTION_FACTORY_LOCATOR_ID)) {
        if (logger.isDebugEnabled()) {
            logger.debug("Registering ConnectionFactoryLocator bean ("
                    + connectionFactoryRegistryClass.getName() + ")");
        }//from w  w w. j  av  a  2  s. co m
        BeanDefinitionHolder connFactoryLocatorBeanDefHolder = new BeanDefinitionHolder(
                BeanDefinitionBuilder.genericBeanDefinition(connectionFactoryRegistryClass).getBeanDefinition(),
                CONNECTION_FACTORY_LOCATOR_ID);
        BeanDefinitionHolder scopedProxy = ScopedProxyUtils.createScopedProxy(connFactoryLocatorBeanDefHolder,
                registry, false);
        registry.registerBeanDefinition(scopedProxy.getBeanName(), scopedProxy.getBeanDefinition());
    }
    BeanDefinition connectionFactoryLocatorBD = registry
            .getBeanDefinition(ScopedProxyUtils.getTargetBeanName(CONNECTION_FACTORY_LOCATOR_ID));
    return connectionFactoryLocatorBD;
}

From source file:org.springframework.social.config.support.ProviderConfigurationSupport.java

private BeanDefinition registerApiBindingBean(BeanDefinitionRegistry registry,
        Class<? extends ApiHelper<?>> apiHelperClass, Class<?> apiBindingType,
        Map<String, Object> allAttributes) {
    if (logger.isDebugEnabled()) {
        logger.debug("Registering API Helper bean for " + ClassUtils.getShortName(apiBindingType));
    }/*from   ww w  .j a v  a2s .  co  m*/
    String helperId = "__" + ClassUtils.getShortNameAsProperty(apiBindingType) + "ApiHelper";
    // TODO: Make the bean IDs here configurable.
    BeanDefinition helperBD = getApiHelperBeanDefinitionBuilder(allAttributes).getBeanDefinition();
    registry.registerBeanDefinition(helperId, helperBD);

    if (logger.isDebugEnabled()) {
        logger.debug("Creating API Binding bean for " + ClassUtils.getShortName(apiBindingType));
    }
    BeanDefinition bindingBD = BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition();
    bindingBD.setFactoryBeanName(helperId);
    bindingBD.setFactoryMethodName("getApi");
    bindingBD.setScope("request");
    BeanDefinitionHolder scopedProxyBDH = ScopedProxyUtils.createScopedProxy(
            new BeanDefinitionHolder(bindingBD, ClassUtils.getShortNameAsProperty(apiBindingType)), registry,
            false);
    registry.registerBeanDefinition(scopedProxyBDH.getBeanName(), scopedProxyBDH.getBeanDefinition());
    return scopedProxyBDH.getBeanDefinition();
}