You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ri...@apache.org on 2012/02/29 21:06:54 UTC
svn commit: r1295247 - in /oodt/trunk/metadata/src:
main/java/org/apache/oodt/cas/metadata/SerializableMetadata.java
test/org/apache/oodt/cas/metadata/TestSerializableMetadata.java
Author: rickdn
Date: Wed Feb 29 20:06:54 2012
New Revision: 1295247
URL: http://svn.apache.org/viewvc?rev=1295247&view=rev
Log:
OODT-395 #resolve fixed Set the namespace and prefix when building the original DOM for metadata.
Modified:
oodt/trunk/metadata/src/main/java/org/apache/oodt/cas/metadata/SerializableMetadata.java
oodt/trunk/metadata/src/test/org/apache/oodt/cas/metadata/TestSerializableMetadata.java
Modified: oodt/trunk/metadata/src/main/java/org/apache/oodt/cas/metadata/SerializableMetadata.java
URL: http://svn.apache.org/viewvc/oodt/trunk/metadata/src/main/java/org/apache/oodt/cas/metadata/SerializableMetadata.java?rev=1295247&r1=1295246&r2=1295247&view=diff
==============================================================================
--- oodt/trunk/metadata/src/main/java/org/apache/oodt/cas/metadata/SerializableMetadata.java (original)
+++ oodt/trunk/metadata/src/main/java/org/apache/oodt/cas/metadata/SerializableMetadata.java Wed Feb 29 20:06:54 2012
@@ -170,8 +170,8 @@ public class SerializableMetadata extend
factory.setNamespaceAware(true);
Document document = factory.newDocumentBuilder().newDocument();
- Element root = (Element) document.createElement("cas:metadata");
- root.setAttribute("xmlns:cas", "http://oodt.jpl.nasa.gov/1.0/cas");
+ Element root = document.createElementNS("http://oodt.jpl.nasa.gov/1.0/cas", "metadata");
+ root.setPrefix("cas");
document.appendChild(root);
// now add the set of metadata elements in the properties object
Modified: oodt/trunk/metadata/src/test/org/apache/oodt/cas/metadata/TestSerializableMetadata.java
URL: http://svn.apache.org/viewvc/oodt/trunk/metadata/src/test/org/apache/oodt/cas/metadata/TestSerializableMetadata.java?rev=1295247&r1=1295246&r2=1295247&view=diff
==============================================================================
--- oodt/trunk/metadata/src/test/org/apache/oodt/cas/metadata/TestSerializableMetadata.java (original)
+++ oodt/trunk/metadata/src/test/org/apache/oodt/cas/metadata/TestSerializableMetadata.java Wed Feb 29 20:06:54 2012
@@ -15,7 +15,6 @@
package org.apache.oodt.cas.metadata;
-//JDK imports
import org.apache.oodt.commons.xml.XMLUtils;
import java.io.ByteArrayInputStream;
@@ -23,27 +22,32 @@ import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
-//JUnit imports
+import javax.xml.parsers.DocumentBuilderFactory;
+
import junit.framework.TestCase;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
/**
- *
- *
+ *
+ *
* Test class for SerializableMetadata.
- *
+ *
* @author bfoster
* @author mattmann
- *
+ *
*/
public class TestSerializableMetadata extends TestCase {
- private String[] encodings = new String[] { "UTF-8", "iso-8859-1",
+ private final String[] encodings = new String[] { "UTF-8", "iso-8859-1",
"windows-1252", "UTF-16", "US-ASCII" };
public TestSerializableMetadata() {
super();
}
+ @Override
protected void setUp() throws Exception {
super.setUp();
}
@@ -164,4 +168,36 @@ public class TestSerializableMetadata ex
assertNotNull(metadata2.getMetadata("Name2"));
assertEquals("Value2", metadata2.getMetadata("Name2"));
}
+
+ public void testNamespace() throws Exception {
+ SerializableMetadata metadata = new SerializableMetadata();
+ metadata.addMetadata("Name1", "Value1");
+ metadata.addMetadata("Name2", "Value2");
+
+ // write xml DOM to string
+ ByteArrayOutputStream array = new ByteArrayOutputStream();
+ metadata.writeMetadataToXmlStream(array);
+
+ // read string into new xml DOM
+ DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
+ f.setNamespaceAware(true);
+ Document doc = f.newDocumentBuilder().parse(new ByteArrayInputStream(array.toByteArray()));
+
+ final String NS = "http://oodt.jpl.nasa.gov/1.0/cas";
+ final String PREFIX = "cas";
+
+ // compare namespaces in DOM before and after the write/read operation
+ Element before = metadata.toXML().getDocumentElement();
+ String nsBefore = before.getNamespaceURI();
+ String preBefore = before.getPrefix();
+ assertEquals(NS, nsBefore);
+ assertEquals(PREFIX, preBefore);
+
+ Element after = doc.getDocumentElement();
+ String nsAfter = after.getNamespaceURI();
+ String preAfter = after.getPrefix();
+ assertEquals(NS, nsAfter);
+ assertEquals(PREFIX, preAfter);
+ }
+
}