Example usage for org.springframework.beans.factory.support BeanDefinitionBuilder genericBeanDefinition

List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder genericBeanDefinition

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support BeanDefinitionBuilder genericBeanDefinition.

Prototype

public static BeanDefinitionBuilder genericBeanDefinition(Class<?> beanClass) 

Source Link

Document

Create a new BeanDefinitionBuilder used to construct a GenericBeanDefinition .

Usage

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));
    }//ww  w . j  a v a2s .co m
    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

/**
 * Creates a BeanDefinition for a provider connection factory.
 * Although most providers will not need to override this method, it does allow for overriding to address any provider-specific needs.
 * @param appId The application's App ID
 * @param appSecret The application's App Secret
 * @param allAttributes All attributes available on the configuration element. Useful for provider-specific configuration.
 * @return a BeanDefinition for the provider's connection factory bean.
 *//* www .  ja  v a  2s  .c o  m*/
protected BeanDefinition getConnectionFactoryBeanDefinition(String appId, String appSecret,
        Map<String, Object> allAttributes) {
    return BeanDefinitionBuilder.genericBeanDefinition(connectionFactoryClass).addConstructorArgValue(appId)
            .addConstructorArgValue(appSecret).getBeanDefinition();
}

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

protected BeanDefinition getAuthenticationServiceBeanDefinition(String appId, String appSecret,
        Map<String, Object> allAttributes) {
    return BeanDefinitionBuilder.genericBeanDefinition(authenticationServiceClass).addConstructorArgValue(appId)
            .addConstructorArgValue(appSecret).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() + ")");
        }//  w w  w  . j a  va2 s.  c  o  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

/**
 * Subclassing hook to allow api helper bean to be configured with attributes from annotation
 * @param allAttributes additional attributes that may be used when creating the API helper bean.
 * @return a {@link BeanDefinitionBuilder} for the API Helper
 *///from w w  w . j  a  v  a2 s  .  co m
protected BeanDefinitionBuilder getApiHelperBeanDefinitionBuilder(Map<String, Object> allAttributes) {
    return BeanDefinitionBuilder.genericBeanDefinition(apiHelperClass)
            .addConstructorArgReference("usersConnectionRepository").addConstructorArgReference("userIdSource");
}

From source file:org.springframework.social.extension.config.support.InMemoryConnectionRepositoryConfigSupport.java

private BeanDefinition registerUsersConnectionRepositoryBeanDefinition(BeanDefinitionRegistry registry,
        String usersConnectionRepositoryId, String connectionFactoryLocatorRef, String connectionSignUpRef) {
    if (logger.isDebugEnabled()) {
        logger.debug("Registering JpaUsersConnectionRepository bean");
    }/*from   w  w w .j a v a 2 s . c o  m*/
    BeanDefinitionBuilder usersConnectionRepositoryBeanBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(JpaUsersConnectionRepository.class)
            .addConstructorArgReference(connectionFactoryLocatorRef);
    if (connectionSignUpRef != null && connectionSignUpRef.length() > 0) {
        usersConnectionRepositoryBeanBuilder.addPropertyReference("connectionSignUp", connectionSignUpRef);
    }
    BeanDefinition usersConnectionRepositoryBD = usersConnectionRepositoryBeanBuilder.getBeanDefinition();
    BeanDefinition scopedProxyBean = decorateWithScopedProxy(usersConnectionRepositoryId,
            usersConnectionRepositoryBD, registry);
    registry.registerBeanDefinition(usersConnectionRepositoryId, scopedProxyBean);
    return scopedProxyBean;
}

From source file:org.springframework.social.extension.config.support.JpaConnectionRepositoryConfigSupport.java

private BeanDefinition registerUsersConnectionRepositoryBeanDefinition(BeanDefinitionRegistry registry,
        String usersConnectionRepositoryId, String connectionFactoryLocatorRef, String jpaTemplateRef,
        String encryptorRef, String connectionSignUpRef) {
    if (logger.isDebugEnabled()) {
        logger.debug("Registering JpaUsersConnectionRepository bean");
    }/*from w ww  .  j  a  v a 2  s .c o  m*/
    BeanDefinitionBuilder usersConnectionRepositoryBeanBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(JpaUsersConnectionRepository.class)
            .addConstructorArgReference(jpaTemplateRef).addConstructorArgReference(connectionFactoryLocatorRef)
            .addConstructorArgReference(encryptorRef);
    if (connectionSignUpRef != null && connectionSignUpRef.length() > 0) {
        usersConnectionRepositoryBeanBuilder.addPropertyReference("connectionSignUp", connectionSignUpRef);
    }
    BeanDefinition usersConnectionRepositoryBD = usersConnectionRepositoryBeanBuilder.getBeanDefinition();
    BeanDefinition scopedProxyBean = decorateWithScopedProxy(usersConnectionRepositoryId,
            usersConnectionRepositoryBD, registry);
    registry.registerBeanDefinition(usersConnectionRepositoryId, scopedProxyBean);
    return scopedProxyBean;
}

From source file:org.springframework.social.extension.config.support.RooConnectionRepositoryConfigSupport.java

private BeanDefinition registerUsersConnectionRepositoryBeanDefinition(BeanDefinitionRegistry registry,
        String usersConnectionRepositoryId, String connectionFactoryLocatorRef, String rooTemplateRef,
        String encryptorRef, String connectionSignUpRef) {
    if (logger.isDebugEnabled()) {
        logger.debug("Registering RooUsersConnectionRepository bean");
    }//  w ww .  j av  a2 s .c o  m
    BeanDefinitionBuilder usersConnectionRepositoryBeanBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(RooUsersConnectionRepository.class)
            .addConstructorArgReference(rooTemplateRef).addConstructorArgReference(connectionFactoryLocatorRef)
            .addConstructorArgReference(encryptorRef);
    if (connectionSignUpRef != null && connectionSignUpRef.length() > 0) {
        usersConnectionRepositoryBeanBuilder.addPropertyReference("connectionSignUp", connectionSignUpRef);
    }
    BeanDefinition usersConnectionRepositoryBD = usersConnectionRepositoryBeanBuilder.getBeanDefinition();
    BeanDefinition scopedProxyBean = decorateWithScopedProxy(usersConnectionRepositoryId,
            usersConnectionRepositoryBD, registry);
    registry.registerBeanDefinition(usersConnectionRepositoryId, scopedProxyBean);
    return scopedProxyBean;
}

From source file:org.springframework.social.facebook.config.xml.FacebookConfigBeanDefinitionParser.java

@Override
protected BeanDefinition getConnectionFactoryBeanDefinition(String appId, String appSecret,
        Map<String, Object> allAttributes) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(FacebookConnectionFactory.class)
            .addConstructorArgValue(appId).addConstructorArgValue(appSecret);
    if (allAttributes.containsKey("app-namespace")) {
        builder.addConstructorArgValue(allAttributes.get("app-namespace"));
    }//from  www.  j a va  2  s  .c  o  m
    return builder.getBeanDefinition();
}

From source file:org.springframework.social.github.config.xml.GitHubConfigBeanDefinitionParser.java

@Override
protected BeanDefinition getConnectionFactoryBeanDefinition(String appId, String appSecret,
        Map<String, Object> allAttributes) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(GitHubConnectionFactory.class)
            .addConstructorArgValue(appId).addConstructorArgValue(appSecret);
    return builder.getBeanDefinition();
}