Example usage for org.springframework.util.xml DomUtils getChildElementByTagName

List of usage examples for org.springframework.util.xml DomUtils getChildElementByTagName

Introduction

In this page you can find the example usage for org.springframework.util.xml DomUtils getChildElementByTagName.

Prototype

@Nullable
public static Element getChildElementByTagName(Element ele, String childEleName) 

Source Link

Document

Utility method that returns the first child element identified by its name.

Usage

From source file:org.jolokia.jvmagent.spring.config.AgentBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    Element config = DomUtils.getChildElementByTagName(element, "config");
    if (config != null) {
        builder.addPropertyValue("config",
                parserContext.getDelegate().parseCustomElement(config, builder.getRawBeanDefinition()));
    }/*from w w w.j  a va2s.co  m*/
    String lookupConfig = element.getAttribute("lookupConfig");
    if (StringUtils.hasLength(lookupConfig)) {
        builder.addPropertyValue("lookupConfig", Boolean.parseBoolean(lookupConfig));
    } else {
        builder.addPropertyValue("lookupConfig", false);
    }
    String systemPropertiesMode = element.getAttribute("systemPropertiesMode");
    if (StringUtils.hasLength(systemPropertiesMode)) {
        builder.addPropertyValue("systemPropertiesMode", systemPropertiesMode);
    }
}

From source file:org.jolokia.support.spring.config.AgentBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    Element config = DomUtils.getChildElementByTagName(element, "config");
    if (config != null) {
        builder.addPropertyValue("config",
                parserContext.getDelegate().parseCustomElement(config, builder.getRawBeanDefinition()));
    }//w  ww . j  ava  2s  .c  om
    Element log = DomUtils.getChildElementByTagName(element, "log");
    if (log != null) {
        LogBeanDefinitionParser logParser = new LogBeanDefinitionParser();
        builder.addPropertyValue("logHandler", logParser.parseInternal(log, parserContext));
    }
    for (String lookupKey : new String[] { "lookupConfig", "lookupServices" }) {
        String lookup = element.getAttribute(lookupKey);
        builder.addPropertyValue(lookupKey, StringUtils.hasLength(lookup) && Boolean.parseBoolean(lookup));
    }
    String systemPropertiesMode = element.getAttribute("systemPropertiesMode");
    if (StringUtils.hasLength(systemPropertiesMode)) {
        builder.addPropertyValue("systemPropertiesMode", systemPropertiesMode);
    }
    String exposeApplicationContext = element.getAttribute("exposeApplicationContext");
    if (StringUtils.hasLength(exposeApplicationContext)) {
        builder.addPropertyValue("exposeApplicationContext", exposeApplicationContext);
    }
}

From source file:com.cloudseal.spring.client.namespace.Utility.java

public static Element domFromFile(final String fileName, final String rootElement)
        throws ParserConfigurationException, IOException, SAXException {
    final InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);
    if (stream == null)
        throw new FileNotFoundException("Cannot find file: " + fileName);
    return DomUtils.getChildElementByTagName(domFromReader(new InputStreamReader(stream, "UTF-8")),
            rootElement);/*www. j a v a2s.  c  o m*/
}

From source file:org.opencredo.esper.integration.config.xml.InboundChannelAdapterParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    String channelRef = element.getAttribute("channel");
    Assert.hasText(channelRef, "channel attribute must be provided");
    builder.addConstructorArgReference(channelRef);

    Element eplElements = DomUtils.getChildElementByTagName(element, "epl");

    if (eplElements != null) {
        builder.addConstructorArgValue(eplElements.getTextContent());
    } else {//  ww  w  . j a  v a2 s .  co m
        builder.addConstructorArgValue(null);
    }

    Attr templateNameNode = element.getAttributeNode("template-name");
    if (templateNameNode != null) {
        builder.addPropertyValue("templateName", templateNameNode.getTextContent());
    }
}

From source file:net.phoenix.thrift.xml.ServerBeanDefinitionParser.java

@Override
protected void preParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    // ?init-methoddestroy-method
    String start = element.getAttribute("start");
    if (this.parseBoolean(start)) {
        builder.setInitMethodName("serve");
        builder.setDestroyMethodName("stop");
    }/*  ww w . ja  va2 s  .  com*/
    String handler = element.getAttribute("event-handler");
    if (StringUtils.isNotBlank(handler)) {
        builder.addPropertyReference("serverEventHandler", handler);
    }
    Element argsElement = DomUtils.getChildElementByTagName(element, "args");
    parserContext.getDelegate().parseCustomElement(argsElement);
    String argsBeanName = argsElement.getAttribute("id");
    builder.addConstructorArgReference(argsBeanName);
}

From source file:org.opencredo.esper.config.xml.EsperStatementParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {

    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .genericBeanDefinition(EsperNamespaceUtils.BASE_PACKAGE + ".EsperStatement");

    Object query = element.getAttribute(EsperNamespaceUtils.STATEMENT_QUERY_ATTRIBUTE);

    builder.addConstructorArgValue(query);

    ManagedSet listeners = null;/*from   ww  w .j  a v  a  2 s.co m*/

    Element listenersElement = DomUtils.getChildElementByTagName(element, "listeners");
    if (listenersElement != null) {
        EsperListenerParser listenerParser = new EsperListenerParser();
        listeners = listenerParser.parseListeners(listenersElement, parserContext);
        if (listeners != null) {
            builder.addPropertyValue("listeners", listeners);
        } else {
            parserContext.getReaderContext().error("At least one 'listener' should be provided.",
                    listenersElement);
        }
    } else {

        Element subscriberElement = DomUtils.getChildElementByTagName(element, "subscriber");
        if (subscriberElement != null) {
            String subscriberRef = (String) subscriberElement.getAttribute("ref");
            if (StringUtils.hasText(subscriberRef)) {
                builder.addPropertyReference("subscriber", subscriberRef);
            }
        } else {
            parserContext.getReaderContext()
                    .error("At least one of 'listeners' or 'subscriber' should be provided.", element);
        }
    }

    return builder.getBeanDefinition();
}

From source file:org.synyx.hades.dao.config.TypeFilterParserUnitTest.java

@Test
public void parsesIncludesCorrectly() throws Exception {

    Element element = DomUtils.getChildElementByTagName(documentElement, "firstSample");

    parser.parseFilters(element, scanner);

    verify(scanner, atLeastOnce()).addIncludeFilter(isA(AssignableTypeFilter.class));
}

From source file:net.javacrumbs.springws.test.xml.MockWsMessageSenderBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder bean) {
    Map<?, ?> namespaces = parseNamespaces(element, parserContext, bean);
    Map<?, ?> discriminators = parseDiscriminators(element, parserContext, bean);
    Element resourceConfig = DomUtils.getChildElementByTagName(element, "resource-config");
    String pathPrefix = resourceConfig.getAttribute("pathPrefix");
    String prependUri = resourceConfig.getAttribute("prependUri");
    String ignoreWhitespace = resourceConfig.getAttribute("ignoreWhitespace");
    BeanDefinitionBuilder templateProcessor = getTemplateProcessor(resourceConfig);

    bean.addPropertyValue("autowireRequestProcessors", element.getAttribute("autowireRequestProcessors"));

    BeanDefinitionBuilder expressionResolver = BeanDefinitionBuilder
            .rootBeanDefinition(XPathExpressionResolver.class);
    expressionResolver.addPropertyValue("namespaceMap", namespaces);

    ManagedList requestProcessors = new ManagedList();

    BeanDefinitionBuilder controlResourceLookup = BeanDefinitionBuilder
            .rootBeanDefinition(PayloadRootBasedResourceLookup.class);
    controlResourceLookup.addPropertyValue("expressionResolver", expressionResolver.getBeanDefinition());
    controlResourceLookup.addPropertyValue("discriminators", discriminators);
    controlResourceLookup.addPropertyValue("pathPrefix", pathPrefix);
    controlResourceLookup.addPropertyValue("prependUri", prependUri);
    controlResourceLookup.addPropertyValue("pathSuffix", "request.xml");
    controlResourceLookup.addPropertyValue("templateProcessor", templateProcessor.getBeanDefinition());

    BeanDefinitionBuilder xmlCompareRequestValidator = BeanDefinitionBuilder
            .rootBeanDefinition(XmlCompareRequestValidator.class);
    xmlCompareRequestValidator.addPropertyValue("controlResourceLookup",
            controlResourceLookup.getBeanDefinition());
    xmlCompareRequestValidator.addPropertyValue("ignoreWhitespace", ignoreWhitespace);

    addRequestProcessor(requestProcessors, xmlCompareRequestValidator);

    String[] schemas = parseRequestValidationSchemas(element, bean);
    if (schemas != null) {
        BeanDefinitionBuilder schemaRequestValidator = BeanDefinitionBuilder
                .rootBeanDefinition(SchemaRequestValidator.class);
        schemaRequestValidator.addPropertyValue("schemas", schemas);
        addRequestProcessor(requestProcessors, schemaRequestValidator);
    }//from w w w  .  j  a  v  a2 s  .c  o m

    BeanDefinitionBuilder responseResourceLookup = BeanDefinitionBuilder
            .rootBeanDefinition(PayloadRootBasedResourceLookup.class);
    responseResourceLookup.addPropertyValue("expressionResolver", expressionResolver.getBeanDefinition());
    responseResourceLookup.addPropertyValue("discriminators", discriminators);
    responseResourceLookup.addPropertyValue("pathPrefix", pathPrefix);
    responseResourceLookup.addPropertyValue("prependUri", prependUri);
    responseResourceLookup.addPropertyValue("pathSuffix", "response.xml");
    responseResourceLookup.addPropertyValue("templateProcessor", templateProcessor.getBeanDefinition());

    BeanDefinitionBuilder defaultResponseGenerator = BeanDefinitionBuilder
            .rootBeanDefinition(DefaultResponseGenerator.class);
    defaultResponseGenerator.addPropertyValue("resourceLookup", responseResourceLookup.getBeanDefinition());
    addRequestProcessor(requestProcessors, defaultResponseGenerator);

    bean.addPropertyValue("requestProcessors", requestProcessors);

    if (TRUE.equals(element.getAttribute("autoinjectMock"))) {
        AbstractBeanDefinition injector = BeanDefinitionBuilder
                .rootBeanDefinition(MockMessageSenderInjector.class).getBeanDefinition();
        BeanDefinitionHolder holder = new BeanDefinitionHolder(injector,
                parserContext.getReaderContext().generateBeanName(injector));
        registerBeanDefinition(holder, parserContext.getRegistry());
    }

    bean.addPropertyValue("interceptors", parseInterceptors(element, parserContext, bean));
}

From source file:biz.c24.io.spring.batch.config.ItemWriterParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder bean) {

    // Optional//from   w w  w . j av  a  2s .  com
    String scope = element.getAttribute("scope");
    if (StringUtils.hasText(scope)) {
        bean.setScope(scope);
    } else {
        // Default to step scope
        bean.setScope("step");
    }

    // Mandatory
    String sinkRef = element.getAttribute("sink-ref");
    bean.addPropertyReference("sink", sinkRef);

    int numSourceDefns = 0;

    // Optional
    String writerSourceRef = element.getAttribute("writer-source-ref");
    if (StringUtils.hasText(writerSourceRef)) {
        bean.addPropertyReference("writerSource", writerSourceRef);
        numSourceDefns++;
    }

    Element fileSourceElement = DomUtils.getChildElementByTagName(element, "file-writer");
    if (fileSourceElement != null) {
        BeanDefinition beanDefinition = parserContext.getDelegate().parseCustomElement(fileSourceElement,
                bean.getBeanDefinition());
        beanDefinition.setBeanClassName(FileWriterSource.class.getName());
        bean.addPropertyValue("writerSource", beanDefinition);
        numSourceDefns++;
    }

    Element zipFileSourceElement = DomUtils.getChildElementByTagName(element, "zip-file-writer");
    if (zipFileSourceElement != null) {
        BeanDefinition beanDefinition = parserContext.getDelegate().parseCustomElement(zipFileSourceElement,
                bean.getBeanDefinition());
        beanDefinition.setBeanClassName(ZipFileWriterSource.class.getName());
        bean.addPropertyValue("writerSource", beanDefinition);
        numSourceDefns++;
    }

    if (numSourceDefns > 1) {
        parserContext.getReaderContext()
                .error("Only one of writer-source-ref, file-writer and zip-file-writer can be used", element);
    } else if (numSourceDefns == 0) {
        parserContext.getReaderContext()
                .error("One of writer-source-ref, file-writer and zip-file-writer must be specified", element);
    }
}

From source file:org.synyx.hades.dao.config.TypeFilterParserUnitTest.java

@Test
public void parsesExcludesCorrectly() throws Exception {

    Element element = DomUtils.getChildElementByTagName(documentElement, "secondSample");

    parser.parseFilters(element, scanner);

    verify(scanner, atLeastOnce()).addExcludeFilter(isA(AssignableTypeFilter.class));
}