List of usage examples for org.springframework.beans.factory.support BeanDefinitionReaderUtils registerWithGeneratedName
public static String registerWithGeneratedName(AbstractBeanDefinition definition, BeanDefinitionRegistry registry) throws BeanDefinitionStoreException
From source file:com.zuoxiaolong.niubi.job.spring.config.JobDrivenBeanDefinitionParser.java
@Override public BeanDefinition parse(Element element, ParserContext parserContext) { AbstractBeanDefinition beanDefinition = new GenericBeanDefinition(); MutablePropertyValues propertyValues = new MutablePropertyValues(); beanDefinition.setBeanClass(SpringContextJobDriver.class); propertyValues.addPropertyValue("packagesToScan", element.getAttribute("packagesToScan")); beanDefinition.setPropertyValues(propertyValues); beanDefinition.setInitMethodName("init"); BeanDefinitionReaderUtils.registerWithGeneratedName(beanDefinition, parserContext.getRegistry()); return beanDefinition; }
From source file:atunit.spring.SpringContainer.java
public Object createTest(Class<?> testClass, Map<Field, Object> fieldValues) throws Exception { GenericApplicationContext ctx = new GenericApplicationContext(); for (Field field : fieldValues.keySet()) { Bean beanAnno = field.getAnnotation(Bean.class); AbstractBeanDefinition beandef = defineInstanceHolderFactoryBean(field.getType(), fieldValues.get(field)); if ((beanAnno != null) && !beanAnno.value().equals("")) { ctx.registerBeanDefinition(beanAnno.value(), beandef); } else {/*from w ww. j a v a2 s.co m*/ BeanDefinitionReaderUtils.registerWithGeneratedName(beandef, ctx); } } loadBeanDefinitions(testClass, ctx); fillInMissingFieldBeans(testClass, ctx); ctx.refresh(); Object test = testClass.newInstance(); for (Field field : testClass.getDeclaredFields()) { field.setAccessible(true); Bean beanAnno = field.getAnnotation(Bean.class); if (beanAnno == null) { if (fieldValues.containsKey(field)) { field.set(test, fieldValues.get(field)); } } else { if (!beanAnno.value().equals("")) { field.set(test, ctx.getBean(beanAnno.value())); } else { String[] beanNames = ctx.getBeanNamesForType(field.getType()); if (beanNames.length < 1) { throw new BeanCreationException("There are no beans defined with type " + field.getType()); } if (beanNames.length > 1) { throw new BeanCreationException( "There are " + beanNames.length + " beans defined with type " + field.getType() + "; consider wiring by name instead"); } field.set(test, ctx.getBean(beanNames[0])); } } } return test; }
From source file:org.opencredo.couchdb.config.CouchDbInboundChannelAdapterParser.java
@Override protected BeanMetadataElement parseSource(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = null; String databaseUrl = element.getAttribute(COUCHDB_DATABASE_URL_ATTRIBUTE); String changesOperations = element.getAttribute(COUCHDB_CHANGES_OPERATIONS_ATTRIBUTE); String allDocuments = element.getAttribute(COUCHDB_ALL_DOCUMENTS_ATTRIBUTE); String allDocumentsLimit = element.getAttribute(COUCHDB_ALL_DOCUMENTS_LIMIT_ATTRIBUTE); if (StringUtils.hasText(databaseUrl)) { if (StringUtils.hasText(changesOperations)) { parserContext.getReaderContext().error("At most one of '" + COUCHDB_DATABASE_URL_ATTRIBUTE + "' and '" + COUCHDB_CHANGES_OPERATIONS_ATTRIBUTE + "' may be provided.", element); } else {/*from w w w. j ava 2 s .c o m*/ if ("true".equals(allDocuments)) { builder = BeanDefinitionBuilder.genericBeanDefinition(CouchDbAllDocumentsMessageSource.class); } else { builder = BeanDefinitionBuilder.genericBeanDefinition(CouchDbChangesPollingMessageSource.class); } builder.addConstructorArgValue(databaseUrl); } } else if (StringUtils.hasText(changesOperations)) { // changesOperations and allDocuments are XOR if ("true".equals(allDocuments)) { parserContext.getReaderContext().error("At most one of '" + COUCHDB_ALL_DOCUMENTS_ATTRIBUTE + "' and '" + COUCHDB_CHANGES_OPERATIONS_ATTRIBUTE + "' may be provided.", element); } else { builder = BeanDefinitionBuilder.genericBeanDefinition(CouchDbChangesPollingMessageSource.class); builder.addConstructorArgReference(changesOperations); } } else { parserContext.getReaderContext().error("Either '" + COUCHDB_DATABASE_URL_ATTRIBUTE + "' or '" + COUCHDB_CHANGES_OPERATIONS_ATTRIBUTE + "' must be provided.", element); } if ("true".equals(allDocuments)) { builder.addConstructorArgValue(Integer.valueOf(allDocumentsLimit)); } String beanName = BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), parserContext.getRegistry()); return new RuntimeBeanReference(beanName); }
From source file:net.scriptability.core.integration.spring.ScriptAbilityBeanDefinitionParser.java
private String registerScriptAbilityFactoryBean(final Element configureElement, final BeanDefinitionRegistry beanDefinitionRegistry) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(SpringScriptAbilityFactory.class); if (configureElement.hasAttribute(XML_ATTRIBUTE__CONFIGURATION_LOADER)) { builder.addPropertyReference("configurationLoader", configureElement.getAttribute(XML_ATTRIBUTE__CONFIGURATION_LOADER)); }//from w ww . jav a2 s . c om if (configureElement.hasAttribute(XML_ATTRIBUTE__EVENT_SCHEDULER)) { builder.addPropertyReference("eventScheduler", configureElement.getAttribute(XML_ATTRIBUTE__EVENT_SCHEDULER)); } return BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), beanDefinitionRegistry); }
From source file:atunit.spring.SpringContainer.java
protected void fillInMissingFieldBeans(Class<?> testClass, GenericApplicationContext ctx) throws Exception { for (Field field : testClass.getDeclaredFields()) { Bean beanAnno = field.getAnnotation(Bean.class); if (beanAnno == null) continue; String name = beanAnno.value(); if (!name.equals("") && !ctx.containsBean(name)) { ctx.registerBeanDefinition(name, defineAutowireBean(field.getType())); } else if (ctx.getBeansOfType(field.getType()).isEmpty()) { BeanDefinitionReaderUtils.registerWithGeneratedName(defineAutowireBean(field.getType()), ctx); }// w w w. ja v a 2 s .c o m } }
From source file:net.scriptability.core.integration.spring.ScriptAbilityBeanDefinitionParser.java
private String registerScriptAbilityInitialisingBean(final Element configureElement, final String factoryBeanName, final BeanDefinitionRegistry beanDefinitionRegistry) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(MethodInvokingFactoryBean.class); builder.addPropertyReference("targetObject", DEFAULT_SCRIPTABILITY_BEAN_NAME); builder.addPropertyValue("targetMethod", "start"); List<Object> arguments = new ManagedList(); if (hasBindingsElement(configureElement)) { Map<String, RuntimeBeanReference> bindings = createBeanBindings((Element) configureElement .getElementsByTagNameNS(XML_NAMESPACE__SCRIPTABILITY, XML_ELEMENT__BINDINGS).item(0)); arguments.add(bindings);/*w w w.j a v a 2 s .c o m*/ } arguments.add(new RuntimeBeanReference(factoryBeanName)); builder.addPropertyValue("arguments", arguments); return BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), beanDefinitionRegistry); }
From source file:org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport.java
/** * Registers the {@link AbstractBeanDefinition} with the {@link BeanDefinitionRegistry} using a generated bean name. * * @param beanDefinition {@link AbstractBeanDefinition} to register. * @param registry {@link BeanDefinitionRegistry} used to register the {@link AbstractBeanDefinition}. * @return the given {@link AbstractBeanDefinition}. * @see org.springframework.beans.factory.support.AbstractBeanDefinition * @see org.springframework.beans.factory.support.BeanDefinitionRegistry * @see org.springframework.beans.factory.support.BeanDefinitionReaderUtils#registerWithGeneratedName(AbstractBeanDefinition, BeanDefinitionRegistry) *///from w w w.java 2s .c om protected AbstractBeanDefinition register(AbstractBeanDefinition beanDefinition, BeanDefinitionRegistry registry) { Optional.ofNullable(registry) .ifPresent(it -> BeanDefinitionReaderUtils.registerWithGeneratedName(beanDefinition, it)); return beanDefinition; }
From source file:org.springframework.data.gemfire.config.GemfireDataSourceParser.java
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinition clientCacheDefinition = new ClientCacheParser().parse(element, parserContext); parserContext.getRegistry().registerBeanDefinition(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME, clientCacheDefinition);/*w w w.j ava2s.com*/ BeanDefinition poolDefinition = new PoolParser().parse(element, parserContext); MutablePropertyValues poolProperties = poolDefinition.getPropertyValues(); if (!element.hasAttribute(SUBSCRIPTION_ENABLED_ATTRIBUTE_NAME)) { poolProperties.add(SUBSCRIPTION_ENABLED_PROPERTY_NAME, true); } parserContext.getRegistry().registerBeanDefinition(GemfireConstants.DEFAULT_GEMFIRE_POOL_NAME, poolDefinition); if (log.isDebugEnabled()) { log.debug(String.format("Registered GemFire ClientCache bean [%1$s] of type [%2$s]%n", GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME, clientCacheDefinition.getBeanClassName())); } BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(GemfireDataSourcePostProcessor.class); builder.addConstructorArgReference(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME); BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), parserContext.getRegistry()); return null; }
From source file:org.springframework.data.gemfire.config.xml.GemfireDataSourceParser.java
/** * {@inheritDoc}//from w ww . j a v a2 s . co m */ @Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinition clientCacheDefinition = new ClientCacheParser().parse(element, parserContext); parserContext.getRegistry().registerBeanDefinition(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME, clientCacheDefinition); BeanDefinition poolDefinition = new PoolParser().parse(element, parserContext); MutablePropertyValues poolProperties = poolDefinition.getPropertyValues(); if (!element.hasAttribute(SUBSCRIPTION_ENABLED_ATTRIBUTE_NAME)) { poolProperties.add(SUBSCRIPTION_ENABLED_PROPERTY_NAME, true); } parserContext.getRegistry().registerBeanDefinition(GemfireConstants.DEFAULT_GEMFIRE_POOL_NAME, poolDefinition); if (log.isDebugEnabled()) { log.debug(String.format("Registered GemFire ClientCache bean [%1$s] of type [%2$s]%n", GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME, clientCacheDefinition.getBeanClassName())); } BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(GemfireDataSourcePostProcessor.class); builder.addConstructorArgReference(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME); BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), parserContext.getRegistry()); return null; }
From source file:org.springframework.data.gemfire.function.config.AbstractFunctionExecutionBeanDefinitionBuilder.java
/** * Build the bean definition/* w w w . j av a2s. co m*/ * @param registry * @return */ BeanDefinition build(BeanDefinitionRegistry registry) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .rootBeanDefinition(getFunctionProxyFactoryBeanClass()); builder.addConstructorArgValue(configuration.getFunctionExecutionInterface()); BeanDefinitionBuilder functionTemplateBuilder = getGemfireOperationsBeanDefinitionBuilder(registry); functionTemplateBuilder.setLazyInit(true); String resultCollectorRef = (String) configuration.getAttribute("resultCollector"); if (StringUtils.hasText(resultCollectorRef)) { functionTemplateBuilder.addPropertyReference("resultCollector", resultCollectorRef); } AbstractBeanDefinition functionTemplate = functionTemplateBuilder.getBeanDefinition(); String functionTemplateName = BeanDefinitionReaderUtils.registerWithGeneratedName(functionTemplate, registry); builder.addConstructorArgReference(functionTemplateName); return builder.getBeanDefinition(); }