--- dom4j-1.6.1+dfsg.orig/src/java/org/jaxen/dom4j/DocumentNavigator.java +++ dom4j-1.6.1+dfsg/src/java/org/jaxen/dom4j/DocumentNavigator.java @@ -0,0 +1,501 @@ +package org.jaxen.dom4j; + +/* + * $Header: /home/projects/jaxen/scm/jaxen/src/java/main/org/jaxen/dom4j/DocumentNavigator.java,v 1.33 2006/07/03 13:17:30 elharo Exp $ + * $Revision: 1.33 $ + * $Date: 2006/07/03 13:17:30 $ + * + * ==================================================================== + * + * Copyright 2000-2005 bob mcwhirter & James Strachan. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the Jaxen Project nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ==================================================================== + * This software consists of voluntary contributions made by many + * individuals on behalf of the Jaxen Project and was originally + * created by bob mcwhirter and + * James Strachan . For more information on the + * Jaxen Project, please see . + * + * $Id: DocumentNavigator.java,v 1.33 2006/07/03 13:17:30 elharo Exp $ +*/ + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; + +import org.dom4j.Attribute; +import org.dom4j.Branch; +import org.dom4j.CDATA; +import org.dom4j.Comment; +import org.dom4j.Document; +import org.dom4j.DocumentException; +import org.dom4j.Element; +import org.dom4j.Namespace; +import org.dom4j.Node; +import org.dom4j.ProcessingInstruction; +import org.dom4j.QName; +import org.dom4j.Text; +import org.dom4j.io.SAXReader; +import org.jaxen.DefaultNavigator; +import org.jaxen.FunctionCallException; +import org.jaxen.NamedAccessNavigator; +import org.jaxen.Navigator; +import org.jaxen.XPath; +import org.jaxen.JaxenConstants; +import org.jaxen.saxpath.SAXPathException; +import org.jaxen.util.SingleObjectIterator; + +/** + * Interface for navigating around the DOM4J object model. + * + *

+ * This class is not intended for direct usage, but is + * used by the Jaxen engine during evaluation. + *

+ * + * @see XPath + * + * @author bob mcwhirter + * @author Stephen Colebourne + */ +public class DocumentNavigator extends DefaultNavigator implements NamedAccessNavigator +{ + + /** + * + */ + private static final long serialVersionUID = 5582300797286535936L; + private transient SAXReader reader; + + /** Singleton implementation. + */ + private static class Singleton + { + /** Singleton instance. + */ + private static DocumentNavigator instance = new DocumentNavigator(); + } + + /** Retrieve the singleton instance of this DocumentNavigator. + */ + public static Navigator getInstance() + { + return Singleton.instance; + } + + public boolean isElement(Object obj) + { + return obj instanceof Element; + } + + public boolean isComment(Object obj) + { + return obj instanceof Comment; + } + + public boolean isText(Object obj) + { + return ( obj instanceof Text + || + obj instanceof CDATA ); + } + + public boolean isAttribute(Object obj) + { + return obj instanceof Attribute; + } + + public boolean isProcessingInstruction(Object obj) + { + return obj instanceof ProcessingInstruction; + } + + public boolean isDocument(Object obj) + { + return obj instanceof Document; + } + + public boolean isNamespace(Object obj) + { + return obj instanceof Namespace; + } + + public String getElementName(Object obj) + { + Element elem = (Element) obj; + + return elem.getName(); + } + + public String getElementNamespaceUri(Object obj) + { + Element elem = (Element) obj; + + String uri = elem.getNamespaceURI(); + if ( uri == null) + return ""; + else + return uri; + } + + public String getElementQName(Object obj) + { + Element elem = (Element) obj; + + return elem.getQualifiedName(); + } + + public String getAttributeName(Object obj) + { + Attribute attr = (Attribute) obj; + + return attr.getName(); + } + + public String getAttributeNamespaceUri(Object obj) + { + Attribute attr = (Attribute) obj; + + String uri = attr.getNamespaceURI(); + if ( uri == null) + return ""; + else + return uri; + } + + public String getAttributeQName(Object obj) + { + Attribute attr = (Attribute) obj; + + return attr.getQualifiedName(); + } + + public Iterator getChildAxisIterator(Object contextNode) + { + Iterator result = null; + if ( contextNode instanceof Branch ) + { + Branch node = (Branch) contextNode; + result = node.nodeIterator(); + } + if (result != null) { + return result; + } + return JaxenConstants.EMPTY_ITERATOR; + } + + /** + * Retrieves an Iterator over the child elements that + * match the supplied name. + * + * @param contextNode the origin context node + * @param localName the local name of the children to return, always present + * @param namespacePrefix the prefix of the namespace of the children to return + * @param namespaceURI the uri of the namespace of the children to return + * + * @return an Iterator that traverses the named children, or null if none + */ + public Iterator getChildAxisIterator( + Object contextNode, String localName, String namespacePrefix, String namespaceURI) { + + if ( contextNode instanceof Element ) { + Element node = (Element) contextNode; + return node.elementIterator(QName.get(localName, namespacePrefix, namespaceURI)); + } + if ( contextNode instanceof Document ) { + Document node = (Document) contextNode; + Element el = node.getRootElement(); + if (el == null || el.getName().equals(localName) == false) { + return JaxenConstants.EMPTY_ITERATOR; + } + if (namespaceURI != null) { + if (namespaceURI.equals(el.getNamespaceURI()) == false) { + return JaxenConstants.EMPTY_ITERATOR; + } + } + return new SingleObjectIterator(el); + } + + return JaxenConstants.EMPTY_ITERATOR; + } + + public Iterator getParentAxisIterator(Object contextNode) + { + if ( contextNode instanceof Document ) + { + return JaxenConstants.EMPTY_ITERATOR; + } + + Node node = (Node) contextNode; + + Object parent = node.getParent(); + + if ( parent == null ) + { + parent = node.getDocument(); + } + + return new SingleObjectIterator( parent ); + } + + public Iterator getAttributeAxisIterator(Object contextNode) + { + if ( ! ( contextNode instanceof Element ) ) + { + return JaxenConstants.EMPTY_ITERATOR; + } + + Element elem = (Element) contextNode; + + return elem.attributeIterator(); + } + + /** + * Retrieves an Iterator over the attribute elements that + * match the supplied name. + * + * @param contextNode the origin context node + * @param localName the local name of the attributes to return, always present + * @param namespacePrefix the prefix of the namespace of the attributes to return + * @param namespaceURI the URI of the namespace of the attributes to return + * @return an Iterator that traverses the named attributes, not null + */ + public Iterator getAttributeAxisIterator( + Object contextNode, String localName, String namespacePrefix, String namespaceURI) { + + if ( contextNode instanceof Element ) { + Element node = (Element) contextNode; + Attribute attr = node.attribute(QName.get(localName, namespacePrefix, namespaceURI)); + if (attr == null) { + return JaxenConstants.EMPTY_ITERATOR; + } + return new SingleObjectIterator(attr); + } + return JaxenConstants.EMPTY_ITERATOR; + } + + public Iterator getNamespaceAxisIterator(Object contextNode) + { + if ( ! ( contextNode instanceof Element ) ) + { + return JaxenConstants.EMPTY_ITERATOR; + } + + Element element = (Element) contextNode; + List nsList = new ArrayList(); + HashSet prefixes = new HashSet(); + for ( Element context = element; context != null; context = context.getParent() ) { + List declaredNS = new ArrayList(context.declaredNamespaces()); + declaredNS.add(context.getNamespace()); + + for ( Iterator iter = context.attributes().iterator(); iter.hasNext(); ) + { + Attribute attr = (Attribute) iter.next(); + declaredNS.add(attr.getNamespace()); + } + + for ( Iterator iter = declaredNS.iterator(); iter.hasNext(); ) + { + Namespace namespace = (Namespace) iter.next(); + if (namespace != Namespace.NO_NAMESPACE) + { + String prefix = namespace.getPrefix(); + if ( ! prefixes.contains( prefix ) ) { + prefixes.add( prefix ); + nsList.add( namespace.asXPathResult( element ) ); + } + } + } + } + nsList.add( Namespace.XML_NAMESPACE.asXPathResult( element ) ); + return nsList.iterator(); + } + + public Object getDocumentNode(Object contextNode) + { + if ( contextNode instanceof Document ) + { + return contextNode; + } + else if ( contextNode instanceof Node ) + { + Node node = (Node) contextNode; + return node.getDocument(); + } + return null; + } + + /** Returns a parsed form of the given XPath string, which will be suitable + * for queries on DOM4J documents. + */ + public XPath parseXPath (String xpath) throws SAXPathException + { + return new Dom4jXPath(xpath); + } + + public Object getParentNode(Object contextNode) + { + if ( contextNode instanceof Node ) + { + Node node = (Node) contextNode; + Object answer = node.getParent(); + if ( answer == null ) + { + answer = node.getDocument(); + if (answer == contextNode) { + return null; + } + } + return answer; + } + return null; + } + + public String getTextStringValue(Object obj) + { + return getNodeStringValue( (Node) obj ); + } + + public String getElementStringValue(Object obj) + { + return getNodeStringValue( (Node) obj ); + } + + public String getAttributeStringValue(Object obj) + { + return getNodeStringValue( (Node) obj ); + } + + private String getNodeStringValue(Node node) + { + return node.getStringValue(); + } + + public String getNamespaceStringValue(Object obj) + { + Namespace ns = (Namespace) obj; + + return ns.getURI(); + } + + public String getNamespacePrefix(Object obj) + { + Namespace ns = (Namespace) obj; + + return ns.getPrefix(); + } + + public String getCommentStringValue(Object obj) + { + Comment cmt = (Comment) obj; + + return cmt.getText(); + } + + public String translateNamespacePrefixToUri(String prefix, Object context) + { + Element element = null; + if ( context instanceof Element ) + { + element = (Element) context; + } + else if ( context instanceof Node ) + { + Node node = (Node) context; + element = node.getParent(); + } + if ( element != null ) + { + Namespace namespace = element.getNamespaceForPrefix( prefix ); + + if ( namespace != null ) + { + return namespace.getURI(); + } + } + return null; + } + + public short getNodeType(Object node) + { + if ( node instanceof Node ) + { + return ((Node) node).getNodeType(); + } + return 0; + } + + public Object getDocument(String uri) throws FunctionCallException + { + try + { + return getSAXReader().read( uri ); + } + catch (DocumentException e) + { + throw new FunctionCallException("Failed to parse document for URI: " + uri, e); + } + } + + public String getProcessingInstructionTarget(Object obj) + { + ProcessingInstruction pi = (ProcessingInstruction) obj; + + return pi.getTarget(); + } + + public String getProcessingInstructionData(Object obj) + { + ProcessingInstruction pi = (ProcessingInstruction) obj; + + return pi.getText(); + } + + // Properties + //------------------------------------------------------------------------- + public SAXReader getSAXReader() + { + if ( reader == null ) + { + reader = new SAXReader(); + reader.setMergeAdjacentText( true ); + } + return reader; + } + + public void setSAXReader(SAXReader reader) + { + this.reader = reader; + } + +} --- dom4j-1.6.1+dfsg.orig/src/java/org/jaxen/dom4j/Dom4jXPath.java +++ dom4j-1.6.1+dfsg/src/java/org/jaxen/dom4j/Dom4jXPath.java @@ -0,0 +1,94 @@ +/* + * $Header: /home/projects/jaxen/scm/jaxen/src/java/main/org/jaxen/dom4j/Dom4jXPath.java,v 1.8 2006/06/03 20:44:53 elharo Exp $ + * $Revision: 1.8 $ + * $Date: 2006/06/03 20:44:53 $ + * + * ==================================================================== + * + * Copyright 2000-2002 bob mcwhirter & James Strachan. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the Jaxen Project nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ==================================================================== + * This software consists of voluntary contributions made by many + * individuals on behalf of the Jaxen Project and was originally + * created by bob mcwhirter and + * James Strachan . For more information on the + * Jaxen Project, please see . + * + * $Id: Dom4jXPath.java,v 1.8 2006/06/03 20:44:53 elharo Exp $ + */ + + + +package org.jaxen.dom4j; + +import org.jaxen.BaseXPath; +import org.jaxen.JaxenException; + +/** An XPath implementation for the dom4j model + * + *

This is the main entry point for matching an XPath against a DOM + * tree. You create a compiled XPath object, then match it against + * one or more context nodes using the {@link #selectNodes(Object)} + * method, as in the following example:

+ * + *
+ * Node node = ...;
+ * XPath path = new Dom4jXPath("a/b/c");
+ * List results = path.selectNodes(node);
+ * 
+ * + * @see BaseXPath + * @see The dom4j website + * + * @author bob mcwhirter + * @author James Strachan + * + * @version $Revision: 1.8 $ + */ +public class Dom4jXPath extends BaseXPath +{ + /** + * + */ + private static final long serialVersionUID = -75510941087659775L; + + /** Construct given an XPath expression string. + * + * @param xpathExpr the XPath expression + * + * @throws JaxenException if there is a syntax error while + * parsing the expression + */ + public Dom4jXPath(String xpathExpr) throws JaxenException + { + super( xpathExpr, DocumentNavigator.getInstance() ); + } +} --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMAttribute.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMAttribute.java @@ -14,7 +14,10 @@ import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.TypeInfo; +import org.w3c.dom.UserDataHandler; /** *

@@ -179,6 +182,76 @@ public org.w3c.dom.Element getOwnerElement() { return DOMNodeHelper.asDOMElement(getParent()); } + + public TypeInfo getSchemaTypeInfo() { + // TODO Auto-generated method stub + return null; + } + + public boolean isId() { + // TODO Auto-generated method stub + return false; + } + + public String getBaseURI() { + // TODO Auto-generated method stub + return null; + } + + public short compareDocumentPosition(Node other) throws DOMException { + // TODO Auto-generated method stub + return 0; + } + + public String getTextContent() throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public void setTextContent(String textContent) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean isSameNode(Node other) { + // TODO Auto-generated method stub + return false; + } + + public String lookupPrefix(String namespaceURI) { + // TODO Auto-generated method stub + return null; + } + + public boolean isDefaultNamespace(String namespaceURI) { + // TODO Auto-generated method stub + return false; + } + + public String lookupNamespaceURI(String prefix) { + // TODO Auto-generated method stub + return null; + } + + public boolean isEqualNode(Node arg) { + // TODO Auto-generated method stub + return false; + } + + public Object getFeature(String feature, String version) { + // TODO Auto-generated method stub + return null; + } + + public Object setUserData(String key, Object data, UserDataHandler handler) { + // TODO Auto-generated method stub + return null; + } + + public Object getUserData(String key) { + // TODO Auto-generated method stub + return null; + } } /* --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMCDATA.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMCDATA.java @@ -14,7 +14,10 @@ import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.Text; +import org.w3c.dom.UserDataHandler; /** *

@@ -225,6 +228,81 @@ protected CDATA createCDATA(String text) { return new DOMCDATA(text); } + + public boolean isElementContentWhitespace() { + // TODO Auto-generated method stub + return false; + } + + public String getWholeText() { + // TODO Auto-generated method stub + return null; + } + + public Text replaceWholeText(String content) throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public String getBaseURI() { + // TODO Auto-generated method stub + return null; + } + + public short compareDocumentPosition(Node other) throws DOMException { + // TODO Auto-generated method stub + return 0; + } + + public String getTextContent() throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public void setTextContent(String textContent) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean isSameNode(Node other) { + // TODO Auto-generated method stub + return false; + } + + public String lookupPrefix(String namespaceURI) { + // TODO Auto-generated method stub + return null; + } + + public boolean isDefaultNamespace(String namespaceURI) { + // TODO Auto-generated method stub + return false; + } + + public String lookupNamespaceURI(String prefix) { + // TODO Auto-generated method stub + return null; + } + + public boolean isEqualNode(Node arg) { + // TODO Auto-generated method stub + return false; + } + + public Object getFeature(String feature, String version) { + // TODO Auto-generated method stub + return null; + } + + public Object setUserData(String key, Object data, UserDataHandler handler) { + // TODO Auto-generated method stub + return null; + } + + public Object getUserData(String key) { + // TODO Auto-generated method stub + return null; + } } /* --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMComment.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMComment.java @@ -13,7 +13,9 @@ import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.UserDataHandler; /** *

@@ -187,6 +189,66 @@ throws DOMException { DOMNodeHelper.replaceData(this, offset, count, arg); } + + public String getBaseURI() { + // TODO Auto-generated method stub + return null; + } + + public short compareDocumentPosition(Node other) throws DOMException { + // TODO Auto-generated method stub + return 0; + } + + public String getTextContent() throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public void setTextContent(String textContent) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean isSameNode(Node other) { + // TODO Auto-generated method stub + return false; + } + + public String lookupPrefix(String namespaceURI) { + // TODO Auto-generated method stub + return null; + } + + public boolean isDefaultNamespace(String namespaceURI) { + // TODO Auto-generated method stub + return false; + } + + public String lookupNamespaceURI(String prefix) { + // TODO Auto-generated method stub + return null; + } + + public boolean isEqualNode(Node arg) { + // TODO Auto-generated method stub + return false; + } + + public Object getFeature(String feature, String version) { + // TODO Auto-generated method stub + return null; + } + + public Object setUserData(String key, Object data, UserDataHandler handler) { + // TODO Auto-generated method stub + return null; + } + + public Object getUserData(String key) { + // TODO Auto-generated method stub + return null; + } } /* --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMDocumentFactory.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMDocumentFactory.java @@ -174,6 +174,11 @@ docType.getPublicId(), docType.getSystemId()); } } + + public Object getFeature(String arg0, String arg1) { + // TODO Auto-generated method stub + return null; + } } @@ -213,4 +218,4 @@ * POSSIBILITY OF SUCH DAMAGE. * * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - */ \ No newline at end of file + */ --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMDocument.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMDocument.java @@ -15,12 +15,15 @@ import org.w3c.dom.Attr; import org.w3c.dom.CDATASection; +import org.w3c.dom.DOMConfiguration; import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.EntityReference; import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.ProcessingInstruction; +import org.w3c.dom.UserDataHandler; /** *

@@ -301,6 +304,136 @@ return super.getDocumentFactory(); } } + + public String getInputEncoding() { + // TODO Auto-generated method stub + return null; + } + + public String getXmlEncoding() { + // TODO Auto-generated method stub + return null; + } + + public boolean getXmlStandalone() { + // TODO Auto-generated method stub + return false; + } + + public void setXmlStandalone(boolean arg0) throws DOMException { + // TODO Auto-generated method stub + + } + + public String getXmlVersion() { + // TODO Auto-generated method stub + return null; + } + + public void setXmlVersion(String arg0) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean getStrictErrorChecking() { + // TODO Auto-generated method stub + return false; + } + + public void setStrictErrorChecking(boolean arg0) { + // TODO Auto-generated method stub + + } + + public String getDocumentURI() { + // TODO Auto-generated method stub + return null; + } + + public void setDocumentURI(String arg0) { + // TODO Auto-generated method stub + + } + + public Node adoptNode(Node arg0) throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public DOMConfiguration getDomConfig() { + // TODO Auto-generated method stub + return null; + } + + public void normalizeDocument() { + // TODO Auto-generated method stub + + } + + public Node renameNode(Node arg0, String arg1, String arg2) throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public String getBaseURI() { + // TODO Auto-generated method stub + return null; + } + + public short compareDocumentPosition(Node arg0) throws DOMException { + // TODO Auto-generated method stub + return 0; + } + + public String getTextContent() throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public void setTextContent(String arg0) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean isSameNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupPrefix(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isDefaultNamespace(String arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupNamespaceURI(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isEqualNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public Object getFeature(String arg0, String arg1) { + // TODO Auto-generated method stub + return null; + } + + public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) { + // TODO Auto-generated method stub + return null; + } + + public Object getUserData(String arg0) { + // TODO Auto-generated method stub + return null; + } } /* --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMDocumentType.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMDocumentType.java @@ -12,7 +12,9 @@ import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.UserDataHandler; /** *

@@ -177,6 +179,66 @@ public String getInternalSubset() { return getElementName(); } + + public String getBaseURI() { + // TODO Auto-generated method stub + return null; + } + + public short compareDocumentPosition(Node arg0) throws DOMException { + // TODO Auto-generated method stub + return 0; + } + + public String getTextContent() throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public void setTextContent(String arg0) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean isSameNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupPrefix(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isDefaultNamespace(String arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupNamespaceURI(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isEqualNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public Object getFeature(String arg0, String arg1) { + // TODO Auto-generated method stub + return null; + } + + public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) { + // TODO Auto-generated method stub + return null; + } + + public Object getUserData(String arg0) { + // TODO Auto-generated method stub + return null; + } } /* --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMElement.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMElement.java @@ -16,11 +16,14 @@ import org.dom4j.QName; import org.dom4j.tree.DefaultElement; +import org.w3c.dom.Attr; import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.TypeInfo; +import org.w3c.dom.UserDataHandler; /** *

@@ -389,6 +392,86 @@ return getDocumentFactory().createQName(localName, prefix, namespace); } + + public TypeInfo getSchemaTypeInfo() { + // TODO Auto-generated method stub + return null; + } + + public void setIdAttribute(String arg0, boolean arg1) throws DOMException { + // TODO Auto-generated method stub + + } + + public void setIdAttributeNS(String arg0, String arg1, boolean arg2) throws DOMException { + // TODO Auto-generated method stub + + } + + public void setIdAttributeNode(Attr arg0, boolean arg1) throws DOMException { + // TODO Auto-generated method stub + + } + + public String getBaseURI() { + // TODO Auto-generated method stub + return null; + } + + public short compareDocumentPosition(Node arg0) throws DOMException { + // TODO Auto-generated method stub + return 0; + } + + public String getTextContent() throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public void setTextContent(String arg0) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean isSameNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupPrefix(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isDefaultNamespace(String arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupNamespaceURI(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isEqualNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public Object getFeature(String arg0, String arg1) { + // TODO Auto-generated method stub + return null; + } + + public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) { + // TODO Auto-generated method stub + return null; + } + + public Object getUserData(String arg0) { + // TODO Auto-generated method stub + return null; + } } /* --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMEntityReference.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMEntityReference.java @@ -13,7 +13,9 @@ import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.UserDataHandler; /** *

@@ -166,6 +168,66 @@ public boolean hasAttributes() { return DOMNodeHelper.hasAttributes(this); } + + public String getBaseURI() { + // TODO Auto-generated method stub + return null; + } + + public short compareDocumentPosition(Node arg0) throws DOMException { + // TODO Auto-generated method stub + return 0; + } + + public String getTextContent() throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public void setTextContent(String arg0) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean isSameNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupPrefix(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isDefaultNamespace(String arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupNamespaceURI(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isEqualNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public Object getFeature(String arg0, String arg1) { + // TODO Auto-generated method stub + return null; + } + + public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) { + // TODO Auto-generated method stub + return null; + } + + public Object getUserData(String arg0) { + // TODO Auto-generated method stub + return null; + } } /* --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMNamespace.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMNamespace.java @@ -13,7 +13,9 @@ import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.UserDataHandler; /** *

@@ -140,6 +142,66 @@ public boolean hasAttributes() { return DOMNodeHelper.hasAttributes(this); } + + public String getBaseURI() { + // TODO Auto-generated method stub + return null; + } + + public short compareDocumentPosition(Node arg0) throws DOMException { + // TODO Auto-generated method stub + return 0; + } + + public String getTextContent() throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public void setTextContent(String arg0) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean isSameNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupPrefix(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isDefaultNamespace(String arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupNamespaceURI(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isEqualNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public Object getFeature(String arg0, String arg1) { + // TODO Auto-generated method stub + return null; + } + + public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) { + // TODO Auto-generated method stub + return null; + } + + public Object getUserData(String arg0) { + // TODO Auto-generated method stub + return null; + } } /* --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMProcessingInstruction.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMProcessingInstruction.java @@ -15,7 +15,9 @@ import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.UserDataHandler; /** *

@@ -177,6 +179,66 @@ } } + public String getBaseURI() { + // TODO Auto-generated method stub + return null; + } + + public short compareDocumentPosition(Node arg0) throws DOMException { + // TODO Auto-generated method stub + return 0; + } + + public String getTextContent() throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public void setTextContent(String arg0) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean isSameNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupPrefix(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isDefaultNamespace(String arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupNamespaceURI(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isEqualNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public Object getFeature(String arg0, String arg1) { + // TODO Auto-generated method stub + return null; + } + + public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) { + // TODO Auto-generated method stub + return null; + } + + public Object getUserData(String arg0) { + // TODO Auto-generated method stub + return null; + } + // Implementation methods // ------------------------------------------------------------------------- } --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMText.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMText.java @@ -14,7 +14,9 @@ import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.UserDataHandler; /** *

@@ -224,6 +226,81 @@ protected Text createText(String text) { return new DOMText(text); } + + public boolean isElementContentWhitespace() { + // TODO Auto-generated method stub + return false; + } + + public String getWholeText() { + // TODO Auto-generated method stub + return null; + } + + public org.w3c.dom.Text replaceWholeText(String arg0) throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public String getBaseURI() { + // TODO Auto-generated method stub + return null; + } + + public short compareDocumentPosition(Node arg0) throws DOMException { + // TODO Auto-generated method stub + return 0; + } + + public String getTextContent() throws DOMException { + // TODO Auto-generated method stub + return null; + } + + public void setTextContent(String arg0) throws DOMException { + // TODO Auto-generated method stub + + } + + public boolean isSameNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupPrefix(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isDefaultNamespace(String arg0) { + // TODO Auto-generated method stub + return false; + } + + public String lookupNamespaceURI(String arg0) { + // TODO Auto-generated method stub + return null; + } + + public boolean isEqualNode(Node arg0) { + // TODO Auto-generated method stub + return false; + } + + public Object getFeature(String arg0, String arg1) { + // TODO Auto-generated method stub + return null; + } + + public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) { + // TODO Auto-generated method stub + return null; + } + + public Object getUserData(String arg0) { + // TODO Auto-generated method stub + return null; + } } /* --- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/tree/NamespaceCache.java +++ dom4j-1.6.1+dfsg/src/java/org/dom4j/tree/NamespaceCache.java @@ -26,42 +26,46 @@ * @version $Revision: 1.15 $ */ public class NamespaceCache { - private static final String CONCURRENTREADERHASHMAP_CLASS - = "EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap"; + private static final String BACKPORT_CONCURRENTHASHMAP_CLASS + = "edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap"; + private static final String OSWEGO_CONCURRENTHASHMAP_CLASS + = "EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap"; /** * Cache of {@link Map}instances indexed by URI which contain caches of * {@link Namespace}for each prefix */ - protected static Map cache; + protected static Map cache = newConcurrentHashMap(); /** * Cache of {@link Namespace}instances indexed by URI for default * namespaces with no prefixes */ - protected static Map noPrefixCache; + protected static Map noPrefixCache = newConcurrentHashMap(); - static { + protected static Map newConcurrentHashMap() + { /* Try the java.util.concurrent.ConcurrentHashMap first. */ try { Class clazz = Class .forName("java.util.concurrent.ConcurrentHashMap"); Constructor construct = clazz.getConstructor(new Class[] { Integer.TYPE, Float.TYPE, Integer.TYPE }); - cache = (Map) construct.newInstance(new Object[] {new Integer(11), + return (Map) construct.newInstance(new Object[] {new Integer(11), new Float(0.75f), new Integer(1) }); - noPrefixCache = (Map) construct.newInstance(new Object[] { - new Integer(11), new Float(0.75f), new Integer(1) }); } catch (Throwable t1) { - /* Try to use the util.concurrent library (if in classpath) */ try { - Class clazz = Class.forName(CONCURRENTREADERHASHMAP_CLASS); - cache = (Map) clazz.newInstance(); - noPrefixCache = (Map) clazz.newInstance(); + /* Try to use the backport-util-concurrent library */ + Class clazz = Class.forName(BACKPORT_CONCURRENTHASHMAP_CLASS); + return (Map) clazz.newInstance(); } catch (Throwable t2) { - /* If previous implementations fail, use internal one */ - cache = new ConcurrentReaderHashMap(); - noPrefixCache = new ConcurrentReaderHashMap(); + try { + /* Try to use the oswego concurrent library */ + Class clazz = Class.forName(OSWEGO_CONCURRENTHASHMAP_CLASS); + return (Map) clazz.newInstance(); + } catch (Throwable t3) { + return null; + } } } } @@ -154,7 +158,7 @@ answer = (Map) cache.get(uri); if (answer == null) { - answer = new ConcurrentReaderHashMap(); + answer = newConcurrentHashMap(); cache.put(uri, answer); } }