Package com.btaz.util.reader.xml.model

Examples of com.btaz.util.reader.xml.model.XmlModelException


            return new ArrayList<Node>();
        }
        pathQuery = pathQuery.trim();

        if(! reQueryFormat.matcher(pathQuery).matches()) {
            throw new XmlModelException("Invalid pathQuery path: " + pathQuery);
        }

        //
        // build parser
        //
        List<PathQueryMatcher> queryMatchers = new ArrayList<PathQueryMatcher>();

        // extract path query components
        Matcher parts = reQueryParts.matcher(pathQuery);
        int level = 0;
        while(parts.find()) {
            Matcher m;
            String part = parts.group(1);

            if(part.matches(reQueryNodename.pattern())) {
                // nodename match
                queryMatchers.add(new NodenameMatcher(level, part));
            } else if(part.matches(reQueryAttrNameValue.pattern())) {
                // attribute name value match
                m = reQueryAttrNameValue.matcher(part);
                if(!m.find()) {
                    throw new XmlModelException("Internal parser error for: " + pathQuery);
                }
                queryMatchers.add(new AttributeNameValueMatcher(level, m.group(1), m.group(2)));
            } else if(part.matches(reQueryAttrName.pattern())) {
                // attribute name match
                m = reQueryAttrName.matcher(part);
                if(!m.find()) {
                    throw new XmlModelException("Internal parser error for: " + pathQuery);
                }
                queryMatchers.add(new AttributeNameMatcher(level, m.group(1)));
            } else if(part.matches(reQueryNodenameAttrNameValue.pattern())) {
                // nodename, attribute name and value match
                m = reQueryNodenameAttrNameValue.matcher(part);
                if(!m.find()) {
                    throw new XmlModelException("Internal parser error for: " + pathQuery);
                }
                queryMatchers.add(new ElementAttributeValueMatcher(level, m.group(1),  m.group(2),  m.group(3)));
            } else if(part.matches(reQueryNodenameAttrName.pattern())) {
                // nodename and attribute name match
                m = reQueryNodenameAttrName.matcher(part);
                if(!m.find()) {
                    throw new XmlModelException("Internal parser error for: " + pathQuery);
                }
                queryMatchers.add(new ElementAttributeMatcher(level, m.group(1), m.group(2)));
            } else {
                // no match
                throw new XmlModelException("Invalid pathQuery: " + pathQuery);
            }
            level += 1;
        }

        //
View Full Code Here


            return new ArrayList<Node>();
        }
        pathQuery = pathQuery.trim();

        if(! reQueryFormat.matcher(pathQuery).matches()) {
            throw new XmlModelException("Invalid pathQuery path: " + pathQuery);
        }

        //
        // build parser
        //
        List<PathQueryMatcher> queryMatchers = new ArrayList<PathQueryMatcher>();

        // extract path query components
        Matcher parts = reQueryParts.matcher(pathQuery);
        int level = 0;
        while(parts.find()) {
            Matcher m;
            String part = parts.group(1);

            if(part.matches(reQueryAnyNode.pattern())) {
                // nodename and attribute name match
                queryMatchers.add(new AnyNodeMatcher());
            } else if(part.matches(reQueryNodename.pattern())) {
                // nodename match
                queryMatchers.add(new NodenameMatcher(level, part));
            } else if(part.matches(reQueryAttrNameValue.pattern())) {
                // attribute name value match
                m = reQueryAttrNameValue.matcher(part);
                if(!m.find()) {
                    throw new XmlModelException("Internal parser error for: " + pathQuery);
                }
                queryMatchers.add(new AttributeNameValueMatcher(level, m.group(1), m.group(2)));
            } else if(part.matches(reQueryAttrName.pattern())) {
                // attribute name match
                m = reQueryAttrName.matcher(part);
                if(!m.find()) {
                    throw new XmlModelException("Internal parser error for: " + pathQuery);
                }
                queryMatchers.add(new AttributeNameMatcher(level, m.group(1)));
            } else if(part.matches(reQueryNodenameAttrNameValue.pattern())) {
                // nodename, attribute name and value match
                m = reQueryNodenameAttrNameValue.matcher(part);
                if(!m.find()) {
                    throw new XmlModelException("Internal parser error for: " + pathQuery);
                }
                queryMatchers.add(new ElementAttributeValueMatcher(level, m.group(1),  m.group(2),  m.group(3)));
            } else if(part.matches(reQueryNodenameAttrName.pattern())) {
                // nodename and attribute name match
                m = reQueryNodenameAttrName.matcher(part);
                if(!m.find()) {
                    throw new XmlModelException("Internal parser error for: " + pathQuery);
                }
                queryMatchers.add(new ElementAttributeMatcher(level, m.group(1), m.group(2)));
            } else {
                // no match
                throw new XmlModelException("Invalid pathQuery: " + pathQuery);
            }
            level += 1;
        }

        //
View Full Code Here

            return new ArrayList<Node>();
        }
        pathQuery = pathQuery.trim();

        if(! reQueryFormat.matcher(pathQuery).matches()) {
            throw new XmlModelException("Invalid pathQuery path: " + pathQuery);
        }

        //
        // build parser
        //
        List<PathQueryMatcher> queryMatchers = new ArrayList<PathQueryMatcher>();

        // extract path query components
        Matcher parts = reQueryParts.matcher(pathQuery);
        int level = 0;
        while(parts.find()) {
            String part = parts.group(1);

            Matcher nodenameMatcher = reQueryNodename.matcher(part);
            if(nodenameMatcher.matches()) {
                queryMatchers.add(new NodenameMatcher(level, part));
            } else {
                throw new XmlModelException("Invalid pathQuery path: \"" + part + "\" in: " + pathQuery);
            }
            level += 1;
        }

        //
View Full Code Here

TOP

Related Classes of com.btaz.util.reader.xml.model.XmlModelException

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.