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 {