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"/>


Reply via email to