Author: jochen Date: Wed May 10 04:36:24 2006 New Revision: 405718 URL: http://svn.apache.org/viewcvs?rev=405718&view=rev Log: Made XmlWriter public and added a FAQ, which demonstrates how to use a customized XmlWriter.
Modified: webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/changes.xml webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClient.java webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClientRequestProcessor.java webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcResponseProcessor.java webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlWriter.java webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/site/site.xml Modified: webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/changes.xml URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/changes.xml?rev=405718&r1=405717&r2=405718&view=diff ============================================================================== --- webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/changes.xml (original) +++ webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/changes.xml Wed May 10 04:36:24 2006 @@ -12,6 +12,10 @@ </action> <action dev="jochen" type="enhancement" issue="XMLRPC-40"> Made the maximum number of async workers configurable. + </action> + <action dev="jochen" type="enhancement" issue="XMLRPC-42"> + Made XMLWriter public and added methods for supplying a custom + XMLWriter. </action> </release> <release version="2.0.1" date="28-Dec-2005"> Modified: webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClient.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClient.java?rev=405718&r1=405717&r2=405718&view=diff ============================================================================== --- webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClient.java (original) +++ webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClient.java Wed May 10 04:36:24 2006 @@ -352,10 +352,17 @@ { workers += 1; } - return new XmlRpcClientWorker(getTimeZone()); + return newXmlRpcClientWorker(); } throw new IOException("XML-RPC System overload"); } + } + + /** Creates and returns a new instance of [EMAIL PROTECTED] XmlRpcClientWorker}. + * You should overwrite this method, if you want a custom worker. + */ + protected XmlRpcClientWorker newXmlRpcClientWorker() { + return new XmlRpcClientWorker(getTimeZone()); } TimeZone tz; Modified: webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClientRequestProcessor.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClientRequestProcessor.java?rev=405718&r1=405717&r2=405718&view=diff ============================================================================== --- webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClientRequestProcessor.java (original) +++ webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClientRequestProcessor.java Wed May 10 04:36:24 2006 @@ -20,6 +20,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.util.TimeZone; /** @@ -55,7 +56,7 @@ { XmlWriter writer; - writer = new XmlWriter(out, encoding); + writer = newXMLWriter(encoding, out); writer.dateTool.setTimeZone(tz); writer.startElement("methodCall"); writer.startElement("methodName"); @@ -80,6 +81,13 @@ writer.endElement("params"); writer.endElement("methodCall"); writer.flush(); + } + + /** Creates and returns a new instance of [EMAIL PROTECTED] XmlWriter}. You should + * overwrite this method, if you need a custom writer. + */ + protected XmlWriter newXMLWriter(String encoding, OutputStream out) throws UnsupportedEncodingException { + return new XmlWriter(out, encoding); } /** Modified: webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcResponseProcessor.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcResponseProcessor.java?rev=405718&r1=405717&r2=405718&view=diff ============================================================================== --- webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcResponseProcessor.java (original) +++ webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcResponseProcessor.java Wed May 10 04:36:24 2006 @@ -62,7 +62,7 @@ try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - XmlWriter writer = new XmlWriter(buffer, encoding); + XmlWriter writer = newXMLWriter(encoding, buffer); writeResponse(responseParam, writer); writer.flush(); return buffer.toByteArray(); @@ -102,7 +102,7 @@ XmlWriter writer = null; try { - writer = new XmlWriter(buffer, encoding); + writer = newXMLWriter(encoding, buffer); } catch (UnsupportedEncodingException encx) { @@ -133,6 +133,13 @@ } return (writer != null ? buffer.toByteArray() : EMPTY_BYTE_ARRAY); + } + + /** Creates and returns a new instance of [EMAIL PROTECTED] XMLWriter}. You should + * overwrite this method, if you need a custom writer. + */ + protected XmlWriter newXMLWriter(String encoding, ByteArrayOutputStream buffer) throws UnsupportedEncodingException { + return new XmlWriter(buffer, encoding); } /** Modified: webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlWriter.java URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlWriter.java?rev=405718&r1=405717&r2=405718&view=diff ============================================================================== --- webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlWriter.java (original) +++ webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlWriter.java Wed May 10 04:36:24 2006 @@ -43,7 +43,7 @@ * @see <a href="http://www.xml.com/axml/testaxml.htm">Tim Bray's * Annotated XML Spec</a> */ -class XmlWriter extends OutputStreamWriter +public class XmlWriter extends OutputStreamWriter { // Various XML pieces. protected static final String PROLOG_START = "<?xml version=\"1.0"; Modified: webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/site/site.xml URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/site/site.xml?rev=405718&r1=405717&r2=405718&view=diff ============================================================================== --- webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/site/site.xml (original) +++ webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/site/site.xml Wed May 10 04:36:24 2006 @@ -18,6 +18,7 @@ <item name="Server Side XML-RPC" href="/server.html"/> <item name="XML-RPC Types" href="/types.html"/> <item name="XML Parsers" href="/parser.html"/> + <item name="FAQ" href="/faq.html"/> </menu> <menu name="Resources"> <item name="Download" href="/download.html"/>