You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2016/05/07 17:51:24 UTC
svn commit: r1742739 - in /webservices/axiom/trunk/aspects/core-aspects/src:
main/java/org/apache/axiom/core/stream/serializer/
test/java/org/apache/axiom/core/stream/serializer/
Author: veithen
Date: Sat May 7 17:51:23 2016
New Revision: 1742739
URL: http://svn.apache.org/viewvc?rev=1742739&view=rev
Log:
Only add an XML declaration when requested.
Modified:
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerBase.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToStream.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToXMLStream.java
webservices/axiom/trunk/aspects/core-aspects/src/test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerBase.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerBase.java?rev=1742739&r1=1742738&r2=1742739&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerBase.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerBase.java Sat May 7 17:51:23 2016
@@ -82,13 +82,6 @@ public abstract class SerializerBase
PKG_PATH = sb.toString();
}
-
-
- /**
- * true if we still need to call startDocumentInternal()
- */
- protected boolean m_needToCallStartDocument = true;
-
/** True if a trailing "]]>" still needs to be written to be
* written out. Used to merge adjacent CDATA sections
*/
@@ -769,7 +762,6 @@ public abstract class SerializerBase
// if we do get called with startDocument(), handle it right away
startDocumentInternal();
- m_needToCallStartDocument = false;
return;
}
@@ -837,7 +829,6 @@ public abstract class SerializerBase
this.m_inEntityRef = false;
this.m_inExternalDTD = false;
this.m_mediatype = null;
- this.m_needToCallStartDocument = true;
this.m_needToOutputDocTypeDecl = false;
if (m_OutputProps != null)
this.m_OutputProps.clear();
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToStream.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToStream.java?rev=1742739&r1=1742738&r2=1742739&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToStream.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToStream.java Sat May 7 17:51:23 2016
@@ -1336,11 +1336,6 @@ abstract public class ToStream extends S
m_docIsEmpty = false;
- if (m_needToCallStartDocument)
- {
- startDocumentInternal();
- }
-
if (m_cdataStartCalled)
{
/* either due to startCDATA() being called or due to
@@ -1809,13 +1804,7 @@ abstract public class ToStream extends S
if (m_inEntityRef)
return;
- if (m_needToCallStartDocument)
- {
- startDocumentInternal();
- m_needToCallStartDocument = false;
- m_docIsEmpty = false;
- }
- else if (m_cdataTagOpen)
+ if (m_cdataTagOpen)
closeCDATA();
try
{
@@ -2119,11 +2108,6 @@ abstract public class ToStream extends S
int start_old = start;
if (m_inEntityRef)
return;
- if (m_needToCallStartDocument)
- {
- startDocumentInternal();
- m_needToCallStartDocument = false;
- }
try
{
@@ -2409,12 +2393,6 @@ abstract public class ToStream extends S
*/
public void flushPending() throws StreamException
{
- if (m_needToCallStartDocument)
- {
- startDocumentInternal();
- m_needToCallStartDocument = false;
- }
-
if (m_cdataTagOpen)
{
closeCDATA();
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToXMLStream.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToXMLStream.java?rev=1742739&r1=1742738&r2=1742739&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToXMLStream.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToXMLStream.java Sat May 7 17:51:23 2016
@@ -107,69 +107,64 @@ public class ToXMLStream extends ToStrea
*/
public void startDocumentInternal() throws StreamException
{
+ super.startDocumentInternal();
- if (m_needToCallStartDocument)
- {
- super.startDocumentInternal();
- m_needToCallStartDocument = false;
-
- if (m_inEntityRef)
- return;
-
- m_needToOutputDocTypeDecl = true;
- m_startNewLine = false;
- /* The call to getXMLVersion() might emit an error message
- * and we should emit this message regardless of if we are
- * writing out an XML header or not.
- */
- final String version = getXMLVersion();
- if (getOmitXMLDeclaration() == false)
- {
- String encoding = Encodings.getMimeEncoding(getEncoding());
- String standalone;
-
- if (m_standaloneWasSpecified)
- {
- standalone = " standalone=\"" + getStandalone() + "\"";
- }
- else
- {
- standalone = "";
- }
+ if (m_inEntityRef)
+ return;
+
+ m_needToOutputDocTypeDecl = true;
+ m_startNewLine = false;
+ /* The call to getXMLVersion() might emit an error message
+ * and we should emit this message regardless of if we are
+ * writing out an XML header or not.
+ */
+ final String version = getXMLVersion();
+ if (getOmitXMLDeclaration() == false)
+ {
+ String encoding = Encodings.getMimeEncoding(getEncoding());
+ String standalone;
- try
- {
- final java.io.Writer writer = m_writer;
- writer.write("<?xml version=\"");
- writer.write(version);
- writer.write("\" encoding=\"");
- writer.write(encoding);
- writer.write('\"');
- writer.write(standalone);
- writer.write("?>");
- if (m_doIndent) {
- if (m_standaloneWasSpecified
- || getDoctypePublic() != null
- || getDoctypeSystem() != null) {
- // We almost never put a newline after the XML
- // header because this XML could be used as
- // an extenal general parsed entity
- // and we don't know the context into which it
- // will be used in the future. Only when
- // standalone, or a doctype system or public is
- // specified are we free to insert a new line
- // after the header. Is it even worth bothering
- // in these rare cases?
- writer.write(m_lineSep, 0, m_lineSepLen);
- }
+ if (m_standaloneWasSpecified)
+ {
+ standalone = " standalone=\"" + getStandalone() + "\"";
+ }
+ else
+ {
+ standalone = "";
+ }
+
+ try
+ {
+ final java.io.Writer writer = m_writer;
+ writer.write("<?xml version=\"");
+ writer.write(version);
+ writer.write("\" encoding=\"");
+ writer.write(encoding);
+ writer.write('\"');
+ writer.write(standalone);
+ writer.write("?>");
+ if (m_doIndent) {
+ if (m_standaloneWasSpecified
+ || getDoctypePublic() != null
+ || getDoctypeSystem() != null) {
+ // We almost never put a newline after the XML
+ // header because this XML could be used as
+ // an extenal general parsed entity
+ // and we don't know the context into which it
+ // will be used in the future. Only when
+ // standalone, or a doctype system or public is
+ // specified are we free to insert a new line
+ // after the header. Is it even worth bothering
+ // in these rare cases?
+ writer.write(m_lineSep, 0, m_lineSepLen);
}
- }
- catch(IOException e)
- {
- throw new StreamException(e);
}
-
+ }
+ catch(IOException e)
+ {
+ throw new StreamException(e);
}
+
}
}
@@ -265,9 +260,6 @@ public class ToXMLStream extends ToStrea
{
try
{
- if (m_needToCallStartDocument)
- startDocumentInternal();
-
if (shouldIndent())
indent();
Modified: webservices/axiom/trunk/aspects/core-aspects/src/test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java?rev=1742739&r1=1742738&r2=1742739&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java Sat May 7 17:51:23 2016
@@ -32,6 +32,6 @@ public class SerializerTest {
handler.startElement("", "test", "");
handler.attributesCompleted();
handler.endElement();
- assertThat(sw.toString()).containsMatch("<test ?/>");
+ assertThat(sw.toString()).matches("<test ?/>");
}
}