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/15 08:17:24 UTC

svn commit: r1743890 - in /webservices/axiom/trunk/aspects: core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ om-aspects/src/main/java/org/apache/axiom/om/impl/stream/stax/

Author: veithen
Date: Sun May 15 08:17:23 2016
New Revision: 1743890

URL: http://svn.apache.org/viewvc?rev=1743890&view=rev
Log:
Implement XMLStreamWriter.writeDTD.

Modified:
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/ToStream.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/stax/XmlHandlerStreamWriter.java

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java?rev=1743890&r1=1743889&r2=1743890&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java Sun May 15 08:17:23 2016
@@ -26,6 +26,7 @@ import java.util.Stack;
 import org.apache.axiom.core.CharacterData;
 import org.apache.axiom.core.stream.StreamException;
 import org.apache.axiom.core.stream.XmlHandler;
+import org.apache.axiom.core.stream.serializer.writer.UnmappableCharacterHandler;
 
 public class SerializerXmlHandler implements XmlHandler {
     private final ToXMLStream serializer;
@@ -194,4 +195,8 @@ public class SerializerXmlHandler implem
     public void flushBuffer() throws StreamException {
         serializer.flushBuffer();
     }
+
+    public void writeRaw(String s, UnmappableCharacterHandler unmappableCharacterHandler) throws StreamException {
+        serializer.writeRaw(s, unmappableCharacterHandler);
+    }
 }

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=1743890&r1=1743889&r2=1743890&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 Sun May 15 08:17:23 2016
@@ -33,6 +33,7 @@ import javax.xml.transform.OutputKeys;
 import org.apache.axiom.core.stream.StreamException;
 import org.apache.axiom.core.stream.serializer.utils.MsgKey;
 import org.apache.axiom.core.stream.serializer.utils.Utils;
+import org.apache.axiom.core.stream.serializer.writer.UnmappableCharacterHandler;
 import org.apache.axiom.core.stream.serializer.writer.WriterXmlWriter;
 import org.apache.axiom.core.stream.serializer.writer.XmlWriter;
 
@@ -1245,8 +1246,6 @@ abstract public class ToStream extends S
             {
                 writer.write('>');
             }
-
-            writer.write(m_lineSep, 0, m_lineSepLen);
         }
         catch (IOException e)
         {
@@ -1496,4 +1495,14 @@ abstract public class ToStream extends S
         m_lineSep = eolChars;
         m_lineSepLen = eolChars.length;
     }
+
+    public void writeRaw(String s, UnmappableCharacterHandler unmappableCharacterHandler) throws StreamException {
+        try {
+            m_writer.setUnmappableCharacterHandler(unmappableCharacterHandler);
+            m_writer.write(s);
+            m_writer.setUnmappableCharacterHandler(context.getUnmappableCharacterHandler());
+        } catch (IOException ex) {
+            throw new StreamException(ex);
+        }
+    }
 }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/stax/XmlHandlerStreamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/stax/XmlHandlerStreamWriter.java?rev=1743890&r1=1743889&r2=1743890&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/stax/XmlHandlerStreamWriter.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/stax/XmlHandlerStreamWriter.java Sun May 15 08:17:23 2016
@@ -26,6 +26,7 @@ import javax.xml.stream.XMLStreamExcepti
 import org.apache.axiom.core.stream.StreamException;
 import org.apache.axiom.core.stream.XmlHandler;
 import org.apache.axiom.core.stream.serializer.SerializerXmlHandler;
+import org.apache.axiom.core.stream.serializer.writer.UnmappableCharacterHandler;
 import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
 import org.apache.axiom.ext.stax.datahandler.DataHandlerWriter;
 import org.apache.axiom.om.OMConstants;
@@ -94,7 +95,15 @@ public class XmlHandlerStreamWriter exte
     }
 
     protected void doWriteDTD(String dtd) throws XMLStreamException {
-        throw new UnsupportedOperationException();
+        if (handler instanceof SerializerXmlHandler) {
+            try {
+                ((SerializerXmlHandler)handler).writeRaw(dtd, UnmappableCharacterHandler.CONVERT_TO_CHARACTER_REFERENCE);
+            } catch (StreamException ex) {
+                throw toXMLStreamException(ex);
+            }
+        } else {
+            throw new UnsupportedOperationException();
+        }
     }
 
     protected void doWriteStartElement(String prefix, String localName, String namespaceURI) throws XMLStreamException {