Author: thomas.diesler(a)jboss.com
Date: 2006-10-10 12:20:55 -0400 (Tue, 10 Oct 2006)
New Revision: 1193
Modified:
branches/jbossws-1.0/src/main/java/org/jboss/ws/utils/DOMWriter.java
branches/jbossws-1.0/src/test/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java
Log:
[JBWS-762] DOMUtils.parse skips peer comments on Document node
Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/utils/DOMWriter.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/utils/DOMWriter.java 2006-10-10
16:18:27 UTC (rev 1192)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/utils/DOMWriter.java 2006-10-10
16:20:55 UTC (rev 1193)
@@ -106,6 +106,13 @@
this.out = new PrintWriter(w);
}
+ public DOMWriter(Writer w, String charsetName)
+ {
+ this.out = new PrintWriter(w);
+ this.charsetName = charsetName;
+ this.writeXMLDeclaration = true;
+ }
+
public DOMWriter(OutputStream stream)
{
try
@@ -194,9 +201,9 @@
* Set wheter the XML declaration should be written.
* The default is false.
*/
- public DOMWriter setWriteXMLDeclaration(boolean writeXMLDeclaration)
+ public DOMWriter setWriteXMLDeclaration(boolean flag)
{
- this.writeXMLDeclaration = writeXMLDeclaration;
+ this.writeXMLDeclaration = flag;
return this;
}
@@ -223,7 +230,10 @@
if (charsetName != null)
out.print(" encoding='" + charsetName + "'");
- out.println("?>");
+ out.print("?>");
+ if (prettyprint)
+ out.println();
+
wroteXMLDeclaration = true;
}
Modified:
branches/jbossws-1.0/src/test/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java
===================================================================
---
branches/jbossws-1.0/src/test/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java 2006-10-10
16:18:27 UTC (rev 1192)
+++
branches/jbossws-1.0/src/test/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java 2006-10-10
16:20:55 UTC (rev 1193)
@@ -23,6 +23,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.StringWriter;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPMessage;
@@ -30,6 +31,7 @@
import org.jboss.test.ws.JBossWSTest;
import org.jboss.util.xml.DOMUtils;
import org.jboss.ws.utils.DOMWriter;
+import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
@@ -242,4 +244,24 @@
assertEquals(expStr, wasStr);
}
+
+ // [JBWS-762] DOMUtils.parse skips peer comments on Document node
+ public void testDocumentComments() throws Exception
+ {
+ String expStr =
+ "<?xml version='1.0' encoding='UTF-8'?>" +
+ "<!-- Some root comment -->" +
+ "<root>" +
+ "<!-- Some element comment -->" +
+ "<element>some value</element>" +
+ "</root>";
+
+
+ Document doc = DOMUtils.parse(expStr).getOwnerDocument();
+ StringWriter strwr = new StringWriter();
+ new DOMWriter(strwr, "UTF-8").print(doc);
+ String wasStr = strwr.toString();
+
+ assertEquals(expStr, wasStr);
+ }
}
Show replies by date