Package com.alibaba.citrus.springext.util.DomUtil

Examples of com.alibaba.citrus.springext.util.DomUtil.ElementSelector


    @Override
    protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        Map<String, ParsingModuleInfo> scripts = parseSpecificBeans(element, parserContext,
                builder.getRawBeanDefinition(), ns(LANG_URI));

        ElementSelector searchFolders = and(sameNs(element), name("search-folders"));
        ElementSelector searchFiles = and(sameNs(element), name("search-files"));

        for (Element subElement : subElements(element)) {
            String prefix = null;
            String typeName = null;
            String moduleName = null;
            Pattern scriptNamePattern = null;
            String scriptResourceName = null;
            String language = null;

            if (searchFolders.accept(subElement)) {
                String folderName = assertNotNull(normalizePathName(subElement.getAttribute("folders")),
                        "no folder name provided for search-folders");

                // ȡprefix
                prefix = getPrefix(folderName);

                if (prefix != null) {
                    folderName = folderName.substring(prefix.length() + 1);
                }

                // folderName����/��ʼ
                if (folderName.startsWith("/")) {
                    folderName = folderName.substring(1);
                }

                scriptNamePattern = compilePathName(folderName);
                typeName = assertNotNull(trimToNull(subElement.getAttribute("type")), "no type name provided");
                language = trimToNull(subElement.getAttribute("language"));
                scriptResourceName = folderName + "/**/*.*";

                log.trace("Searching in folders: {}, moduleType={}, language={}", new Object[] { folderName, typeName,
                        language == null ? "auto" : language });
            } else if (searchFiles.accept(subElement)) {
                String fileName = assertNotNull(normalizePathName(subElement.getAttribute("files")),
                        "no script file name provided for search-files");

                // fileName����/��β
                assertTrue(!fileName.endsWith("/"), "invalid script file name: %s", fileName);
View Full Code Here


        if (defaultSettingsElement != null) {
            parseDefaultSettings(defaultSettingsElement, parserContext, builder);
        }

        // mails/stores/transports
        ElementSelector mailSelector = and(sameNs(element), name("mail"));
        ElementSelector storeSelector = and(sameNs(element), name("mail-store"));
        ElementSelector transportSelector = and(sameNs(element), name("mail-transport"));

        Map<Object, Object> mails = createManagedMap(element, parserContext);
        Map<Object, Object> mailStores = createManagedMap(element, parserContext);
        Map<Object, Object> mailTransports = createManagedMap(element, parserContext);

        for (Element subElement : subElements(element)) {
            Map<Object, Object> container;
            BeanDefinitionHolder holder;

            if (mailSelector.accept(subElement)) {
                holder = parseMail(subElement, parserContext, builder.getRawBeanDefinition());
                container = mails;
            } else if (storeSelector.accept(subElement)) {
                holder = parseMailStore(subElement, parserContext, builder.getRawBeanDefinition());
                container = mailStores;
            } else if (transportSelector.accept(subElement)) {
                holder = parseMailTransport(subElement, parserContext, builder.getRawBeanDefinition());
                container = mailTransports;
            } else {
                continue;
            }
View Full Code Here

        attributesToProperties(element, builder, "charset", "requestAware");
        builder.addPropertyValue("URIType", trimToNull(element.getAttribute("type")));
    }

    protected void doParseElement(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        ElementSelector simplePropertiesSelector = and(
                sameNs(element),
                or(name("serverURI"), name("serverScheme"), name("loginUser"), name("loginPassword"),
                        name("serverName"), name("serverPort"), name("reference"), getSimplePropertiesSelector()));

        ElementSelector querySelector = and(sameNs(element), name("query"));

        Map<Object, Object> queries = createManagedMap(element, parserContext);
        List<Object> interceptors = createManagedList(element, parserContext);

        for (Element subElement : subElements(element)) {
            // simple properties
            if (simplePropertiesSelector.accept(subElement)) {
                String name = subElement.getLocalName();
                String value = defaultIfNull(subElement.getTextContent(), EMPTY_STRING);

                builder.addPropertyValue(name, value);
            }

            // query
            else if (querySelector.accept(subElement)) {
                String id = subElement.getAttribute("key");
                String value = subElement.getTextContent();
                queries.put(id, value);
            }
View Full Code Here

        @Override
        protected final void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            List<Object> whenConditions = createManagedList(element, parserContext);
            List<Object> whenBlocks = createManagedList(element, parserContext);

            ElementSelector whenSelector = and(sameNs(element), name("when"));
            ElementSelector otherwiseSelector = and(sameNs(element), name("otherwise"));

            for (Element subElement : subElements(element)) {
                if (whenSelector.accept(subElement)) {
                    whenConditions.add(parseCondition(subElement, parserContext, builder));
                    whenBlocks.add(parsePipeline(subElement, element, parserContext));
                } else if (otherwiseSelector.accept(subElement)) {
                    builder.addPropertyValue("otherwiseBlock", parsePipeline(subElement, element, parserContext));
                }
            }

            builder.addPropertyValue("whenConditions", whenConditions);
View Full Code Here

    }

    public static class DefinitionParser extends AbstractValveDefinitionParser<TryCatchFinallyValve> {
        @Override
        protected final void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            ElementSelector trySelector = and(sameNs(element), name("try"));
            ElementSelector catchSelector = and(sameNs(element), name("catch"));
            ElementSelector finallySelector = and(sameNs(element), name("finally"));

            for (Element subElement : subElements(element)) {
                if (trySelector.accept(subElement)) {
                    builder.addPropertyValue("try", parsePipeline(subElement, element, parserContext));
                } else if (catchSelector.accept(subElement)) {
                    builder.addPropertyValue("catch", parsePipeline(subElement, element, parserContext));
                    attributesToProperties(subElement, builder, "exceptionName");
                } else if (finallySelector.accept(subElement)) {
                    builder.addPropertyValue("finally", parsePipeline(subElement, element, parserContext));
                }
            }
        }
View Full Code Here

public class GenericURIBrokerDefinitionParser extends AbstractURIBrokerDefinitionParser<GenericURIBroker> {
    @Override
    protected void doParseElement(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        super.doParseElement(element, parserContext, builder);

        ElementSelector pathSelector = and(sameNs(element), name("path"));
        List<Object> paths = createManagedList(element, parserContext);

        for (Element subElement : subElements(element, pathSelector)) {
            paths.add(subElement.getTextContent());
        }
View Full Code Here

    @Override
    protected void doParseElement(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        super.doParseElement(element, parserContext, builder);

        ElementSelector pathInfoSelector = and(sameNs(element), name("pathInfo"));
        List<Object> pathInfos = createManagedList(element, parserContext);

        for (Element subElement : subElements(element, pathInfoSelector)) {
            pathInfos.add(subElement.getTextContent());
        }
View Full Code Here

    @Override
    protected void doParseElement(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        super.doParseElement(element, parserContext, builder);

        ElementSelector pathInfoSelector = and(sameNs(element), name("pathInfo"));
        Map<Object, Object> pathInfos = createManagedMap(element, parserContext);

        for (Element subElement : subElements(element, pathInfoSelector)) {
            String id = subElement.getAttribute("key");
            String value = subElement.getTextContent();
View Full Code Here

public class HTMLTemplateContentDefinitionParser extends AbstractSingleBeanDefinitionParser<HTMLTemplateContent> {
    @Override
    protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        attributesToProperties(element, builder, "template", "contentType");

        ElementSelector inlineResourceSelector = and(sameNs(element), name("inline-resource"));
        Map<Object, Object> inlineResources = createManagedMap(element, parserContext);

        for (Element subElement : subElements(element, inlineResourceSelector)) {
            String id = subElement.getAttribute("id");
            String prefix = subElement.getAttribute("prefix");
View Full Code Here

        if (configFileURL != null) {
            builder.addPropertyValue("configLocation", configFileURL);
        }

        ElementSelector resourceSelector = and(sameNs(element), name("resource")); // services:resource
        ElementSelector resourceAliasSelector = and(sameNs(element), name("resource-alias")); // services:resource-alias
        ElementSelector resourceFiltersSelector = and(sameNs(element), name("resource-filters")); // services:resource-filters

        List<Object> resourceMappings = createManagedList(element, parserContext);
        List<Object> filterMappings = createManagedList(element, parserContext);

        for (Element subElement : subElements(element)) {
            // <resource>
            if (resourceSelector.accept(subElement)) {
                resourceMappings.add(parseResource(subElement, parserContext));
            }

            // <resource-alias>
            else if (resourceAliasSelector.accept(subElement)) {
                resourceMappings.add(parseAlias(subElement, parserContext));
            }

            // <resource-filters>
            else if (resourceFiltersSelector.accept(subElement)) {
                filterMappings.add(parseFilters(subElement, parserContext));
            }
        }

        builder.addPropertyValue("resourceMappings", resourceMappings);
View Full Code Here

TOP

Related Classes of com.alibaba.citrus.springext.util.DomUtil.ElementSelector

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.