Example usage for org.apache.commons.jxpath.ri Compiler NODE_TYPE_NODE

List of usage examples for org.apache.commons.jxpath.ri Compiler NODE_TYPE_NODE

Introduction

In this page you can find the example usage for org.apache.commons.jxpath.ri Compiler NODE_TYPE_NODE.

Prototype

int NODE_TYPE_NODE

To view the source code for org.apache.commons.jxpath.ri Compiler NODE_TYPE_NODE.

Click Source Link

Usage

From source file:org.apache.maven.project.harness.Xpp3DomNodeIterator.java

private boolean testNode(Xpp3Dom node) {
    if (test == null) {
        return true;
    }//from w  ww  . ja va  2 s .  c om
    if (test instanceof NodeNameTest) {
        String nodeName = node.getName();
        if (StringUtils.isEmpty(nodeName)) {
            return false;
        }

        NodeNameTest nodeNameTest = (NodeNameTest) test;
        String namespaceURI = nodeNameTest.getNamespaceURI();
        boolean wildcard = nodeNameTest.isWildcard();
        String testName = nodeNameTest.getNodeName().getName();
        String testPrefix = nodeNameTest.getNodeName().getPrefix();
        if (wildcard && testPrefix == null) {
            return true;
        }
        if (wildcard || testName.equals(nodeName)) {
            return StringUtils.isEmpty(namespaceURI) || StringUtils.isEmpty(testPrefix);
        }
        return false;
    }
    if (test instanceof NodeTypeTest) {
        switch (((NodeTypeTest) test).getNodeType()) {
        case Compiler.NODE_TYPE_NODE:
            return true;
        case Compiler.NODE_TYPE_TEXT:
            return node.getValue() != null;
        default:
            return false;
        }
    }
    return false;
}

From source file:org.eclipse.e4.emf.internal.xpath.CollectionPointer.java

@Override
public boolean testNode(NodeTest test) {
    if (index == WHOLE_COLLECTION) {
        if (test == null) {
            return true;
        }/*from   ww w.ja v a  2  s . c  om*/
        if (test instanceof NodeNameTest) {
            return false;
        }
        return test instanceof NodeTypeTest && ((NodeTypeTest) test).getNodeType() == Compiler.NODE_TYPE_NODE;
    }
    return getValuePointer().testNode(test);
}

From source file:org.eclipse.e4.emf.internal.xpath.EStructuralFeatureOwnerPointer.java

@Override
public NodeIterator childIterator(NodeTest test, boolean reverse, NodePointer startWith) {
    if (test == null) {
        return createNodeIterator(null, reverse, startWith);
    }//from   w  w w  . j  av  a  2 s . com
    if (test instanceof NodeNameTest) {
        NodeNameTest nodeNameTest = (NodeNameTest) test;
        QName testName = nodeNameTest.getNodeName();
        if (isValidProperty(testName)) {
            return createNodeIterator(nodeNameTest.isWildcard() ? null : testName.toString(), reverse,
                    startWith);
        }
        return null;
    }
    return test instanceof NodeTypeTest && ((NodeTypeTest) test).getNodeType() == Compiler.NODE_TYPE_NODE
            ? createNodeIterator(null, reverse, startWith)
            : null;
}

From source file:org.firesoa.common.jxpath.model.dom4j.Dom4JNodePointer.java

/**
 * Execute test against node on behalf of pointer.
 * @param pointer Pointer/* w w w . j  av a 2  s . c  o m*/
 * @param node to test
 * @param test to execute
 * @return true if node passes test
 */
public static boolean testNode(NodePointer pointer, Object node, NodeTest test) {
    if (test == null) {
        return true;
    }
    if (test instanceof NodeNameTest) {
        if (!(node instanceof Element)) {
            return false;
        }

        NodeNameTest nodeNameTest = (NodeNameTest) test;
        QName testName = nodeNameTest.getNodeName();
        String namespaceURI = nodeNameTest.getNamespaceURI();
        boolean wildcard = nodeNameTest.isWildcard();
        String testPrefix = testName.getPrefix();

        //testPrefixnull??
        if (testPrefix == null && namespaceURI == null) {
            namespaceURI = pointer.getNamespaceURI(Constants.DEFAULT_NS_PREFIX);
        }

        if (wildcard && testPrefix == null) {
            return true;
        }
        if (wildcard || testName.getName().equals(Dom4JNodePointer.getLocalName(node))) {
            String nodeNS = Dom4JNodePointer.getNamespaceURI((Node) node);
            return equalStrings(namespaceURI, nodeNS)
                    || nodeNS == null && equalStrings(testPrefix, Dom4JNodePointer.getPrefix((Node) node));
        }
        return false;
    }
    if (test instanceof NodeTypeTest) {
        switch (((NodeTypeTest) test).getNodeType()) {
        case Compiler.NODE_TYPE_NODE:
            return true;
        case Compiler.NODE_TYPE_TEXT:
            return (node instanceof Text) || (node instanceof CDATA);
        case Compiler.NODE_TYPE_COMMENT:
            return node instanceof Comment;
        case Compiler.NODE_TYPE_PI:
            return node instanceof ProcessingInstruction;
        default:
            return false;
        }
    }
    if (test instanceof ProcessingInstructionTest && node instanceof ProcessingInstruction) {
        String testPI = ((ProcessingInstructionTest) test).getTarget();
        String nodePI = ((ProcessingInstruction) node).getTarget();
        return testPI.equals(nodePI);
    }
    return false;
}

From source file:org.geotools.feature.xpath.AttributeNodePointer.java

public NodeIterator childIterator(NodeTest test, boolean reverse, NodePointer startWith) {
    if (test instanceof NodeNameTest) {
        NodeNameTest nodeNameTest = (NodeNameTest) test;

        if (!nodeNameTest.isWildcard()) {
            String localName = nodeNameTest.getNodeName().getName();
            String nameSpace = nodeNameTest.getNamespaceURI();
            if (nameSpace == null)
                nameSpace = getNamespaceResolver().getNamespaceURI("");

            return new AttributeNodeIterator(this, Types.typeName(nameSpace, localName));
        } else {/*from   w ww.j  av a2s  . c  o  m*/
            return new AttributeNodeIterator(this);
        }
    }

    if (test instanceof NodeTypeTest) {
        NodeTypeTest nodeTypeTest = (NodeTypeTest) test;
        if (nodeTypeTest.getNodeType() == Compiler.NODE_TYPE_NODE) {
            return new AttributeNodeIterator(this);
        }
    }

    return super.childIterator(test, reverse, startWith);
}

From source file:org.geotools.feature.xpath.FeatureTypeAttributePointer.java

public NodeIterator childIterator(NodeTest test, boolean reverse, NodePointer startWith) {
    if (test instanceof NodeNameTest) {
        NodeNameTest nodeNameTest = (NodeNameTest) test;

        if (!nodeNameTest.isWildcard()) {
            String localName = nodeNameTest.getNodeName().getName();
            String nameSpace = nodeNameTest.getNamespaceURI();
            if (nameSpace == null)
                nameSpace = getNamespaceResolver().getNamespaceURI("");

            return new SingleFeatureTypeAttributeIterator(this, ((ComplexType) attType),
                    Types.typeName(nameSpace, localName));
        } else {//from w ww  . j a va  2s.c  o m
            return new FeatureTypeAttributeIterator(this, ((ComplexType) attType));
        }
    }

    if (test instanceof NodeTypeTest) {
        NodeTypeTest nodeTypeTest = (NodeTypeTest) test;

        if (nodeTypeTest.getNodeType() == Compiler.NODE_TYPE_NODE) {
            return new FeatureTypeAttributeIterator(this, ((ComplexType) attType));
        }
    }

    return super.childIterator(test, reverse, startWith);
}

From source file:org.geotools.feature.xpath.FeatureTypePointer.java

public NodeIterator childIterator(NodeTest test, boolean reverse, NodePointer startWith) {
    if (test instanceof NodeNameTest) {
        NodeNameTest nodeNameTest = (NodeNameTest) test;

        if (!nodeNameTest.isWildcard()) {
            String localName = nodeNameTest.getNodeName().getName();
            String nameSpace = nodeNameTest.getNamespaceURI();
            if (nameSpace == null)
                nameSpace = getNamespaceResolver().getNamespaceURI("");

            return new SingleFeatureTypeAttributeIterator(this, featureType,
                    Types.typeName(nameSpace, localName));
        } else {//from  w  ww  .j a  v a  2  s  .co m
            return new FeatureTypeAttributeIterator(this, featureType);
        }
    }

    if (test instanceof NodeTypeTest) {
        NodeTypeTest nodeTypeTest = (NodeTypeTest) test;

        if (nodeTypeTest.getNodeType() == Compiler.NODE_TYPE_NODE) {
            return new FeatureTypeAttributeIterator(this, featureType);
        }
    }

    return super.childIterator(test, reverse, startWith);
}

From source file:org.geotools.xml.impl.jxpath.FeaturePointer.java

public NodeIterator childIterator(NodeTest test, boolean reverse, NodePointer startWith) {
    if (test instanceof NodeNameTest) {
        NodeNameTest nodeNameTest = (NodeNameTest) test;

        if (!nodeNameTest.isWildcard()) {
            int index = feature.getFeatureType().indexOf(nodeNameTest.getNodeName().getName());

            if (index > -1) {
                return new SingleFeaturePropertyIterator(this, index);
            }//from   ww  w.j  a v a2  s . c o m
        } else {
            return new FeaturePropertyIterator(this);
        }
    }

    if (test instanceof NodeTypeTest) {
        NodeTypeTest nodeTypeTest = (NodeTypeTest) test;

        if (nodeTypeTest.getNodeType() == Compiler.NODE_TYPE_NODE) {
            return new FeaturePropertyIterator(this);
        }
    }

    return super.childIterator(test, reverse, startWith);
}

From source file:org.geotools.xml.impl.jxpath.FeatureTypePointer.java

public NodeIterator childIterator(NodeTest test, boolean reverse, NodePointer startWith) {
    if (test instanceof NodeNameTest) {
        NodeNameTest nodeNameTest = (NodeNameTest) test;

        if (!nodeNameTest.isWildcard()) {
            int index = featureType.indexOf(nodeNameTest.getNodeName().getName());

            if (index > -1) {
                return new SingleFeatureTypeAttributeIterator(this, index);
            }/*from   ww  w.j  a v a 2 s .c o  m*/
        } else {
            return new FeatureTypeAttributeIterator(this);
        }
    }

    if (test instanceof NodeTypeTest) {
        NodeTypeTest nodeTypeTest = (NodeTypeTest) test;

        if (nodeTypeTest.getNodeType() == Compiler.NODE_TYPE_NODE) {
            return new FeatureTypeAttributeIterator(this);
        }
    }

    return super.childIterator(test, reverse, startWith);
}