Hi All, Since the link from the home page is to JIRA (and it seems to contain everything), I assume we are using JIRA.
s/Bugzilla/JIRA/g Otherwise, previous comments apply. I will try to keep an eye on Bugzilla for 1.2 issues (since people still seem to be posting there), and look into getting Bugzilla made read-only (to move people to JIRA). Regards, Andrew. -----Original Message----- From: Siegfried Goeschl [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 30, 2005 3:05 PM To: xmlrpc-dev@ws.apache.org Subject: Using JIRA or Bugzilla?! Hi Andrews, should JIRA or Bugzilla being used for patches and bugs?! Cheers, Siegfried Goeschl Andrew Evers wrote: >Hi Henri, > >I'm currently focusing on fixing up 1.2 (the stuff you saw on 2.0 was to >fix a bug, not to add a feature). I'm also not that au fait with the >CommonsHttpTransport stuff (that's Ryan's baby), so I am loathe to add >features without test cases. > >Can you provide some test cases that use your gzip functionality? > >Creating a bugzilla bug and attaching the patch and a test case to it is >a great way of making committer's lives easier (and getting your patch >accepted as a result ;). > >Regards, > >Andrew. > >-----Original Message----- >From: Henri Gomez [mailto:[EMAIL PROTECTED] >Sent: Wednesday, March 30, 2005 2:57 PM >To: xmlrpc-dev@ws.apache.org >Subject: Re: cvs commit: ws-xmlrpc/src/java/org/apache/xmlrpc >CommonsXmlRpcTransport.java DefaultXmlRpcTransport.java >LiteXmlRpcTransport.java XmlRpc.java XmlRpcClientWorker.java >XmlRpcTransport.java > >What about adding my fixes to support gzip compression ? > > >On 30 Mar 2005 11:19:18 -0000, [EMAIL PROTECTED] <[EMAIL PROTECTED]> >wrote: > > >>aevers 2005/03/30 03:19:18 >> >> Modified: src/java/org/apache/xmlrpc CommonsXmlRpcTransport.java >> DefaultXmlRpcTransport.java >> LiteXmlRpcTransport.java XmlRpc.java >> XmlRpcClientWorker.java XmlRpcTransport.java >> Log: >> Bug 20339: LiteXmlRpcTransport throws IOExcpetion 'socket closed' >> >> Fix general resource leaks regarding connections in client side >> transpot code. There is now an endClientRequest() in the >> XmlRpcTransport interface. Appropriate implementations have been >> filled in for all shipped transports. >> >> Passes all tests except Base64 (was already broken). Note, for >> tests to pass you must have commons-logging installed as >> it is used by commons-httpclient. >> >> PR: 20339 >> >> Revision Changes Path >> 1.3 +28 -10 >> >> >ws-xmlrpc/src/java/org/apache/xmlrpc/CommonsXmlRpcTransport.java > > >> Index: CommonsXmlRpcTransport.java >> =================================================================== >> RCS file: >> >> >/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/CommonsXmlRpcTransport.j a >va,v > > >> retrieving revision 1.2 >> retrieving revision 1.3 >> diff -u -r1.2 -r1.3 >> --- CommonsXmlRpcTransport.java 26 Dec 2003 16:57:51 -0000 >> >> >1.2 > > >> +++ CommonsXmlRpcTransport.java 30 Mar 2005 11:19:18 -0000 >> >> >1.3 > > >> @@ -76,20 +76,28 @@ >> * @version $Id$ >> * @since 1.2 >> */ >> -public class CommonsXmlRpcTransport implements XmlRpcTransport { >> +public class CommonsXmlRpcTransport implements XmlRpcTransport >> +{ >> >> + protected PostMethod method; >> + >> /** Creates a new instance of CommonsXmlRpcTransport */ >> - public CommonsXmlRpcTransport(URL url, HttpClient client) { >> + public CommonsXmlRpcTransport(URL url, HttpClient client) >> + { >> this.url = url; >> - if (client == null) { >> + if (client == null) >> + { >> HttpClient newClient = new HttpClient(); >> this.client = newClient; >> - } else { >> + } >> + else >> + { >> this.client = client; >> } >> } >> >> - public CommonsXmlRpcTransport(URL url) { >> + public CommonsXmlRpcTransport(URL url) >> + { >> this(url, null); >> } >> >> @@ -98,8 +106,9 @@ >> private final Header userAgentHeader = new Header("User-Agent", >> >> >XmlRpc.version); > > >> private boolean http11 = false; // defaults to HTTP 1.0 >> >> - public InputStream sendXmlRpc(byte[] request) throws >> >> >IOException, XmlRpcClientException { > > >> - PostMethod method = new PostMethod(url.toString()); >> + public InputStream sendXmlRpc(byte[] request) throws >> >> >IOException, XmlRpcClientException > > >> + { >> + method = new PostMethod(url.toString()); >> method.setHttp11(http11); >> method.setRequestHeader(new Header("Content-Type", >> >> >"text/xml")); > > >> method.setRequestHeader(userAgentHeader); >> @@ -112,11 +121,20 @@ >> return method.getResponseBodyAsStream(); >> } >> >> - public void setHttp11(boolean http11) { >> + public void setHttp11(boolean http11) >> + { >> this.http11 = http11; >> } >> >> - public void setUserAgent(String userAgent) { >> + public void setUserAgent(String userAgent) >> + { >> userAgentHeader.setValue(userAgent); >> } >> + >> + public void endClientRequest() >> + throws XmlRpcClientException >> + { >> + // Rlease connection resources >> + method.releaseConnection(); >> + } >> } >> >> 1.3 +16 -2 >> >> >ws-xmlrpc/src/java/org/apache/xmlrpc/DefaultXmlRpcTransport.java > > >> Index: DefaultXmlRpcTransport.java >> =================================================================== >> RCS file: >> >> >/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/DefaultXmlRpcTransport.j a >va,v > > >> retrieving revision 1.2 >> retrieving revision 1.3 >> diff -u -r1.2 -r1.3 >> --- DefaultXmlRpcTransport.java 29 Jan 2003 00:46:37 -0000 >> >> >1.2 > > >> +++ DefaultXmlRpcTransport.java 30 Mar 2005 11:19:18 -0000 >> >> >1.3 > > >> @@ -75,6 +75,7 @@ >> { >> protected URL url; >> protected String auth; >> + protected URLConnection con; >> >> /** >> * Create a new DefaultXmlRpcTransport with the specified URL >> >> >and basic > > >> @@ -104,7 +105,7 @@ >> public InputStream sendXmlRpc(byte [] request) >> throws IOException >> { >> - URLConnection con = url.openConnection(); >> + con = url.openConnection(); >> con.setDoInput(true); >> con.setDoOutput(true); >> con.setUseCaches(false); >> @@ -133,4 +134,17 @@ >> { >> auth = HttpUtil.encodeBasicAuthentication(user, password); >> } >> + >> + public void endClientRequest() >> + throws XmlRpcClientException >> + { >> + try >> + { >> + con.getInputStream().close(); >> + } >> + catch (Exception e) >> + { >> + throw new XmlRpcClientException("Exception closing >> >> >URLConnection", e); > > >> + } >> + } >> } >> >> 1.4 +10 -7 >> >> >ws-xmlrpc/src/java/org/apache/xmlrpc/LiteXmlRpcTransport.java > > >> Index: LiteXmlRpcTransport.java >> =================================================================== >> RCS file: >> >> >/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/LiteXmlRpcTransport.java , >v > > >> retrieving revision 1.3 >> retrieving revision 1.4 >> diff -u -r1.3 -r1.4 >> --- LiteXmlRpcTransport.java 1 May 2003 16:53:15 -0000 1.3 >> +++ LiteXmlRpcTransport.java 30 Mar 2005 11:19:18 -0000 1.4 >> @@ -147,12 +147,6 @@ >> } >> } >> >> - // eepalive is always false if XmlRpc.keepalive is >> >> >false > > >> - if (!keepalive) >> - { >> - closeConnection (); >> - } >> - >> return in; >> } >> catch (IOException iox) >> @@ -326,6 +320,15 @@ >> auth = HttpUtil.encodeBasicAuthentication(user, password); >> } >> >> + public void endClientRequest() >> + { >> + // eepalive is always false if XmlRpc.keepalive is false >> + if (!keepalive) >> + { >> + closeConnection (); >> + } >> + } >> + >> /** >> * >> * @return >> >> 1.38 +41 -2 >> >> >ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpc.java > > >> Index: XmlRpc.java >> =================================================================== >> RCS file: >> >> >/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpc.java,v > > >> retrieving revision 1.37 >> retrieving revision 1.38 >> diff -u -r1.37 -r1.38 >> --- XmlRpc.java 30 Jun 2004 06:11:55 -0000 1.37 >> +++ XmlRpc.java 30 Mar 2005 11:19:18 -0000 1.38 >> @@ -56,6 +56,7 @@ >> */ >> >> import java.io.InputStream; >> +import java.io.InputStreamReader; >> import java.util.Hashtable; >> import java.util.Stack; >> import java.util.Vector; >> @@ -188,6 +189,15 @@ >> */ >> static String encoding = XmlWriter.ISO8859_1; >> >> + /** >> + * Java's name for the input encoding we're using. Defaults to >> + * <code>null</code>, signifying the platform default. This may >> + * need to be overridden on platforms where the default >> >> >encoding > > >> + * is not compatible with ASCII (eg. EBCDIC) but the network is >> + * still ASCII-like. >> + */ >> + static String inputEncoding = null; >> + >> private TypeFactory typeFactory; >> >> /** >> @@ -342,6 +352,28 @@ >> } >> >> /** >> + * Set the input encoding of the XML. >> + * This is used only if set. >> + * >> + * @param enc The Java name of the encoding. >> + */ >> + public static void setInputEncoding(String enc) >> + { >> + inputEncoding = enc; >> + } >> + >> + /** >> + * Return the input encoding. This may be null. This is always >> >> >a > > >> + * Java encoding name, it is not transformed. >> + * >> + * @return the Java encoding name to use, if set, otherwise >> >> >null. > > >> + */ >> + public static String getInputEncoding () >> + { >> + return inputEncoding; >> + } >> + >> + /** >> * Gets the maximum number of threads used at any given moment. >> */ >> public static int getMaxThreads() >> @@ -440,7 +472,14 @@ >> } >> try >> { >> - parser.parse(new InputSource (is)); >> + if(inputEncoding == null) >> + { >> + parser.parse(new InputSource (is)); >> + } >> + else >> + { >> + parser.parse( new InputSource( new >> >> >InputStreamReader(is, inputEncoding))); > > >> + } >> } >> finally >> { >> >> 1.2 +8 -0 >> >> >ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpcClientWorker.java > > >> Index: XmlRpcClientWorker.java >> =================================================================== >> RCS file: >> >> >/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpcClientWorker.java, v > > >> retrieving revision 1.1 >> retrieving revision 1.2 >> diff -u -r1.1 -r1.2 >> --- XmlRpcClientWorker.java 5 Dec 2002 08:49:24 -0000 1.1 >> +++ XmlRpcClientWorker.java 30 Mar 2005 11:19:18 -0000 1.2 >> @@ -136,6 +136,14 @@ >> System.out.println("Spent " + >> >> >(System.currentTimeMillis() - now) > > >> + " millis in >> >> >request/process/response"); > > >> } >> + try >> + { >> + transport.endClientRequest(); >> + } >> + catch (RuntimeException re) >> + { >> + throw new XmlRpcClientException("Transport >> >> >exception in endClientRequest()", re); > > >> + } >> } >> } >> >> 1.2 +19 -1 >> >> >ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpcTransport.java > > >> Index: XmlRpcTransport.java >> =================================================================== >> RCS file: >> >> >/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpcTransport.java,v > > >> retrieving revision 1.1 >> retrieving revision 1.2 >> diff -u -r1.1 -r1.2 >> --- XmlRpcTransport.java 5 Dec 2002 08:49:24 -0000 1.1 >> +++ XmlRpcTransport.java 30 Mar 2005 11:19:18 -0000 1.2 >> @@ -68,6 +68,24 @@ >> */ >> public interface XmlRpcTransport >> { >> + /** >> + * Send an XML-RPC message. This method is called to send a >> >> >message to the > > >> + * other party. >> + * >> + * @param request the request in network encoding. >> + * >> + * @throws IOException if an IOException occurs in the IO level >> >> >of the transport. > > >> + * @throws XmlRpcClientException if an exception occurs in the >> >> >transport. > > >> + */ >> public InputStream sendXmlRpc(byte [] request) >> throws IOException, XmlRpcClientException; >> + >> + /** >> + * End an XML-RPC request. This method is called by the >> >> >XmlRpcClient when then > > >> + * request has been sent and the response (or an exception) >> >> >recieved. > > >> + * >> + * @throws XmlRpcClientException if an exception occurs in the >> >> >transport. > > >> + */ >> + public void endClientRequest() >> + throws XmlRpcClientException; >> } >> >> >> >> > > >