Author: veithen
Date: Sat Mar 10 12:31:02 2012
New Revision: 1299186
URL: http://svn.apache.org/viewvc?rev=1299186&view=rev
Log:
Fixed an issue with cloneNode.
Added:
webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestCloneNode.java
(with props)
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java?rev=1299186&r1=1299185&r2=1299186&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java
Sat Mar 10 12:31:02 2012
@@ -54,6 +54,7 @@ public class DOMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.dom.element.TestAttributes2(dbf));
addTest(new org.apache.axiom.ts.dom.element.TestAttributes3(dbf));
addTest(new org.apache.axiom.ts.dom.element.TestAttributes4(dbf));
+ addTest(new org.apache.axiom.ts.dom.element.TestCloneNode(dbf));
addTest(new
org.apache.axiom.ts.dom.element.TestGetElementsByTagName(dbf));
addTest(new
org.apache.axiom.ts.dom.element.TestGetElementsByTagNameNS(dbf));
addTest(new
org.apache.axiom.ts.dom.element.TestGetElementsByTagNameRecursive(dbf));
Added:
webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestCloneNode.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestCloneNode.java?rev=1299186&view=auto
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestCloneNode.java
(added)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestCloneNode.java
Sat Mar 10 12:31:02 2012
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.ts.dom.element;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.axiom.ts.dom.DOMTestCase;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+public class TestCloneNode extends DOMTestCase {
+ public TestCloneNode(DocumentBuilderFactory dbf) {
+ super(dbf);
+ }
+
+ protected void runTest() throws Throwable {
+ Document document = dbf.newDocumentBuilder().newDocument();
+ Element element = document.createElementNS("urn:test", "p:elem");
+ Element clone = (Element)element.cloneNode(true);
+ assertEquals("urn:test", clone.getNamespaceURI());
+ assertEquals("p", clone.getPrefix());
+ assertEquals("elem", clone.getLocalName());
+ assertSame(document, clone.getOwnerDocument());
+ }
+}
Propchange:
webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestCloneNode.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java?rev=1299186&r1=1299185&r2=1299186&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
Sat Mar 10 12:31:02 2012
@@ -513,8 +513,8 @@ public abstract class ParentNode extends
ParentNode newnode = (ParentNode) super.cloneNode(deep);
- // set owner document
- newnode.setOwnerDocument(ownerDocument());
+ // set parent and owner document
+ newnode.setParent(null);
// Need to break the association w/ original kids
newnode.firstChild = null;