List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder addConstructorArgValue
public BeanDefinitionBuilder addConstructorArgValue(@Nullable Object value)
From source file:org.metaeffekt.dcc.commons.spring.xml.DCCConfigurationBeanDefinitionParser.java
private ManagedList<AbstractBeanDefinition> parseMappingsElement(Element unitElement, String unitId, BeanDefinitionRegistry registry) { ManagedList<AbstractBeanDefinition> mappings = new ManagedList<>(); Element mappingsElement = DomUtils.getChildElementByTagName(unitElement, ELEMENT_UNIT_MAPPINGS); if (mappingsElement != null) { List<Element> mappingElements = DomUtils.getChildElementsByTagName(mappingsElement, "mapping"); for (Element mappingElement : mappingElements) { String targetCapabilityId = parseString(mappingElement, "targetCapabilityId", null, registry); BeanDefinitionBuilder mappingBeanDefBuilder = BeanDefinitionBuilder .genericBeanDefinition(Mapping.class); mappingBeanDefBuilder.addConstructorArgValue(Id.createCapabilityId(targetCapabilityId)); ManagedList<AttributeMapper> mappers = new ManagedList<>(); Element mapUnitAttributesElement = DomUtils.getChildElementByTagName(mappingElement, "map-unit-attributes"); if (mapUnitAttributesElement != null) { String sourcePrefix = parseString(mapUnitAttributesElement, "sourcePrefix", null, registry); String targetPrefix = parseString(mapUnitAttributesElement, "targetPrefix", null, registry); UnitToCapabilityAttributeMapper mapper = new UnitToCapabilityAttributeMapper(sourcePrefix, targetPrefix);/*from w w w.j a v a 2s. co m*/ mappers.add(mapper); } // extract map alls List<Element> mapAllElements = DomUtils.getChildElementsByTagName(mappingElement, "map-all"); for (Element mapAllElement : mapAllElements) { Id<CapabilityId> sourceCapabilityId = Id .createCapabilityId(parseString(mapAllElement, "sourceCapabilityId", null, registry)); String sourcePrefix = parseString(mapAllElement, "sourcePrefix", null, registry); String targetPrefix = parseString(mapAllElement, "targetPrefix", null, registry); SourceToTargetCapabilityAttributeMapper mapper = new SourceToTargetCapabilityAttributeMapper( sourceCapabilityId, sourcePrefix, targetPrefix); mappers.add(mapper); } // extract expressions List<Element> expressionElements = DomUtils.getChildElementsByTagName(mappingElement, "expression"); for (Element expressionElement : expressionElements) { String attributeKey = expressionElement.getAttribute("attributeKey"); String value = parseString(expressionElement, "value", null, registry); ExpressionAttributeMapper mapper = new ExpressionAttributeMapper(attributeKey, value); mappers.add(mapper); } mappingBeanDefBuilder.addPropertyValue("attributeMappers", mappers); mappingBeanDefBuilder.setScope(BeanDefinition.SCOPE_PROTOTYPE); mappings.add(mappingBeanDefBuilder.getBeanDefinition().cloneBeanDefinition()); } } return mappings; }
From source file:org.metaeffekt.dcc.commons.spring.xml.DCCConfigurationBeanDefinitionParser.java
private BeanDefinitionBuilder createGenericCapabilityBuilder(String capabilityId, Element capElement, Class<? extends Capability> type) { String capabilityDefinitionRef = capElement.getAttribute(ATTRIBUTE_CAPABILITY_DEFINITION_REF); // convention: if the capabilityDefinitionRef matches the capabilityId it can be omitted if (StringUtils.isEmpty(capabilityDefinitionRef)) { capabilityDefinitionRef = capabilityId; }/*www . j a va 2 s. co m*/ String capabilityDefRef = createCapabilityDefBeanName(capabilityDefinitionRef); BeanDefinitionBuilder capabilityBeanDefBuilder = BeanDefinitionBuilder.genericBeanDefinition(type); capabilityBeanDefBuilder.addConstructorArgValue(Id.createCapabilityId(capabilityId)); capabilityBeanDefBuilder.addConstructorArgReference(capabilityDefRef); capabilityBeanDefBuilder.addConstructorArgValue(null); // force spring to create several instances to not use shared capabilities across different units capabilityBeanDefBuilder.setScope(BeanDefinition.SCOPE_PROTOTYPE); return capabilityBeanDefBuilder; }
From source file:org.mule.module.extension.internal.config.OperationBeanDefinitionParser.java
@Override public BeanDefinition parse(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .rootBeanDefinition(OperationMessageProcessorFactoryBean.class); builder.setScope(BeanDefinition.SCOPE_PROTOTYPE); parseConfigRef(element, builder);/*from w w w . ja va 2 s. c o m*/ builder.addConstructorArgValue(extension); builder.addConstructorArgValue(operation); builder.addConstructorArgValue(toElementDescriptorBeanDefinition(element)); builder.addConstructorArgValue(parseNestedOperations(element, parserContext)); builder.addConstructorArgReference(MuleProperties.OBJECT_MULE_CONTEXT); BeanDefinition definition = builder.getBeanDefinition(); setNoRecurseOnDefinition(definition); attachProcessorDefinition(parserContext, definition); return definition; }
From source file:org.mule.module.extension.internal.config.OperationBeanDefinitionParser.java
private void parseConfigRef(Element element, BeanDefinitionBuilder builder) { String configRef = element.getAttribute(ATTRIBUTE_NAME_CONFIG); if (StringUtils.isBlank(configRef)) { configRef = null;/*from ww w .j ava 2s . co m*/ } builder.addConstructorArgValue(configRef); }
From source file:org.mule.module.extension.internal.config.XmlExtensionParserUtils.java
/** * Parses the given {@code element} for an attribute named {@code name}. If not found, * a name is auto generated for the element. In either case, the obtained name * is set on the {@code builder} using the {@link BeanDefinitionBuilder#addConstructorArgValue(Object)} * method//from w w w.ja v a 2 s . co m * * @param element an {@link Element} being parsed * @param builder a {@link BeanDefinitionBuilder} */ static void parseConfigName(Element element, BeanDefinitionBuilder builder) { String name = AutoIdUtils.getUniqueName(element, "mule-bean"); element.setAttribute("name", name); builder.addConstructorArgValue(name); }
From source file:org.mule.module.extension.internal.config.XmlExtensionParserUtils.java
/** * Creates a {@link BeanDefinition} which generates a {@link ElementDescriptor} * that describes the given {@code element} * * @param element the {@link Element} you want to describe * @return a {@link BeanDefinition}//w ww .j a va 2s . c om */ static BeanDefinition toElementDescriptorBeanDefinition(Element element) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ElementDescriptor.class); builder.addConstructorArgValue(element.getLocalName()); parseElementDescriptorAttributes(element, builder); parseElementDescriptorChilds(element, builder); return builder.getBeanDefinition(); }
From source file:org.mule.module.extension.internal.config.XmlExtensionParserUtils.java
private static void parseElementDescriptorChilds(Element element, BeanDefinitionBuilder builder) { ManagedList<BeanDefinition> managedChilds = new ManagedList<>(); for (Element child : DomUtils.getChildElements(element)) { managedChilds.add(toElementDescriptorBeanDefinition(child)); }// w w w . j a v a2 s . c o m builder.addConstructorArgValue(managedChilds); }
From source file:org.mule.module.extension.internal.config.XmlExtensionParserUtils.java
private static void parseElementDescriptorAttributes(Element element, BeanDefinitionBuilder builder) { ManagedMap<String, String> managedAttributes = new ManagedMap<>(); NamedNodeMap attributes = element.getAttributes(); for (int i = 0; i < attributes.getLength(); i++) { String name = attributes.item(i).getLocalName(); managedAttributes.put(name, element.getAttribute(name)); }//from www . j a v a 2s . co m builder.addConstructorArgValue(managedAttributes); }
From source file:org.springframework.data.gemfire.function.config.AbstractFunctionExecutionBeanDefinitionBuilder.java
/** * Build the bean definition/*from w w w. j av a 2 s . 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(); }
From source file:org.springframework.data.jdbc.config.oracle.PoolingDataSourceBeanDefinitionParser.java
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { //ToDo look for username-connection-proxy boolean useWrapper = false; String connectionContextProviderRef = null; Element usernameConnectionProxyElement = DomUtils.getChildElementByTagName(element, USERNAME_CONNECTION_PROXY);/*from w w w . j ava 2 s . co m*/ if (usernameConnectionProxyElement != null) { if (logger.isDebugEnabled()) { logger.debug("Using username-connection-proxy"); } if (usernameConnectionProxyElement.hasAttribute(CONNECTION_CONTEXT_PROVIDER)) { if (logger.isDebugEnabled()) { logger.debug(CONNECTION_CONTEXT_PROVIDER + ": " + usernameConnectionProxyElement.getAttribute(CONNECTION_CONTEXT_PROVIDER)); } connectionContextProviderRef = usernameConnectionProxyElement .getAttribute(CONNECTION_CONTEXT_PROVIDER); } useWrapper = true; //builder.addPropertyValue("connectionProperties", connProperties); } BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(); builder.getRawBeanDefinition().setBeanClassName(getBeanClassName(element)); builder.getRawBeanDefinition().setSource(parserContext.extractSource(element)); builder.getRawBeanDefinition().setDestroyMethodName("close"); if (parserContext.isNested()) { // Inner bean definition must receive same scope as containing bean. builder.setScope(parserContext.getContainingBeanDefinition().getScope()); } if (parserContext.isDefaultLazyInit()) { // Default-lazy-init applies to custom bean definitions as well. builder.setLazyInit(true); } doParse(element, parserContext, builder); if (useWrapper) { BeanDefinitionBuilder wrapper = BeanDefinitionBuilder.genericBeanDefinition(); wrapper.getRawBeanDefinition() .setBeanClassName("org.springframework.data.jdbc.support.oracle.ProxyDataSource"); wrapper.addConstructorArgValue(builder.getBeanDefinition()); if (connectionContextProviderRef == null) { wrapper.addConstructorArgValue(null); } else { wrapper.addConstructorArgReference(connectionContextProviderRef); } return wrapper.getBeanDefinition(); } else { return builder.getBeanDefinition(); } }