List of usage examples for org.springframework.beans.factory.xml ParserContext extractSource
@Nullable
public Object extractSource(Object sourceCandidate)
From source file:org.spearal.spring.rest.xml.SpearalRestBeanDefinitionParser.java
static void registerInfrastructureComponent(Element element, ParserContext parserContext, BeanDefinitionBuilder componentBuilder, String beanName) { componentBuilder.getRawBeanDefinition().setSource(parserContext.extractSource(element)); componentBuilder.getRawBeanDefinition().setRole(BeanDefinition.ROLE_INFRASTRUCTURE); parserContext/*from w w w . ja v a 2s . com*/ .registerBeanComponent(new BeanComponentDefinition(componentBuilder.getBeanDefinition(), beanName)); }
From source file:biz.c24.io.spring.config.BeanDefinitionUtils.java
/** * Returns the {@link AbstractBeanDefinition} built by the given builder applying the given source to it. The actual * source will be extracted using the given {@link ParserContext}. * //from w w w .j a va 2 s .c o m * @param builder * @param source * @param context * @return */ public static AbstractBeanDefinition getSourcedBeanDefinition(BeanDefinitionBuilder builder, Object source, ParserContext context) { Assert.notNull(builder); Assert.notNull(source); Assert.notNull(context); AbstractBeanDefinition definition = builder.getBeanDefinition(); definition.setSource(context.extractSource(source)); return definition; }
From source file:com.ryantenney.metrics.spring.config.MetricRegistryBeanDefinitionParser.java
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { final Object source = parserContext.extractSource(element); final String name = element.getAttribute("name"); if (StringUtils.hasText(name)) { final BeanDefinitionBuilder beanDefBuilder = build(SharedMetricRegistries.class, source); beanDefBuilder.setFactoryMethod("getOrCreate"); beanDefBuilder.addConstructorArgValue(name); return beanDefBuilder.getBeanDefinition(); } else {//from ww w. j a v a 2 s .c o m return build(MetricRegistry.class, source).getBeanDefinition(); } }
From source file:biz.c24.io.spring.config.C24HttpMessageConverterBeanDefinitionParser.java
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext context) { Object source = context.extractSource(element); String modelRef = element.getAttribute("model-ref"); modelRef = StringUtils.hasText(modelRef) ? modelRef : C24ModelBeanDefinitionParser.DEFAULT_BEAN_NAME; Set<BeanDefinition> formats = new ManagedSet<BeanDefinition>(); for (Element formatElement : DomUtils.getChildElementsByTagName(element, "format")) { formats.add(formatParser.parse(formatElement, context)); }/*from w ww . j av a 2 s .c o m*/ // Create C24HttpMessageConverter bean BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(C24HttpMessageConverter.class); builder.addConstructorArgReference(modelRef); builder.addConstructorArgValue(formats); return getSourcedBeanDefinition(builder, source); }
From source file:org.codehaus.grepo.core.config.GenericRepositoryBeanDefinitionParser.java
/** * {@inheritDoc}/*from w w w . j a va2s .c om*/ */ @Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { Object source = parserContext.extractSource(element); GenericRepositoryConfigContext configContext = new GenericRepositoryConfigContext(element); // init bean defintion parse delegate... BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(parserContext.getReaderContext()); delegate.initDefaults(element.getOwnerDocument().getDocumentElement()); BeanDefinitionBuilder builder = BeanDefinitionParserHelper.createBuilderFromConfigContext(configContext, source, defaultGenericRepositoryFactoryType); delegate.parsePropertyElements(configContext.getElement(), builder.getRawBeanDefinition()); builder.addPropertyValue(GenericRepositoryConfigContext.PROXY_CLASS_PROPERTY, configContext.getProxyClass()); return builder.getBeanDefinition(); }
From source file:org.codehaus.grepo.core.config.GenericRepositoryFactoryBeanDefinitionParser.java
/** * {@inheritDoc}// ww w . ja v a 2 s.co m */ @Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { Object source = parserContext.extractSource(element); GenericRepositoryConfigContext configContext = new GenericRepositoryConfigContext(element); // init bean defintion parse delegate... BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(parserContext.getReaderContext()); delegate.initDefaults(element.getOwnerDocument().getDocumentElement()); BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition().setAbstract(true); builder.getRawBeanDefinition().setSource(source); if (configContext.hasClazz()) { builder.getRawBeanDefinition().setBeanClassName(configContext.getClazz()); } else { // no 'class' attribute is set, so use default bean class... builder.getRawBeanDefinition().setBeanClass(defaultGenericRepositoryFactoryType); } delegate.parsePropertyElements(element, builder.getRawBeanDefinition()); return builder.getBeanDefinition(); }
From source file:biz.c24.io.spring.integration.config.XPathHeaderEnricherParser.java
protected void processHeaders(Element element, ManagedMap<String, Object> headers, ParserContext parserContext) { Object source = parserContext.extractSource(element); NodeList childNodes = element.getChildNodes(); for (int i = 0; i < childNodes.getLength(); i++) { Node node = childNodes.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { Element headerElement = (Element) node; String elementName = node.getLocalName(); if ("header".equals(elementName)) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition( "biz.c24.io.spring.integration.transformer.C24XPathHeaderEnricher$XPathExpressionEvaluatingHeaderValueMessageProcessor"); String expressionString = headerElement.getAttribute("xpath-statement"); String expressionRef = headerElement.getAttribute("xpath-statement-ref"); boolean isExpressionString = StringUtils.hasText(expressionString); boolean isExpressionRef = StringUtils.hasText(expressionRef); if (!(isExpressionString ^ isExpressionRef)) { parserContext.getReaderContext().error( "Exactly one of the 'xpath-statement' or 'xpath-statement-ref' attributes is required.", source);// w w w. j a v a 2s.c o m } if (isExpressionString) { builder.addConstructorArgValue(expressionString); } else { builder.addConstructorArgReference(expressionRef); } IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, headerElement, "evaluation-type"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, headerElement, "overwrite"); String headerName = headerElement.getAttribute("name"); headers.put(headerName, builder.getBeanDefinition()); } } } }
From source file:org.synyx.hera.si.config.DynamicServiceActivatorParser.java
@Override protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) { Object source = parserContext.extractSource(element); String pluginType = element.getAttribute("plugin-type"); String method = element.getAttribute("method"); BeanDefinitionBuilder builder = BeanDefinitionBuilder .rootBeanDefinition(PluginRegistryAwareMessageHandler.class); builder.addConstructorArgValue(getRegistryBeanDefinition(pluginType, source)); builder.addConstructorArgValue(pluginType); builder.addConstructorArgValue(method); String delimiter = element.getAttribute("delimiter"); if (StringUtils.hasText(delimiter)) { builder.addPropertyValue("delimiterExpression", delimiter); }/* ww w.j a va 2 s . c om*/ String invocationArguments = element.getAttribute("invocation-arguments"); if (StringUtils.hasText(invocationArguments)) { builder.addPropertyValue("invocationArgumentsExpression", invocationArguments); } AbstractBeanDefinition definition = builder.getBeanDefinition(); definition.setSource(source); return builder; }
From source file:com.frank.search.solr.server.config.EmbeddedSolrServerBeanDefinitionParser.java
private AbstractBeanDefinition getSourcedBeanDefinition(BeanDefinitionBuilder builder, Element source, ParserContext context) { AbstractBeanDefinition definition = builder.getBeanDefinition(); definition.setSource(context.extractSource(source)); return definition; }
From source file:com.mtgi.analytics.aop.config.v11.BtConfigBeanDefinitionParser.java
public BeanDefinition parse(Element element, ParserContext parserContext) { CompositeComponentDefinition component = new CompositeComponentDefinition(element.getNodeName(), parserContext.extractSource(element)); parserContext.pushContainingComponent(component); try {/*ww w .j av a 2 s. c o m*/ NodeList children = element.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node node = children.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) parserContext.getDelegate().parseCustomElement((Element) node, null); } //no actual bean generated for bt:config. return null; } finally { parserContext.popAndRegisterContainingComponent(); } }