You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by rr...@apache.org on 2010/05/18 05:24:11 UTC

svn commit: r945471 - in /ode/branches/APACHE_ODE_1.X/utils/src: main/java/org/apache/ode/utils/DOMUtils.java test/java/org/apache/ode/utils/DOMUtilsTest.java

Author: rr
Date: Tue May 18 03:24:09 2010
New Revision: 945471

URL: http://svn.apache.org/viewvc?rev=945471&view=rev
Log:
ODE-663: Reverted for now

Modified:
    ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/DOMUtils.java
    ode/branches/APACHE_ODE_1.X/utils/src/test/java/org/apache/ode/utils/DOMUtilsTest.java

Modified: ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/DOMUtils.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/DOMUtils.java?rev=945471&r1=945470&r2=945471&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/DOMUtils.java (original)
+++ ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/DOMUtils.java Tue May 18 03:24:09 2010
@@ -1109,28 +1109,25 @@ public class DOMUtils {
     	
     	switch (sourceNode.getNodeType()) {
     	case Node.ATTRIBUTE_NODE:
-            if (namespaceURI == null) {
-                clonedNode = document.createAttribute(nodeName);
-                break;
-            } else {
-                String prefix = sourceNode.getPrefix();
-//                String prefix = ((Attr) sourceNode).lookupPrefix(namespaceURI);
-                // the prefix for the XML namespace can't be looked up, hence this...
-                if (prefix == null && namespaceURI.equals(NS_URI_XMLNS)) {
-                    nodeName = "xmlns";
-                }
-                // if a prefix exists, qualify the name with it
-                if (prefix != null && !"".equals(prefix)) {
-                    nodeName = prefix + ":" + nodeName;
-                }
-                // create the appropriate type of attribute
-                if (prefix != null) {
-                    clonedNode = document.createAttributeNS(namespaceURI, nodeName);
-                } else {
-                    clonedNode = document.createAttribute(nodeName);
-                }
-                clonedNode.setNodeValue(sourceNode.getNodeValue());
-            }
+    		if (namespaceURI == null) {
+    			clonedNode = document.createAttribute(nodeName);
+    		} else {
+    			String prefix = ((Attr) sourceNode).lookupPrefix(namespaceURI);
+    			// the prefix for the XML namespace can't be looked up, hence this...
+    			if (prefix == null && namespaceURI.equals(NS_URI_XMLNS)) {
+    				prefix = "xmlns";
+    			}
+    			// if a prefix exists, qualify the name with it
+    			if (prefix != null && !"".equals(prefix)) {
+        			nodeName = prefix + ":" + nodeName;
+    			}
+    			// create the appropriate type of attribute
+    			if (prefix != null) {
+	        		clonedNode = document.createAttributeNS(namespaceURI, nodeName);
+    			} else {
+    				clonedNode = document.createAttribute(nodeName);
+    			}
+    		}
 			break;
     	case Node.CDATA_SECTION_NODE:
     		clonedNode = document.createCDATASection(((CDATASection) sourceNode).getData());
@@ -1193,16 +1190,13 @@ public class DOMUtils {
     	NodeList sourceChildren = sourceNode.getChildNodes();
     	if (sourceChildren != null) {
 	    	for (int i = 0; i < sourceChildren.getLength(); i++) {
-	    	    if (sourceNode.getNodeType() != Node.ATTRIBUTE_NODE) {
-	    	        Node sourceChild = sourceChildren.item(i);
-	    	        Node clonedChild = cloneNode(document, sourceChild);
-	    	        clonedNode.appendChild(clonedChild);
-	    	    }
-	    		
+	    		Node sourceChild = sourceChildren.item(i);
+	    		Node clonedChild = cloneNode(document, sourceChild);
+	    		clonedNode.appendChild(clonedChild);
 	    		// if the child has a textual value, parse it for any embedded prefixes
-	    		if (sourceChildren.item(i).getNodeType() == Node.TEXT_NODE || 
-	    				sourceChildren.item(i).getNodeType() == Node.CDATA_SECTION_NODE) {
-	    			parseEmbeddedPrefixes(sourceNode, clonedNode, sourceChildren.item(i));
+	    		if (clonedChild.getNodeType() == Node.TEXT_NODE || 
+	    				clonedChild.getNodeType() == Node.CDATA_SECTION_NODE) {
+	    			parseEmbeddedPrefixes(sourceNode, clonedNode, clonedChild);
 	    		}
 	    	}
     	}

Modified: ode/branches/APACHE_ODE_1.X/utils/src/test/java/org/apache/ode/utils/DOMUtilsTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/utils/src/test/java/org/apache/ode/utils/DOMUtilsTest.java?rev=945471&r1=945470&r2=945471&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/utils/src/test/java/org/apache/ode/utils/DOMUtilsTest.java (original)
+++ ode/branches/APACHE_ODE_1.X/utils/src/test/java/org/apache/ode/utils/DOMUtilsTest.java Tue May 18 03:24:09 2010
@@ -18,24 +18,9 @@
  */
 package org.apache.ode.utils;
 
-import net.sf.saxon.dom.DocumentBuilderFactoryImpl;
-import net.sf.saxon.xqj.SaxonXQDataSource;
-
 import org.apache.ode.utils.TestResources;
 
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
 import java.io.InputStream;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.xquery.XQConnection;
-import javax.xml.xquery.XQDataSource;
-import javax.xml.xquery.XQItem;
-import javax.xml.xquery.XQPreparedExpression;
-import javax.xml.xquery.XQResultSequence;
 
 import junit.framework.TestCase;
 
@@ -43,29 +28,12 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
 
 /**
  * Test the {@link DOMUtils} class.
  */
 public class DOMUtilsTest extends TestCase {
-    private static final String SAXON_DOM_DOCUMENT_BUILDER_FACTORY = "net.sf.saxon.dom.DocumentBuilderFactoryImpl";
-    private static final String DOCUMENT_BUILDER_FACTORY = "javax.xml.parsers.DocumentBuilderFactory";
-    String defaultBuilderFactory = null;
-
-  @Override
-  protected void setUp() throws Exception {
-        super.setUp();
-        defaultBuilderFactory = System.getProperty(DOCUMENT_BUILDER_FACTORY, "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
-  }
-  
-  @Override
-  protected void tearDown() throws Exception {
-        super.tearDown();
-        
-        System.setProperty(DOCUMENT_BUILDER_FACTORY, defaultBuilderFactory);
-  }
-  
+
   public void testParseInputStream() throws Exception {
     Document doc = DOMUtils.parse(TestResources.getLoanApprovalProcess().openStream());
     assertEquals("process", doc.getDocumentElement().getLocalName());
@@ -142,117 +110,5 @@ public class DOMUtilsTest extends TestCa
       }
     }
   }
-  
-  public void testCloneNode() throws Exception {
-    String testString = "<ns1:parent xmlns:ns1=\"abc\">\n" +
-   "  <ns1:child xmlns=\"def\">\n" +
-   "     <ns2:nestedChild xmlns:ns2=\"def\"/>\n" +
-   "  </ns1:child>\n" +
-   "</ns1:parent>";
-    
-    Document doc = DOMUtils.parse(new ByteArrayInputStream(testString.getBytes()));
-    Node node = doc.getFirstChild();
-    Node clonedNode = DOMUtils.cloneNode(doc, node);
-    String actualString = DOMUtils.domToString(clonedNode).replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n", "");
-    assertEquals("XML Result", testString, actualString);
-  }
-  
-  public void testCloneNodeNewDocument() throws Exception {
-      String testString = "<ns1:parent xmlns:ns1=\"abc\">\n" +
-     "  <ns1:child xmlns=\"def\">\n" +
-     "     <ns2:nestedChild xmlns:ns2=\"def\"/>\n" +
-     "  </ns1:child>\n" +
-     "</ns1:parent>";
-      
-      Document doc = DOMUtils.parse(new ByteArrayInputStream(testString.getBytes()));
-      Document doc2 = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-      Node node = doc.getFirstChild();
-      Node clonedNode = DOMUtils.cloneNode(doc2, node);
-      
-      assertNotSame("DOM's are the same", doc, doc2);
-      String actualString = DOMUtils.domToString(clonedNode).replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n", "");
-      assertEquals("XML Result", testString, actualString);
-          
-  }
-  
-  /**
-   * A Saxon's DOM is read only. cloneNode should throw an UnsupportedOperationException.
-   * 
-   * @throws Exception
-   */
-  public void testCloneNodeSaxon() throws Exception {
-      String testString = "<ns1:parent xmlns:ns1=\"abc\">\n" +
-     "  <ns1:child xmlns=\"def\">\n" +
-     "     <ns2:nestedChild xmlns:ns2=\"def\"/>\n" +
-     "  </ns1:child>\n" +
-     "</ns1:parent>";
-      
-      Document doc = createSaxonDOM(testString);
-      
-      Node node = doc.getFirstChild();
-      try {
-          Node clonedNode = DOMUtils.cloneNode(doc, node);
-      } catch (UnsupportedOperationException ex) {
-          
-      }
-      
-    }
-    
-    public void testCloneNodeNewDocumentSaxon() throws Exception {
-        String testString = "<ns1:parent xmlns:ns1=\"abc\">\n" +
-       "  <ns1:child xmlns=\"def\">\n" +
-       "     <ns2:nestedChild xmlns:ns2=\"def\"/>\n" +
-       "  </ns1:child>\n" +
-       "</ns1:parent>";
-
-        String saxonString = "<ns1:parent xmlns:ns1=\"abc\">\n" +
-        "  <ns1:child xmlns=\"def\">\n" +
-        "     <nestedChild xmlns:ns2=\"def\"/>\n" +
-        "  </ns1:child>\n" +
-        "</ns1:parent>";
-        
-        Document doc = createSaxonDOM(testString);
-        Document doc2 = DOMUtils.newDocument();
-        Node node = doc.getFirstChild();
-        Node clonedNode = DOMUtils.cloneNode(doc2, node);
-        
-        assertNotSame("DOM's are the same", doc, doc2);
-        String actualString = DOMUtils.domToString(clonedNode).replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n", "");
-        assertEquals("XML Result", saxonString, actualString);
-            
-    }
-    
-    public void testSaxonXQueryResultValueClone() throws Exception {
-       String testString = "<test:test1 xmlns:test=\"http://test.org\">\n" +
-      "  <test:test2>asdf</test:test2>\n" +
-      "</test:test1>";
-       
-       Document doc = DOMUtils.parse(new ByteArrayInputStream(testString.getBytes()));
-       
-       XQDataSource ds = new SaxonXQDataSource();
-       XQConnection conn = ds.getConnection();
-       XQPreparedExpression exp = conn.prepareExpression(testString);
-       
-       XQResultSequence rs = exp.executeQuery();
-       rs.next();
-
-       XQItem xqitem = rs.getItem();
-       Node node = xqitem.getNode();
-       Node clonedNode = DOMUtils.cloneNode(DOMUtils.newDocument(), node);
-       assertNotNull(clonedNode);
-       
-    }
-    
-    
 
-    private Document createSaxonDOM(String testString)
-            throws ParserConfigurationException, SAXException, IOException {
-        System.setProperty(DOCUMENT_BUILDER_FACTORY, SAXON_DOM_DOCUMENT_BUILDER_FACTORY);
-        DocumentBuilderFactory factory = DocumentBuilderFactoryImpl.newInstance();
-        factory.setNamespaceAware(true);
-        DocumentBuilder saxonBuilder = factory.newDocumentBuilder();
-        Document doc = saxonBuilder.parse(new ByteArrayInputStream(testString.getBytes()));
-        return doc;
-    }
-    
 }