CPD Results

The following document contains the results of PMD's CPD 4.1.

Duplications

File Line
org/apache/commons/jxpath/ri/model/dom/DOMNodePointer.java 413
org/apache/commons/jxpath/ri/model/jdom/JDOMNodePointer.java 541
    }

    public NodePointer createChild(
        JXPathContext context,
        QName name,
        int index) {
        if (index == WHOLE_COLLECTION) {
            index = 0;
        }
        boolean success =
            getAbstractFactory(context).createObject(
                context,
                this,
                node,
                name.toString(),
                index);
        if (success) {
            NodeTest nodeTest;
            String prefix = name.getPrefix();
            String namespaceURI = prefix == null ? null : context
                    .getNamespaceURI(prefix);
            nodeTest = new NodeNameTest(name, namespaceURI);

            NodeIterator it =
                childIterator(nodeTest, false, null);
            if (it != null && it.setPosition(index + 1)) {
                return it.getNodePointer();
            }
        }
        throw new JXPathAbstractFactoryException("Factory could not create "

File Line
org/apache/commons/jxpath/ri/model/dom/DOMNodePointer.java 506
org/apache/commons/jxpath/ri/model/jdom/JDOMNodePointer.java 639
                String ln = JDOMNodePointer.getLocalName(node);

                if (nsURI == null) {
                    buffer.append(ln);
                    buffer.append('[');
                    buffer.append(getRelativePositionByName()).append(']');
                }
                else {
                    String prefix = getNamespaceResolver().getPrefix(nsURI);
                    if (prefix != null) {
                        buffer.append(prefix);
                        buffer.append(':');
                        buffer.append(ln);
                        buffer.append('[');
                        buffer.append(getRelativePositionByName());
                        buffer.append(']');
                    }
                    else {
                        buffer.append("node()");
                        buffer.append('[');
                        buffer.append(getRelativePositionOfElement());
                        buffer.append(']');
                    }
                }

            }

File Line
org/apache/commons/jxpath/ri/model/dom/NamespacePointer.java 53
org/apache/commons/jxpath/ri/model/jdom/JDOMNamespacePointer.java 50
    public JDOMNamespacePointer(
            NodePointer parent,
            String prefix,
            String namespaceURI) {
        super(parent);
        this.prefix = prefix;
        this.namespaceURI = namespaceURI;
    }

    public QName getName() {
        return new QName(prefix);
    }

    public Object getBaseValue() {
        return null;
    }

    public boolean isCollection() {
        return false;
    }

    public int getLength() {
        return 1;
    }

    public Object getImmediateNode() {
        return getNamespaceURI();
    }

    public String getNamespaceURI() {
        if (namespaceURI == null) {
            namespaceURI = parent.getNamespaceURI(prefix);
        }
        return namespaceURI;
    }

    public boolean isLeaf() {
        return true;
    }

    /**
     * Throws UnsupportedOperationException.
     * @param value Object value to set
     */
    public void setValue(Object value) {
        throw new UnsupportedOperationException("Cannot modify a namespace");

File Line
org/apache/commons/jxpath/ri/model/dom/DOMAttributePointer.java 107
org/apache/commons/jxpath/ri/model/jdom/JDOMAttributePointer.java 92
        attr.getParent().removeAttribute(attr);
    }

    public String asPath() {
        StringBuffer buffer = new StringBuffer();
        if (parent != null) {
            buffer.append(parent.asPath());
            if (buffer.length() == 0
                || buffer.charAt(buffer.length() - 1) != '/') {
                buffer.append('/');
            }
        }
        buffer.append('@');
        buffer.append(getName());
        return buffer.toString();
    }

    public int hashCode() {
        return System.identityHashCode(attr);
    }

    public boolean equals(Object object) {
        return object == this || object instanceof JDOMAttributePointer

File Line
org/apache/commons/jxpath/ri/axes/AttributeContext.java 47
org/apache/commons/jxpath/ri/axes/NamespaceContext.java 42
    public NamespaceContext(EvalContext parentContext, NodeTest nodeTest) {
        super(parentContext);
        this.nodeTest = nodeTest;
    }

    public NodePointer getCurrentNodePointer() {
        return currentNodePointer;
    }

    public void reset() {
        setStarted = false;
        iterator = null;
        super.reset();
    }

    public boolean setPosition(int position) {
        if (position < getCurrentPosition()) {
            reset();
        }

        while (getCurrentPosition() < position) {
            if (!nextNode()) {
                return false;
            }
        }
        return true;
    }

    public boolean nextNode() {
        super.setPosition(getCurrentPosition() + 1);
        if (!setStarted) {
            setStarted = true;

File Line
org/apache/commons/jxpath/ri/model/dom/DOMNodePointer.java 439
org/apache/commons/jxpath/ri/model/jdom/JDOMNodePointer.java 571
                + "a child node for path: " + asPath() + "/" + name + "["
                + (index + 1) + "]");
    }

    public NodePointer createChild(
            JXPathContext context, QName name, int index, Object value) {
        NodePointer ptr = createChild(context, name, index);
        ptr.setValue(value);
        return ptr;
    }

    public NodePointer createAttribute(JXPathContext context, QName name) {
        if (!(node instanceof Element)) {
            return super.createAttribute(context, name);
        }

        Element element = (Element) node;
        String prefix = name.getPrefix();
        if (prefix != null) {
            String namespaceUri = getNamespaceResolver().getNamespaceURI(prefix);

File Line
org/apache/commons/jxpath/ri/model/dom/NamespacePointer.java 105
org/apache/commons/jxpath/ri/model/jdom/JDOMNamespacePointer.java 95
        throw new UnsupportedOperationException("Cannot modify a namespace");
    }

    public String asPath() {
        StringBuffer buffer = new StringBuffer();
        if (parent != null) {
            buffer.append(parent.asPath());
            if (buffer.length() == 0
                || buffer.charAt(buffer.length() - 1) != '/') {
                buffer.append('/');
            }
        }
        buffer.append("namespace::");
        buffer.append(prefix);
        return buffer.toString();
    }

    public int hashCode() {
        return prefix.hashCode();
    }

    public boolean equals(Object object) {