Example usage for org.springframework.beans.factory.config BeanDefinition setFactoryBeanName

List of usage examples for org.springframework.beans.factory.config BeanDefinition setFactoryBeanName

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config BeanDefinition setFactoryBeanName.

Prototype

void setFactoryBeanName(@Nullable String factoryBeanName);

Source Link

Document

Specify the factory bean to use, if any.

Usage

From source file:com.tacitknowledge.flip.spring.config.FeatureServiceHandlerParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder
            .rootBeanDefinition(FeatureServiceDirectFactory.class);
    RootBeanDefinition factoryBean = (RootBeanDefinition) factoryBuilder.getBeanDefinition();
    parserContext.getRegistry().registerBeanDefinition(FlipSpringAspect.FEATURE_SERVICE_FACTORY_BEAN_NAME,
            factoryBean);//from ww w  .  j a  v a2  s. co m

    MutablePropertyValues factoryPropertyValues = new MutablePropertyValues();
    factoryBean.setPropertyValues(factoryPropertyValues);

    String environmentBean = element.getAttribute("environment");
    if (environmentBean != null && !environmentBean.isEmpty()) {
        factoryPropertyValues.addPropertyValue("environment", new RuntimeBeanNameReference(environmentBean));
    }

    Element contextProvidersElement = DomUtils.getChildElementByTagName(element, "context-providers");
    if (contextProvidersElement != null) {
        List contextProvidersList = parserContext.getDelegate().parseListElement(contextProvidersElement,
                factoryBean);
        if (contextProvidersList != null && !contextProvidersList.isEmpty()) {
            factoryPropertyValues.addPropertyValue("contextProviders", contextProvidersList);
        }
    }

    Element propertyReadersElement = DomUtils.getChildElementByTagName(element, "property-readers");
    if (propertyReadersElement != null && propertyReadersElement.hasChildNodes()) {
        List propertyReadersList = parserContext.getDelegate().parseListElement(propertyReadersElement,
                factoryBean);
        if (propertyReadersList != null && !propertyReadersList.isEmpty()) {
            factoryPropertyValues.addPropertyValue("propertyReaders", propertyReadersList);
        }
    }

    Element propertiesElement = DomUtils.getChildElementByTagName(element, "properties");
    if (propertiesElement != null && propertiesElement.hasChildNodes()) {
        Properties properties = parserContext.getDelegate().parsePropsElement(propertiesElement);
        if (properties != null && !properties.isEmpty()) {
            factoryPropertyValues.addPropertyValue("properties", properties);
        }
    }

    BeanDefinitionBuilder featureServiceBuilder = BeanDefinitionBuilder.genericBeanDefinition();
    BeanDefinition featureServiceRawBean = featureServiceBuilder.getRawBeanDefinition();
    featureServiceRawBean.setFactoryBeanName(FlipSpringAspect.FEATURE_SERVICE_FACTORY_BEAN_NAME);
    featureServiceRawBean.setFactoryMethodName("createFeatureService");
    parserContext.getRegistry().registerBeanDefinition(FlipSpringAspect.FEATURE_SERVICE_BEAN_NAME,
            featureServiceBuilder.getBeanDefinition());

    return null;
}

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

protected BeanDefinition registerConnectionRepository(BeanDefinitionRegistry registry,
        String usersConnectionRepositoryId, String connectionRepositoryId, String userIdSourceRef) {
    if (logger.isDebugEnabled()) {
        logger.debug("Registering ConnectionRepository bean");
    }//from   w w  w  .  j  av a  2s  . co m
    // TODO: Hackish use of SpEL to reference userIdSource
    BeanDefinition connectionRepositoryBD = BeanDefinitionBuilder.genericBeanDefinition()
            .addConstructorArgValue("#{" + userIdSourceRef + ".userId}").getBeanDefinition();
    connectionRepositoryBD.setFactoryBeanName(usersConnectionRepositoryId);
    connectionRepositoryBD.setFactoryMethodName(CREATE_CONNECTION_REPOSITORY_METHOD_NAME);
    connectionRepositoryBD.setScope("request");
    registry.registerBeanDefinition(connectionRepositoryId,
            decorateWithScopedProxy(connectionRepositoryId, connectionRepositoryBD, registry));
    return connectionRepositoryBD;
}

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  w w w . j  a v a  2s. 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 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   w  w w .  ja v  a  2  s.c  o  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();
}