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

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

Introduction

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

Prototype

public static List<Element> getChildElementsByTagName(Element ele, String childEleName) 

Source Link

Document

Retrieves all child elements of the given DOM element that match the given element name.

Usage

From source file:nats.client.spring.config.NatsBeanDefinitionParser.java

@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    final BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(NatsFactoryBean.class);

    // Parse list of hosts
    final List<String> uris = new ManagedList<>();
    final List<Element> hosts = DomUtils.getChildElementsByTagName(element, ELEMENT_URL);
    for (Element host : hosts) {
        uris.add(host.getTextContent());
    }//from www  .j a va2s  .  co  m
    builder.addPropertyValue("hostUris", uris);

    // Parse list of subscriptions
    final List<BeanDefinition> subscriptions = new ManagedList<>();
    final List<Element> subscriptionElements = DomUtils.getChildElementsByTagName(element,
            ELEMENT_SUBSCRIPTION);
    for (Element subscriptionElement : subscriptionElements) {
        final BeanDefinitionBuilder subscriptionBuilder = BeanDefinitionBuilder
                .genericBeanDefinition(SubscriptionConfig.class);
        subscriptionBuilder.addConstructorArgValue(subscriptionElement.getAttribute(ATTRIBUTE_SUBJECT));
        subscriptionBuilder.addConstructorArgReference(subscriptionElement.getAttribute(ATTRIBUTE_REF));
        subscriptionBuilder.addConstructorArgValue(subscriptionElement.getAttribute(ATTRIBUTE_METHOD));
        subscriptionBuilder.addConstructorArgValue(subscriptionElement.getAttribute(ATTRIBUTE_QUEUE_GROUP));
        subscriptions.add(subscriptionBuilder.getBeanDefinition());
    }
    builder.addPropertyValue("subscriptions", subscriptions);

    // Parse attributes
    builder.addPropertyValue("autoReconnect", element.getAttribute(ATTRIBUTE_AUTO_RECONNECT));
    builder.addPropertyValue("reconnectWaitTime", element.getAttribute(ATTRIBUTE_RECONNECT_WAIT_TIME));
    final String eventLoopGroupRef = element.getAttribute(ATTRIBUTE_EVENT_LOOP_GROUP_REF);
    if (StringUtils.hasText(eventLoopGroupRef)) {
        builder.addPropertyReference("eventLoopGroup", eventLoopGroupRef);
    }
    final String callbackExecutorRef = element.getAttribute(ATTRIBUTE_CALLBACK_EXECUTOR_REF);
    if (StringUtils.hasText(callbackExecutorRef)) {
        builder.addPropertyReference("callbackExecutor", callbackExecutorRef);
    }
    final String connectionStateListenerRef = element.getAttribute(ATTRIBUTE_CONNECTION_STATE_LISTENER_REF);
    if (StringUtils.hasText(connectionStateListenerRef)) {
        builder.addPropertyReference("connectionStateListener", connectionStateListenerRef);
    }

    // Register bean
    final String id = element.getAttribute(ATTRIBUTE_ID);

    final AbstractBeanDefinition beanDefinition = builder.getBeanDefinition();
    parserContext.getRegistry().registerBeanDefinition(id, beanDefinition);

    return beanDefinition;
}

From source file:de.itsvs.cwtrpc.controller.config.CacheControlConfigBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    final ManagedList<AbstractBeanDefinition> uriConfigs;

    update(element, builder, XmlNames.LOWER_CASE_MATCH_ATTR, "lowerCaseMatch");
    update(element, builder, XmlNames.DEFAULTS_ENABLED_ATTR, "defaultsEnabled");
    update(element, builder, XmlNames.CACHE_MAX_AGE_ATTR, "cacheMaxAge");

    uriConfigs = new ManagedList<AbstractBeanDefinition>();
    for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.URI_ELEMENT)) {
        uriConfigs.add(createUriConfigBeanDefinition(child, parserContext));
    }// w  w w . j ava 2 s.  co m
    if (!uriConfigs.isEmpty()) {
        builder.addPropertyValue("uriConfigs", uriConfigs);
    }
}

From source file:fr.acxio.tools.agia.alfresco.configuration.NodeDefinitionParser.java

protected List<AspectDefinition> parseAspects(Element sElement) {
    List<Element> childElements = DomUtils.getChildElementsByTagName(sElement, NODEDEF_ASPECT);

    ManagedList<AspectDefinition> children = new ManagedList<AspectDefinition>(childElements.size());

    for (Element element : childElements) {
        children.add(new SimpleAspectDefinition(element.getAttribute(NAME_ATTRIBUTE)));
    }/*from   www  .  j  a  v  a2s  .c om*/

    return children;
}

From source file:org.urbantower.j4s.spring.ServletContextHandlerParser.java

/**
 * creates servlet handler/*from ww w.  j  a  v  a 2  s .  co  m*/
 */
private ServletHandler createServletHandler(Element element) {
    ServletHandler servletHandler = new ServletHandler();

    //processing 'servlet' nodes
    List<Element> servletElms = DomUtils.getChildElementsByTagName(element, "servlet");
    for (Element servletElm : servletElms) {
        registerServlet(servletElm, servletHandler);
    }

    //processing 'dispatcher-servlet' nodes
    List<Element> dispatcherElms = DomUtils.getChildElementsByTagName(element, "servlet-dispatcher");
    for (Element dispatcherElm : dispatcherElms) {
        registerDispatcherServlet(dispatcherElm, servletHandler);
    }

    return servletHandler;
}

From source file:org.bigtester.ate.xmlschema.XmlTestCaseBeanDefinitionParser.java

/**
 * {@inheritDoc}/*from   w  w  w .  ja  v a 2  s.  c  o  m*/
 */
@Override
protected @Nullable AbstractBeanDefinition parseInternal(@Nullable Element element,
        @Nullable ParserContext parserContext) {
    // this will never be null since the schema explicitly requires that a value be supplied
    if (parserContext == null || element == null)
        throw GlobalUtils.createNotInitializedException("element and parserContext");
    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(XmlTestCase.class);
    String testCaseName = element.getAttribute(XsdElementConstants.ATTR_XMLTESTCASE_TESTCASEFILEPATHNAME);
    if (StringUtils.hasText(testCaseName)) {
        factory.addConstructorArgValue(testCaseName);
    }
    List<Element> dependencies = (List<Element>) DomUtils.getChildElementsByTagName(element,
            XsdElementConstants.ELEMENT_CASEDEPENDENCIES);
    if (null != dependencies && dependencies.size() == 1) {
        List<Element> allDependencies = (List<Element>) DomUtils.getChildElementsByTagName(dependencies.get(0),
                XsdElementConstants.ELEMENT_CASEDEPENDENCY);

        if (allDependencies != null && !allDependencies.isEmpty()) {
            if (null == factory)
                throw GlobalUtils.createNotInitializedException("factory");
            parseCaseDependenciesInnerComponents(allDependencies, factory, parserContext);
        }
    }
    return factory.getBeanDefinition();
}

From source file:org.bigtester.ate.xmlschema.TestSuiteBeanDefinitionParser.java

/**
 * {@inheritDoc}//  w  ww  .j av  a 2 s  . c  o m
 */
@Override
protected @Nullable AbstractBeanDefinition parseInternal(@Nullable Element element,
        @Nullable ParserContext parserContext) {
    // Here we parse the Spring elements such as < property>
    if (parserContext == null || element == null)
        throw GlobalUtils.createNotInitializedException("element and parserContext");
    // this will never be null since the schema explicitly requires that a value be supplied
    String testSuiteName = element.getAttribute(XsdElementConstants.ATTR_TESTSUITE_SUITENAME);
    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(TestSuite.class);
    if (StringUtils.hasText(testSuiteName))
        factory.addConstructorArgValue(testSuiteName);

    List<Element> suiteListElements = (List<Element>) DomUtils.getChildElementsByTagName(element,
            XsdElementConstants.ELEMENT_XMLTESTCASE);

    if (suiteListElements != null && !suiteListElements.isEmpty()) {
        if (null == factory)
            throw GlobalUtils.createNotInitializedException("factory");
        parseXmlTestCaseComponents(suiteListElements, factory, parserContext);
    }

    return factory.getBeanDefinition();
}

From source file:org.bigtester.ate.xmlschema.TestProjectBeanDefinitionParser.java

/**
 * {@inheritDoc}//from  w  ww. j a  v  a2s. c o  m
 */
@Override
protected @Nullable AbstractBeanDefinition parseInternal(@Nullable Element element,
        @Nullable ParserContext parserContext) {
    // Here we parse the Spring elements such as < property>
    if (parserContext == null || element == null)
        throw GlobalUtils.createNotInitializedException("element and parserContext");
    // this will never be null since the schema explicitly requires that a
    // value be supplied

    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(TestProject.class);

    int stepThinkTime = Integer
            .parseInt(element.getAttribute(XsdElementConstants.ATTR_TESTPROJECT_STEPTHINKTIME));
    factory.addPropertyValue(XsdElementConstants.ATTR_TESTPROJECT_STEPTHINKTIME, stepThinkTime);

    String globalInitXml = element.getAttribute(XsdElementConstants.ATTR_TESTPROJECT_GLOBALINITXMLFILE);

    factory.addConstructorArgValue(globalInitXml);

    List<Element> suiteListElements = (List<Element>) DomUtils.getChildElementsByTagName(element,
            XsdElementConstants.ELEMENT_TESTSUITE);

    if (suiteListElements != null && !suiteListElements.isEmpty()) {
        parseSuiteComponents(suiteListElements, factory, parserContext);
    }

    return factory.getBeanDefinition();
}

From source file:org.focusns.common.web.page.config.xml.XmlPageFactory.java

@Override
protected List<PageConfig> loadPages() throws Exception {
    ///*www.  j  a  v a 2 s. c  o  m*/
    Map<String, PageConfig> abstractPageConfigMap = new HashMap<String, PageConfig>();
    List<PageConfig> pageConfigList = new ArrayList<PageConfig>();
    //
    ResourcePatternResolver rpr = ResourcePatternUtils.getResourcePatternResolver(resourceLoader);
    Resource[] resources = rpr.getResources(prefix + "/**/*" + suffix);
    // parse abstract pages
    for (Resource resource : resources) {
        Document xmlDoc = xmlParser.parseAndValidate(resource);
        Element pagesEle = xmlDoc.getDocumentElement();
        List<Element> pageEles = DomUtils.getChildElementsByTagName(pagesEle, "page");
        for (Element pageEle : pageEles) {
            String abstractAttr = pageEle.getAttribute("abstract");
            if (StringUtils.hasText(abstractAttr)) {
                PageConfig pageConfig = parsePageConfigFile(pageEle);
                abstractPageConfigMap.put(abstractAttr, pageConfig);
            }
        }
    }
    // parse pages
    for (Resource resource : resources) {
        Document xmlDoc = xmlParser.parseAndValidate(resource);
        Element pagesEle = xmlDoc.getDocumentElement();
        List<Element> pageEles = DomUtils.getChildElementsByTagName(pagesEle, "page");
        for (Element pageEle : pageEles) {
            String abstractAttr = pageEle.getAttribute("abstract");
            if (!StringUtils.hasText(abstractAttr)) {
                PageConfig pageConfig = parsePageConfigFile(pageEle);
                pageConfigList.add(pageConfig);
            }
        }
    }
    // merges pages
    List<PageConfig> mergedPageConfigList = new ArrayList<PageConfig>();
    for (PageConfig pageConfig : pageConfigList) {
        String extendsTarget = pageConfig.getParameters().get("extends");
        if (StringUtils.hasText(extendsTarget)) {
            PageConfig abstractPageConfig = abstractPageConfigMap.get(extendsTarget);
            //
            PageConfig newPageConfig = new PageConfig(pageConfig.getPath(), pageConfig.getLayout());
            newPageConfig.setAuthority(pageConfig.getAuthority());
            newPageConfig.setParameters(pageConfig.getParameters());
            // add widget from abstract page
            for (String position : abstractPageConfig.getPositionConfigMap().keySet()) {
                PositionConfig abstractPositionConfig = abstractPageConfig.getPositionConfigMap().get(position);
                newPageConfig.addPositionConfig(abstractPositionConfig);
            }
            // add widget from extends page
            for (String position : pageConfig.getPositionConfigMap().keySet()) {
                PositionConfig positionConfig = pageConfig.getPositionConfigMap().get(position);
                newPageConfig.addPositionConfig(positionConfig);
            }
            //
            mergedPageConfigList.add(newPageConfig);
        } else {
            mergedPageConfigList.add(pageConfig);
        }
    }
    //
    return mergedPageConfigList;
}

From source file:de.itsvs.cwtrpc.controller.config.AutowiredRemoteServiceGroupConfigBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    final String[] basePackages;
    ManagedList<BeanDefinition> filters;

    getBaseServiceConfigParser().update(element, parserContext, builder);

    if (element.hasAttribute(XmlNames.BASE_PACKAGES_ATTR)) {
        basePackages = StringUtils.tokenizeToStringArray(element.getAttribute(XmlNames.BASE_PACKAGES_ATTR),
                ConfigurableApplicationContext.CONFIG_LOCATION_DELIMITERS);
        builder.addPropertyValue("basePackages", basePackages);
    }//from  w w w  . j av a  2s  . c  om

    filters = new ManagedList<BeanDefinition>();
    for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.INCLUDE_FILTER_ELEMENT)) {
        filters.add(parseFilter(child, parserContext));
    }
    if (!filters.isEmpty()) {
        builder.addPropertyValue("includeFilters", filters);
    }

    filters = new ManagedList<BeanDefinition>();
    for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.EXCLUDE_FILTER_ELEMENT)) {
        filters.add(parseFilter(child, parserContext));
    }
    if (!filters.isEmpty()) {
        builder.addPropertyValue("excludeFilters", filters);
    }
}

From source file:de.itsvs.cwtrpc.controller.config.RemoteServiceGroupConfigBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    final ManagedList<BeanMetadataElement> serviceConfigs;
    final ManagedList<BeanMetadataElement> childGroupConfigs;

    getBaseServiceConfigParser().update(element, parserContext, builder);

    serviceConfigs = new ManagedList<BeanMetadataElement>();
    for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.SERVICE_ELEMENT)) {
        serviceConfigs.add(createServiceConfigBeanDefinition(child, parserContext));
    }/*w w w  .j  ava 2 s . c o  m*/
    childGroupConfigs = new ManagedList<BeanMetadataElement>();
    for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.SERVICE_GROUP_ELEMENT)) {
        childGroupConfigs.add(parseNested(child, parserContext));
    }
    for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.SERVICE_GROUP_REF_ELEMENT)) {
        final String name;
        final RuntimeBeanReference beanReference;

        name = child.getAttribute(XmlNames.BEAN_REFERENCE_NAME_ATTR);
        if (!StringUtils.hasText(name)) {
            parserContext.getReaderContext().error("Module reference must not be empty",
                    parserContext.extractSource(element));
        }
        beanReference = new RuntimeBeanReference(name);
        beanReference.setSource(parserContext.extractSource(element));
        childGroupConfigs.add(beanReference);
    }
    for (Element child : DomUtils.getChildElementsByTagName(element,
            XmlNames.AUTOWIRED_SERVICE_GROUP_ELEMENT)) {
        childGroupConfigs
                .add(getAutowiredServiceGroupConfigBeanDefinitionParser().parseNested(child, parserContext));
    }

    builder.addConstructorArgValue(serviceConfigs);
    builder.addConstructorArgValue(childGroupConfigs);
}