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

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


        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


    }

    @Override
    protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        List<Object> rules = createManagedList(element, parserContext);
        ElementSelector ruleSelector = and(sameNs(element), name("rule")); // request-contexts:rule

        for (Element subElement : subElements(element, ruleSelector)) {
            rules.add(parseRule(subElement, parserContext));
        }
View Full Code Here

    private BeanDefinition parseRule(Element ruleElement, ParserContext parserContext) {
        BeanDefinitionBuilder ruleBuilder = BeanDefinitionBuilder.genericBeanDefinition(RewriteRule.class);

        attributesToProperties(ruleElement, ruleBuilder, "pattern");

        ElementSelector conditionSelector = and(sameNs(ruleElement), name("condition")); // request-contexts:condition
        ElementSelector substitutionSelector = and(sameNs(ruleElement), name("substitution")); // request-contexts:substitution
        ElementSelector handlersSelector = and(sameNs(ruleElement), name("handlers")); // request-contexts:handlers

        List<Object> conditions = createManagedList(ruleElement, parserContext);

        BeanDefinition substitution = null;
        List<Object> handlers = null;

        for (Element subElement : subElements(ruleElement)) {
            if (conditionSelector.accept(subElement)) {
                conditions.add(parseCondition(subElement, parserContext));
            } else if (substitutionSelector.accept(subElement)) {
                substitution = parseSubstitution(subElement, parserContext);
            } else if (handlersSelector.accept(subElement)) {
                handlers = parseHandlers(subElement, parserContext, ruleBuilder);
            }
        }

        ruleBuilder.addPropertyValue("conditions", conditions);
View Full Code Here

    @Override
    protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        attributesToProperties(element, "config.", builder);

        ElementSelector idSelector = and(sameNs(element), name("id")); // request-contexts:id
        ElementSelector storesSelector = and(sameNs(element), name("stores")); // request-contexts:stores
        ElementSelector storeMappingsSelector = and(sameNs(element), name("store-mappings")); // request-contexts:store-mappings
        ElementSelector sessionModelEncodersSelector = and(sameNs(element), name("session-model-encoders")); // request-contexts:session-model-encoders
        ElementSelector sessionInterceptorsSelector = and(sameNs(element), name("interceptors")); // request-contexts:interceptors

        for (Element subElement : subElements(element)) {
            if (idSelector.accept(subElement)) {
                parseId(subElement, parserContext, builder);
            } else if (storesSelector.accept(subElement)) {
                parseStores(subElement, parserContext, builder);
            } else if (storeMappingsSelector.accept(subElement)) {
                parseStoreMappings(subElement, parserContext, builder);
            } else if (sessionModelEncodersSelector.accept(subElement)) {
                parseSessionModelEncoders(subElement, parserContext, builder);
            } else if (sessionInterceptorsSelector.accept(subElement)) {
                parseSessionInterceptors(subElement, parserContext, builder);
            }
        }
    }
View Full Code Here

    }

    private void parseId(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        attributesToProperties(element, "config.id.", builder, "cookieEnabled", "urlEncodeEnabled");

        ElementSelector cookieSelector = and(sameNs(element), name("cookie")); // request-contexts:cookie
        ElementSelector urlEncodeSelector = and(sameNs(element), name("url-encode")); // request-contexts:url-encode
        boolean hasGenerator = false;

        for (Element subElement : subElements(element)) {
            if (cookieSelector.accept(subElement)) {
                attributesToProperties(subElement, "config.id.cookie.", builder);
            } else if (urlEncodeSelector.accept(subElement)) {
                attributesToProperties(subElement, "config.id.urlEncode.", builder);
            } else if (!hasGenerator) {
                Object generator = parseConfigurationPointBean(subElement, generatorsConfigurationPoint, parserContext,
                        builder);
View Full Code Here

        builder.addPropertyValue("config.stores.stores", storeMap);
    }

    private void parseStoreMappings(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        ElementSelector matchSelector = and(sameNs(element), name("match")); // request-contexts:match
        ElementSelector matchRegexSelector = and(sameNs(element), name("matchRegex")); // request-contexts:matchRegex
        List<Object> patterns = createManagedList(element, parserContext);

        for (Element subElement : subElements(element)) {
            if (matchSelector.accept(subElement)) {
                patterns.add(parseMatch(subElement, parserContext, false));
            } else if (matchRegexSelector.accept(subElement)) {
                patterns.add(parseMatch(subElement, parserContext, true));
            }
        }

        builder.addPropertyValue("config.storeMappings.patterns", patterns);
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

                "services/request-contexts/session/value-encoders", contrib);
    }

    @Override
    protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        ElementSelector cookieSelector = and(sameNs(element), name("cookie")); // request-contexts:cookie
        ElementSelector encodersSelector = and(sameNs(element), name("encoders")); // request-contexts:encoders

        for (Element subElement : subElements(element)) {
            if (cookieSelector.accept(subElement)) {
                attributesToProperties(subElement, builder);
            } else if (encodersSelector.accept(subElement)) {
                parseEncoders(subElement, parserContext, builder);
            }
        }
    }
View Full Code Here

    @Override
    protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
        attributesToProperties(element, builder, "maxLength", "maxCount", "checksum");

        ElementSelector cookieSelector = and(sameNs(element), name("cookie")); // request-contexts:cookie
        ElementSelector encodersSelector = and(sameNs(element), name("encoders")); // request-contexts:encoders

        for (Element subElement : subElements(element)) {
            if (cookieSelector.accept(subElement)) {
                attributesToProperties(subElement, builder);
            } else if (encodersSelector.accept(subElement)) {
                parseEncoders(subElement, parserContext, builder);
            }
        }
    }
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

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.