List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder addConstructorArgValue
public BeanDefinitionBuilder addConstructorArgValue(@Nullable Object value)
From source file:ar.com.zauber.commons.conversion.spring.schema.SimplePropertyFieldDefinitionParser.java
/** @see AbstractSingleBeanDefinitionParser#doParse(Element, ParserContext, * BeanDefinitionBuilder) */ @SuppressWarnings("unchecked") protected final void doParse(final Element element, final ParserContext parserContext, final BeanDefinitionBuilder bean) { final String targetPropertyName = element.getAttribute("target"); String sourcePropertyName;/*from ww w. j a v a2 s . c o m*/ Converter converter; bean.addConstructorArgValue(targetPropertyName); if (element.hasAttribute("source")) { sourcePropertyName = element.getAttribute("source"); } else { sourcePropertyName = targetPropertyName; } final List<?> l = parserContext.getDelegate().parseListElement(element, bean.getBeanDefinition()); final BeanDefinitionBuilder bdb = BeanDefinitionBuilder.rootBeanDefinition(SinglePropertyConverter.class) .addConstructorArgValue(sourcePropertyName); if (element.hasAttribute("converter-ref")) { bean.addConstructorArgValue( bdb.addConstructorArgReference(element.getAttribute("converter-ref")).getBeanDefinition()); } else if (l.size() == 1) { bean.addConstructorArgValue(bdb.addConstructorArgValue(l.iterator().next()).getBeanDefinition()); } else { converter = new IdentityConverter(); bean.addConstructorArgValue(new SinglePropertyConverter(sourcePropertyName, converter)); } configureSetter(bean, element); }
From source file:edu.internet2.middleware.shibboleth.common.config.metadata.ResourceBackedMetadataProviderBeanDefinitionParser.java
/** {@inheritDoc} */ protected void doParse(Element config, ParserContext parserContext, BeanDefinitionBuilder builder) { super.doParse(config, parserContext, builder); List<Element> resourceElems = XMLHelper.getChildElementsByTagNameNS(config, MetadataNamespaceHandler.NAMESPACE, "MetadataResource"); builder.addConstructorArgValue( SpringConfigurationUtils.parseInnerCustomElement(resourceElems.get(0), parserContext)); }
From source file:net.phoenix.thrift.xml.ArgsBeanDefinitionParser.java
/** * InetSocketAddress server socket?/*w w w . jav a 2 s . c o m*/ * * @param element * @param parserContext * @return */ protected AbstractBeanDefinition buildInetSocketAddress(Element element) { int port = Integer.parseInt(element.getAttribute("port")); String hostname = element.getAttribute("hostname"); BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(InetSocketAddress.class); if (!StringUtils.isEmpty(hostname)) builder.addConstructorArgValue(hostname); builder.addConstructorArgValue(port); return builder.getBeanDefinition(); }
From source file:com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar.java
private void registerDubboConfigBindingBeanPostProcessor(String beanName, PropertyValues propertyValues, BeanDefinitionRegistry registry) { Class<?> processorClass = DubboConfigBindingBeanPostProcessor.class; BeanDefinitionBuilder builder = rootBeanDefinition(processorClass); builder.addConstructorArgValue(beanName).addConstructorArgValue(propertyValues); AbstractBeanDefinition beanDefinition = builder.getBeanDefinition(); beanDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); registerWithGeneratedName(beanDefinition, registry); if (log.isInfoEnabled()) { log.info("The BeanPostProcessor bean definition [" + processorClass.getName() + "] for dubbo config bean [name : " + beanName + "] has been registered."); }/*from w w w .j a va 2 s . c o m*/ }
From source file:it.scoppelletti.programmerpower.web.spring.config.SecurityFilterBeanDefinitionParser.java
/** * Restituisce la definizione del componente * {@code FilterInvocationSecurityMetadataSource}. * /*from ww w .j ava 2 s .c om*/ * @param el Elemento XML. * @return Oggetto. */ private BeanDefinition createSecurityMetadataSource(Element el) { BeanDefinitionBuilder builder; builder = BeanDefinitionBuilder .rootBeanDefinition(ExpressionBasedFilterInvocationSecurityMetadataSource.class); builder.addConstructorArgValue(parseInterceptors(el)); builder.addConstructorArgReference(el.getAttribute("expression-handler-ref")); return builder.getBeanDefinition(); }
From source file:edu.internet2.middleware.shibboleth.common.config.resource.ChainingResourceFilterBeanDefinitionParser.java
/** {@inheritDoc} */ protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { List<Element> childFilters = XMLHelper.getChildElementsByTagNameNS(element, ResourceNamespaceHandler.NAMESPACE, "ResourceFilter"); log.debug("Processing {} child filters.", childFilters.size()); builder.addConstructorArgValue( SpringConfigurationUtils.parseInnerCustomElements(childFilters, parserContext)); }
From source file:org.jboss.seam.spring.namespace.CdiBeanImportBeanDefinitionParser.java
@Override public AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder cdiBeanFactoryBuilder = BeanDefinitionBuilder .rootBeanDefinition(FACTORY_BEAN_CLASS_NAME); String beanManagerReference = element.getAttribute(BEAN_MANAGER_REFERENCE); if (StringUtils.hasText(beanManagerReference)) { cdiBeanFactoryBuilder.addPropertyReference("beanManager", beanManagerReference); } else {/*from ww w . j a va2 s .c om*/ cdiBeanFactoryBuilder.addPropertyReference("beanManager", DEFAULT_BEAN_MANAGER_ID); } String name = element.getAttribute(NAME_ATTRIBUTE); String type = element.getAttribute("type"); if (!StringUtils.hasText(name) && !StringUtils.hasText(type)) { parserContext.getReaderContext() .error("A CDI bean reference must specify at least a name or the bean type", element); } ArrayList<Qualifier> qualifiers = new ArrayList<Qualifier>(); NodeList children = element.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node childNode = children.item(i); if (childNode.getNodeType() == Node.ELEMENT_NODE && "qualifier".equals(childNode.getLocalName())) { Element qualifierElement = (Element) childNode; Qualifier qualifier = new Qualifier(); Map<String, Object> attributes = new HashMap<String, Object>(); qualifier.setClassName(qualifierElement.getAttribute("type")); if (qualifierElement.hasChildNodes()) { NodeList attributeNodes = qualifierElement.getChildNodes(); for (int j = 0; j < attributeNodes.getLength(); j++) { Node attributeNode = attributeNodes.item(j); if (attributeNode.getNodeType() == Node.ELEMENT_NODE && "attribute".equals(attributeNode.getLocalName())) { Element attributeElement = (Element) attributeNode; String attributeName = attributeElement.getAttribute("name"); String attributeValue = attributeElement.getAttribute("value"); if (!StringUtils.hasText(attributeName) || !StringUtils.hasText(attributeValue)) { parserContext.getReaderContext().error( "Qualifier attributes must have both a name and a value", attributeElement); } attributes.put(attributeName, attributeValue); } } } qualifier.setAttributes(attributes); qualifiers.add(qualifier); } } if (StringUtils.hasText(name) && !qualifiers.isEmpty()) { parserContext.getReaderContext() .error("A bean reference must either specify a name or qualifiers but not both", element); } BeanDefinitionBuilder lookupBuilder = BeanDefinitionBuilder .rootBeanDefinition(TYPE_SAFE_BEAN_LOOKUP_CLASS_NAME); lookupBuilder.addConstructorArgValue(type); lookupBuilder.addPropertyValue("qualifiers", qualifiers); AbstractBeanDefinition lookupBeanDefinition = lookupBuilder.getBeanDefinition(); String lookupBeanName = parserContext.getReaderContext().generateBeanName(lookupBeanDefinition); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(lookupBeanDefinition, lookupBeanName), parserContext.getRegistry()); cdiBeanFactoryBuilder.addPropertyReference("cdiBeanLookup", lookupBeanName); return cdiBeanFactoryBuilder.getBeanDefinition(); }
From source file:edu.internet2.middleware.shibboleth.common.config.attribute.filtering.match.basic.AndMatchFunctorBeanDefinitionParser.java
/** {@inheritDoc} */ protected void doParse(Element configElement, ParserContext parserContext, BeanDefinitionBuilder builder) { super.doParse(configElement, parserContext, builder); List<Element> ruleElements = XMLHelper.getChildElementsByTagNameNS(configElement, BasicMatchFunctorNamespaceHandler.NAMESPACE, "Rule"); builder.addConstructorArgValue( SpringConfigurationUtils.parseInnerCustomElements(ruleElements, parserContext)); ruleElements = XMLHelper.getChildElementsByTagNameNS(configElement, BasicMatchFunctorNamespaceHandler.NAMESPACE, "RuleReference"); if (!ruleElements.isEmpty()) { throw new BeanCreationException("RuleReference elements within an AND rule are not supported"); }/*from ww w . ja v a 2 s . c o m*/ }
From source file:edu.internet2.middleware.shibboleth.common.config.attribute.filtering.match.basic.NotMatchFunctorBeanDefinitionParser.java
/** {@inheritDoc} */ protected void doParse(Element configElement, ParserContext parserContext, BeanDefinitionBuilder builder) { super.doParse(configElement, parserContext, builder); List<Element> ruleElements = XMLHelper.getChildElementsByTagNameNS(configElement, BasicMatchFunctorNamespaceHandler.NAMESPACE, "Rule"); builder.addConstructorArgValue( SpringConfigurationUtils.parseInnerCustomElement(ruleElements.get(0), parserContext)); ruleElements = XMLHelper.getChildElementsByTagNameNS(configElement, BasicMatchFunctorNamespaceHandler.NAMESPACE, "RuleReference"); if (!ruleElements.isEmpty()) { throw new BeanCreationException("RuleReference elements within a NOT rule are not supported"); }/*from w w w . j a v a 2 s.c om*/ }
From source file:edu.internet2.middleware.shibboleth.common.config.attribute.filtering.match.basic.OrMatchFunctorBeanDefinitionParser.java
/** {@inheritDoc} */ protected void doParse(Element configElement, ParserContext parserContext, BeanDefinitionBuilder builder) { super.doParse(configElement, parserContext, builder); List<Element> ruleElements = XMLHelper.getChildElementsByTagNameNS(configElement, BasicMatchFunctorNamespaceHandler.NAMESPACE, "Rule"); builder.addConstructorArgValue( SpringConfigurationUtils.parseInnerCustomElements(ruleElements, parserContext)); ruleElements = XMLHelper.getChildElementsByTagNameNS(configElement, BasicMatchFunctorNamespaceHandler.NAMESPACE, "RuleReference"); if (!ruleElements.isEmpty()) { throw new BeanCreationException("RuleReference elements within an OR rule are not supported"); }//w w w . ja v a 2 s.c o m }