List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder addPropertyReference
public BeanDefinitionBuilder addPropertyReference(String name, String beanName)
From source file:org.metaeffekt.dcc.commons.spring.xml.DCCConfigurationBeanDefinitionParser.java
private void parseAndRegisterBindings(Element profileElement, File origin, BeanDefinitionRegistry registry, ParserContext parserContext) {/*from w ww . j av a 2 s.c o m*/ List<Element> bindingElements = DomUtils.getChildElementsByTagName(profileElement, ELEMENT_BINDING); for (Element bindingElement : bindingElements) { Element sourceElement = DomUtils.getChildElementByTagName(bindingElement, ELEMENT_BINDING_SOURCE); Element targetElement = DomUtils.getChildElementByTagName(bindingElement, ELEMENT_BINDING_TARGET); String sourceUnitRef = parseString(sourceElement, "unitRef", null, registry); String sourceCapabilityId = parseString(sourceElement, "capabilityId", null, registry); String targetUnitRef = parseString(targetElement, "unitRef", null, registry); String targetCapabilityId = parseString(targetElement, "capabilityId", null, registry); // convention: if target capabilityId is omitted then use the source capability id if (StringUtils.isEmpty(targetCapabilityId)) { targetCapabilityId = sourceCapabilityId; } String description = extractDescription(bindingElement, registry); BeanDefinitionBuilder bindingBeanBuilder = BeanDefinitionBuilder .genericBeanDefinition(BindingFactoryBean.class); bindingBeanBuilder.addPropertyValue(PROPERTY_ORIGIN, origin); bindingBeanBuilder.addPropertyValue(PROPERTY_DESCRIPTION, description); bindingBeanBuilder.addPropertyValue("sourceCapabilityId", Id.createCapabilityId(sourceCapabilityId)); bindingBeanBuilder.addPropertyReference("sourceUnit", sourceUnitRef); bindingBeanBuilder.addPropertyValue("targetCapabilityId", Id.createCapabilityId(targetCapabilityId)); bindingBeanBuilder.addPropertyReference("targetUnit", targetUnitRef); String bindingBeanName = parserContext.getReaderContext() .generateBeanName(bindingBeanBuilder.getBeanDefinition()); registry.registerBeanDefinition(bindingBeanName, bindingBeanBuilder.getBeanDefinition()); RuntimeBeanReference beanRef = new RuntimeBeanReference(bindingBeanName); beanRef.setSource(parserContext.extractSource(bindingElement)); } }
From source file:org.opentripplanner.integration.benchmark.RunBenchmarkPlanMain.java
private Map<String, BeanDefinition> getAdditionalBeans() { Map<String, BeanDefinition> additionalBeans = new HashMap<String, BeanDefinition>(); BeanDefinitionBuilder bundlePath = BeanDefinitionBuilder.genericBeanDefinition(GraphBundle.class); bundlePath.addPropertyValue("path", _graphPath); additionalBeans.put("graphBundle", bundlePath.getBeanDefinition()); BeanDefinitionBuilder graph = BeanDefinitionBuilder.genericBeanDefinition(SerializedGraphFactoryBean.class); graph.addPropertyReference("graphBundle", "graphBundle"); additionalBeans.put("graph", graph.getBeanDefinition()); return additionalBeans; }
From source file:org.springframework.batch.integration.config.xml.JobLaunchingGatewayParser.java
@Override protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) { final BeanDefinitionBuilder jobLaunchingGatewayBuilder = BeanDefinitionBuilder .genericBeanDefinition(JobLaunchingGateway.class); final String jobLauncher = element.getAttribute("job-launcher"); if (StringUtils.hasText(jobLauncher)) { jobLaunchingGatewayBuilder.addConstructorArgReference(jobLauncher); } else {// www .j av a 2 s . co m if (logger.isDebugEnabled()) { logger.debug("No jobLauncher specified, using default 'jobLauncher' reference instead."); } jobLaunchingGatewayBuilder.addConstructorArgReference("jobLauncher"); } IntegrationNamespaceUtils.setValueIfAttributeDefined(jobLaunchingGatewayBuilder, element, "reply-timeout", "sendTimeout"); final String replyChannel = element.getAttribute("reply-channel"); if (StringUtils.hasText(replyChannel)) { jobLaunchingGatewayBuilder.addPropertyReference("outputChannel", replyChannel); } return jobLaunchingGatewayBuilder; }
From source file:org.springframework.data.gemfire.config.AbstractRegionParser.java
protected void doParseCommonRegionConfiguration(Element element, ParserContext parserContext, BeanDefinitionBuilder regionBuilder, BeanDefinitionBuilder regionAttributesBuilder, boolean subRegion) { mergeTemplateRegionAttributes(element, parserContext, regionBuilder, regionAttributesBuilder); String resolvedCacheRef = ParsingUtils.resolveCacheReference(element.getAttribute("cache-ref")); if (!subRegion) { regionBuilder.addPropertyReference("cache", resolvedCacheRef); ParsingUtils.setPropertyValue(element, regionBuilder, "close"); ParsingUtils.setPropertyValue(element, regionBuilder, "destroy"); }/*from w ww .ja v a 2 s . c o m*/ ParsingUtils.setPropertyValue(element, regionBuilder, "name"); ParsingUtils.setPropertyValue(element, regionBuilder, "ignore-if-exists", "lookupEnabled"); ParsingUtils.setPropertyValue(element, regionBuilder, "data-policy"); ParsingUtils.setPropertyValue(element, regionBuilder, "persistent"); ParsingUtils.setPropertyValue(element, regionBuilder, "shortcut"); if (StringUtils.hasText(element.getAttribute("disk-store-ref"))) { ParsingUtils.setPropertyValue(element, regionBuilder, "disk-store-ref", "diskStoreName"); regionBuilder.addDependsOn(element.getAttribute("disk-store-ref")); } ParsingUtils.parseOptionalRegionAttributes(parserContext, element, regionAttributesBuilder); ParsingUtils.parseSubscription(parserContext, element, regionAttributesBuilder); ParsingUtils.parseStatistics(element, regionAttributesBuilder); ParsingUtils.parseMembershipAttributes(parserContext, element, regionAttributesBuilder); ParsingUtils.parseExpiration(parserContext, element, regionAttributesBuilder); ParsingUtils.parseEviction(parserContext, element, regionAttributesBuilder); ParsingUtils.parseCompressor(parserContext, element, regionAttributesBuilder); String enableGateway = element.getAttribute("enable-gateway"); String hubId = element.getAttribute("hub-id"); // Factory will enable gateway if it is not set and hub-id is set. if (StringUtils.hasText(enableGateway)) { if (GemfireUtils.isGemfireVersion7OrAbove()) { log.warn("'enable-gateway' has been deprecated since Gemfire 7.0"); } } ParsingUtils.setPropertyValue(element, regionBuilder, "enable-gateway"); if (StringUtils.hasText(hubId)) { if (GemfireUtils.isGemfireVersion7OrAbove()) { log.warn("'hub-id' has been deprecated since Gemfire 7.0"); } if (!CollectionUtils.isEmpty(DomUtils.getChildElementsByTagName(element, "gateway-sender"))) { parserContext.getReaderContext().error("specifying both 'hub-id' and 'gateway-sender' is invalid", element); } } ParsingUtils.setPropertyValue(element, regionBuilder, "hub-id"); parseCollectionOfCustomSubElements(element, parserContext, regionBuilder, AsyncEventQueue.class.getName(), "async-event-queue", "asyncEventQueues"); parseCollectionOfCustomSubElements(element, parserContext, regionBuilder, GatewaySender.class.getName(), "gateway-sender", "gatewaySenders"); List<Element> subElements = DomUtils.getChildElements(element); for (Element subElement : subElements) { if (subElement.getLocalName().equals("cache-listener")) { regionBuilder.addPropertyValue("cacheListeners", ParsingUtils.parseRefOrNestedBeanDeclaration(parserContext, subElement, regionBuilder)); } else if (subElement.getLocalName().equals("cache-loader")) { regionBuilder.addPropertyValue("cacheLoader", ParsingUtils .parseRefOrSingleNestedBeanDeclaration(parserContext, subElement, regionBuilder)); } else if (subElement.getLocalName().equals("cache-writer")) { regionBuilder.addPropertyValue("cacheWriter", ParsingUtils .parseRefOrSingleNestedBeanDeclaration(parserContext, subElement, regionBuilder)); } } if (!subRegion) { parseSubRegions(element, parserContext, resolvedCacheRef); } }
From source file:org.springframework.data.gemfire.config.ParsingUtils.java
static void setPropertyReference(Element element, BeanDefinitionBuilder builder, String attributeName, String propertyName) {/*from w w w.j a v a2 s . c o m*/ String attributeValue = element.getAttribute(attributeName); if (StringUtils.hasText(attributeValue)) { builder.addPropertyReference(propertyName, attributeValue); } }
From source file:org.springframework.data.gemfire.config.xml.AbstractRegionParser.java
protected void doParseRegionConfiguration(Element element, ParserContext parserContext, BeanDefinitionBuilder regionBuilder, BeanDefinitionBuilder regionAttributesBuilder, boolean subRegion) { mergeRegionTemplateAttributes(element, parserContext, regionBuilder, regionAttributesBuilder); String resolvedCacheRef = ParsingUtils.resolveCacheReference(element.getAttribute("cache-ref")); if (!subRegion) { regionBuilder.addPropertyReference("cache", resolvedCacheRef); ParsingUtils.setPropertyValue(element, regionBuilder, "close"); ParsingUtils.setPropertyValue(element, regionBuilder, "destroy"); }//w w w.j ava 2s. c o m ParsingUtils.setPropertyValue(element, regionBuilder, "name"); ParsingUtils.setPropertyValue(element, regionBuilder, "data-policy"); ParsingUtils.setPropertyValue(element, regionBuilder, "ignore-if-exists", "lookupEnabled"); ParsingUtils.setPropertyValue(element, regionBuilder, "persistent"); ParsingUtils.setPropertyValue(element, regionBuilder, "shortcut"); if (StringUtils.hasText(element.getAttribute("disk-store-ref"))) { ParsingUtils.setPropertyValue(element, regionBuilder, "disk-store-ref", "diskStoreName"); regionBuilder.addDependsOn(element.getAttribute("disk-store-ref")); } ParsingUtils.parseOptionalRegionAttributes(element, parserContext, regionAttributesBuilder); ParsingUtils.parseSubscription(element, parserContext, regionAttributesBuilder); ParsingUtils.parseStatistics(element, regionAttributesBuilder); ParsingUtils.parseMembershipAttributes(element, parserContext, regionAttributesBuilder); ParsingUtils.parseExpiration(element, parserContext, regionAttributesBuilder); ParsingUtils.parseEviction(element, parserContext, regionAttributesBuilder); ParsingUtils.parseCompressor(element, parserContext, regionAttributesBuilder); parseCollectionOfCustomSubElements(element, parserContext, regionBuilder, AsyncEventQueue.class.getName(), "async-event-queue", "asyncEventQueues"); parseCollectionOfCustomSubElements(element, parserContext, regionBuilder, GatewaySender.class.getName(), "gateway-sender", "gatewaySenders"); List<Element> subElements = DomUtils.getChildElements(element); for (Element subElement : subElements) { if (subElement.getLocalName().equals("cache-listener")) { regionBuilder.addPropertyValue("cacheListeners", ParsingUtils.parseRefOrNestedBeanDeclaration(subElement, parserContext, regionBuilder)); } else if (subElement.getLocalName().equals("cache-loader")) { regionBuilder.addPropertyValue("cacheLoader", ParsingUtils .parseRefOrSingleNestedBeanDeclaration(subElement, parserContext, regionBuilder)); } else if (subElement.getLocalName().equals("cache-writer")) { regionBuilder.addPropertyValue("cacheWriter", ParsingUtils .parseRefOrSingleNestedBeanDeclaration(subElement, parserContext, regionBuilder)); } } if (!subRegion) { parseSubRegions(element, parserContext, resolvedCacheRef); } }
From source file:org.springframework.data.gemfire.config.xml.ParsingUtils.java
static void setCacheReference(Element element, BeanDefinitionBuilder builder) { builder.addPropertyReference(CACHE_PROPERTY_NAME, resolveCacheReference(element)); }
From source file:org.springframework.data.gemfire.config.xml.ParsingUtils.java
static void setRegionReference(Element element, BeanDefinitionBuilder builder) { builder.addPropertyReference(REGION_PROPERTY_NAME, resolveRegionReference(element)); }
From source file:org.springframework.data.gemfire.function.config.AbstractFunctionExecutionBeanDefinitionBuilder.java
/** * Build the bean definition/* ww w.j a v a2 s .c o 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(); }
From source file:org.springframework.data.jdbc.config.oracle.RacFailoverInterceptorBeanDefinitionParser.java
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { //attributes/*from w ww.j ava2 s . com*/ List<Integer> recoverableErrorCodesList = new ArrayList<Integer>(); String recoverableErrorCodes = element.getAttribute(RECOVERABLE_ERROR_CODES_ATTRIBUTE); if (StringUtils.hasText(recoverableErrorCodes)) { String[] parsedRecoverableErrorCodes = StringUtils.tokenizeToStringArray(recoverableErrorCodes, ",", true, true); for (int i = 0; i < parsedRecoverableErrorCodes.length; i++) { try { recoverableErrorCodesList.add(new Integer(parsedRecoverableErrorCodes[i])); } catch (NumberFormatException e) { parserContext.getReaderContext().error("Error parsing recoverable error code list: \"" + recoverableErrorCodes + "\"; " + e.getClass().getName() + " - " + e.getMessage(), element); } } if (logger.isDebugEnabled()) { logger.debug( "Using provided " + RECOVERABLE_ERROR_CODES_ATTRIBUTE + ": " + recoverableErrorCodesList); } } String maxNumberOfRetries = element.getAttribute(MAX_NUMBER_OF_RETRIES_ATTRIBUTE); if (logger.isDebugEnabled()) { if (StringUtils.hasText(maxNumberOfRetries)) { logger.debug("Using provided " + MAX_NUMBER_OF_RETRIES_ATTRIBUTE + ": " + maxNumberOfRetries); } } String backOffPolicyRef = null; if (element.hasAttribute(BACK_OFF_POLICY_ATTRIBUTE)) { backOffPolicyRef = element.getAttribute(BACK_OFF_POLICY_ATTRIBUTE); if (logger.isDebugEnabled()) { logger.debug("Using provided " + BACK_OFF_POLICY_ATTRIBUTE + ": " + backOffPolicyRef); } } BeanDefinitionBuilder retryTemplateBuilder = BeanDefinitionBuilder.genericBeanDefinition(); retryTemplateBuilder.getRawBeanDefinition().setBeanClassName(RETRY_TEMPLATE_CLASS); BeanDefinitionBuilder racFailoverRetryPolicyBuilder = BeanDefinitionBuilder.genericBeanDefinition(); racFailoverRetryPolicyBuilder.getRawBeanDefinition().setBeanClassName(RAC_FAILOVER_RETRY_POLICY_CLASS); if (recoverableErrorCodesList.size() > 0) { racFailoverRetryPolicyBuilder.addPropertyValue(RECOVERABLE_ERROR_CODES_PROPERTY, recoverableErrorCodesList); } if (StringUtils.hasText(maxNumberOfRetries)) { racFailoverRetryPolicyBuilder.addPropertyValue(MAX_NUMBER_OF_RETRIES_PROPERTY, maxNumberOfRetries); } retryTemplateBuilder.addPropertyValue(RETRY_POLICY_PROPERTY, racFailoverRetryPolicyBuilder.getRawBeanDefinition()); if (StringUtils.hasText(backOffPolicyRef)) { retryTemplateBuilder.addPropertyReference(BACK_OFF_POLICY_PROPERTY, backOffPolicyRef); } builder.addPropertyValue(RETRY_OPERATIONS_PROPERTY, retryTemplateBuilder.getRawBeanDefinition()); if (logger.isDebugEnabled()) { logger.debug("Using retry policy: " + racFailoverRetryPolicyBuilder.getRawBeanDefinition().getBeanClassName()); } builder.setRole(BeanDefinition.ROLE_SUPPORT); }