List of usage examples for org.springframework.beans.factory.config BeanDefinition setFactoryBeanName
void setFactoryBeanName(@Nullable String factoryBeanName);
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(); }