Author: ieugen Date: Wed Dec 26 13:00:54 2012 New Revision: 1425895 URL: http://svn.apache.org/viewvc?rev=1425895&view=rev Log: MAILET-89 Applied patch - upgrade to apache httpclient 4.x
Modified: james/mailet/trunk/pom.xml james/mailet/trunk/standard/pom.xml james/mailet/trunk/standard/src/main/java/org/apache/james/mailet/standard/mailets/HeadersToHTTP.java james/mailet/trunk/standard/src/main/java/org/apache/james/mailet/standard/mailets/SerialiseToHTTP.java Modified: james/mailet/trunk/pom.xml URL: http://svn.apache.org/viewvc/james/mailet/trunk/pom.xml?rev=1425895&r1=1425894&r2=1425895&view=diff ============================================================================== --- james/mailet/trunk/pom.xml (original) +++ james/mailet/trunk/pom.xml Wed Dec 26 13:00:54 2012 @@ -24,7 +24,6 @@ <groupId>org.apache.james</groupId> <artifactId>james-project</artifactId> <version>1.8.1</version> - <relativePath /> </parent> <groupId>org.apache.james</groupId> @@ -47,7 +46,7 @@ <activation.version>1.1.1</activation.version> <bcmail-jdk16.version>1.46</bcmail-jdk16.version> <commons-collections.version>3.2.1</commons-collections.version> - <commons-httpclient.version>3.1</commons-httpclient.version> + <httpclient-osgi.version>4.2.2</httpclient-osgi.version> <!-- maven-mailetdocs-plugin artifacts --> <maven-artifact.version>3.0-alpha-1</maven-artifact.version> <maven-plugin-api.version>3.0.4</maven-plugin-api.version> @@ -119,9 +118,9 @@ <version>${commons-collections.version}</version> </dependency> <dependency> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> - <version>${commons-httpclient.version}</version> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient-osgi</artifactId> + <version>${httpclient-osgi.version}</version> </dependency> <dependency> <groupId>com.thoughtworks.qdox</groupId> Modified: james/mailet/trunk/standard/pom.xml URL: http://svn.apache.org/viewvc/james/mailet/trunk/standard/pom.xml?rev=1425895&r1=1425894&r2=1425895&view=diff ============================================================================== --- james/mailet/trunk/standard/pom.xml (original) +++ james/mailet/trunk/standard/pom.xml Wed Dec 26 13:00:54 2012 @@ -45,8 +45,8 @@ <artifactId>mail</artifactId> </dependency> <dependency> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient-osgi</artifactId> </dependency> <dependency> <groupId>org.apache.james</groupId> Modified: james/mailet/trunk/standard/src/main/java/org/apache/james/mailet/standard/mailets/HeadersToHTTP.java URL: http://svn.apache.org/viewvc/james/mailet/trunk/standard/src/main/java/org/apache/james/mailet/standard/mailets/HeadersToHTTP.java?rev=1425895&r1=1425894&r2=1425895&view=diff ============================================================================== --- james/mailet/trunk/standard/src/main/java/org/apache/james/mailet/standard/mailets/HeadersToHTTP.java (original) +++ james/mailet/trunk/standard/src/main/java/org/apache/james/mailet/standard/mailets/HeadersToHTTP.java Wed Dec 26 13:00:54 2012 @@ -18,22 +18,25 @@ ****************************************************************/ package org.apache.james.mailet.standard.mailets; +import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.params.BasicHttpParams; +import org.apache.http.params.HttpParams; +import org.apache.mailet.Mail; +import org.apache.mailet.base.GenericMailet; + +import javax.mail.MessagingException; +import javax.mail.internet.MimeMessage; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.util.HashSet; -import javax.mail.MessagingException; -import javax.mail.internet.MimeMessage; - -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.HttpException; -import org.apache.commons.httpclient.NameValuePair; -import org.apache.commons.httpclient.methods.PostMethod; -import org.apache.mailet.Mail; -import org.apache.mailet.base.GenericMailet; - /** * Serialise the email and pass it to an HTTP call * @@ -96,8 +99,6 @@ public class HeadersToHTTP extends Gener * @param mail * the mail being processed * - * @throws MessagingException - * if an error arises during message processing */ public void service(Mail mail) { try { @@ -133,29 +134,28 @@ public class HeadersToHTTP extends Gener } } - private String httpPost(HashSet<NameValuePair> pairs) throws HttpException, IOException { + private String httpPost(HashSet<NameValuePair> pairs) throws IOException { - HttpClient client = new HttpClient(); - PostMethod post = new PostMethod(url); + HttpClient client = new DefaultHttpClient(); + HttpPost post = new HttpPost(url); - post.setRequestBody(setToArray(pairs)); + post.setParams(extractParams(pairs)); - int statusCode = client.executeMethod(post); - String result = statusCode + ": " + post.getStatusLine().toString(); + HttpResponse clientResponse = client.execute(post); + String result = clientResponse.getStatusLine().getStatusCode() + ": " + clientResponse.getStatusLine(); log("HeadersToHTTP: " + result); - + + client.getConnectionManager().shutdown(); return result; } - private NameValuePair[] setToArray(HashSet<NameValuePair> pairs) { - NameValuePair[] r = new NameValuePair[pairs.size()]; - int i = 0; + private HttpParams extractParams(HashSet<NameValuePair> pairs) { + HttpParams params = new BasicHttpParams(); for(NameValuePair p : pairs) { - r[i] = p; - i = i + 1; + params.setParameter(p.getName(),p.getValue()); } - return r; + return params; } private HashSet<NameValuePair> getNameValuePairs(MimeMessage message) throws UnsupportedEncodingException, MessagingException { @@ -169,21 +169,21 @@ public class HeadersToHTTP extends Gener if (message!=null) { if (message.getSender()!=null) { - pairs.add( new NameValuePair( "from", message.getSender().toString() ) ); + pairs.add( new BasicNameValuePair( "from", message.getSender().toString() ) ); } if (message.getReplyTo()!=null) { - pairs.add( new NameValuePair( "reply_to", message.getReplyTo().toString() ) ); + pairs.add( new BasicNameValuePair( "reply_to", message.getReplyTo().toString() ) ); } if (message.getMessageID()!=null) { - pairs.add( new NameValuePair( "message_id", message.getMessageID() ) ); + pairs.add( new BasicNameValuePair( "message_id", message.getMessageID() ) ); } if (message.getSubject()!=null) { - pairs.add( new NameValuePair( "subject", message.getSubject() ) ); + pairs.add( new BasicNameValuePair( "subject", message.getSubject() ) ); } - pairs.add( new NameValuePair( "size", Integer.toString(message.getSize()) ) ); + pairs.add( new BasicNameValuePair( "size", Integer.toString(message.getSize()) ) ); } - pairs.add( new NameValuePair( parameterKey, parameterValue) ); + pairs.add( new BasicNameValuePair( parameterKey, parameterValue) ); return pairs; } Modified: james/mailet/trunk/standard/src/main/java/org/apache/james/mailet/standard/mailets/SerialiseToHTTP.java URL: http://svn.apache.org/viewvc/james/mailet/trunk/standard/src/main/java/org/apache/james/mailet/standard/mailets/SerialiseToHTTP.java?rev=1425895&r1=1425894&r2=1425895&view=diff ============================================================================== --- james/mailet/trunk/standard/src/main/java/org/apache/james/mailet/standard/mailets/SerialiseToHTTP.java (original) +++ james/mailet/trunk/standard/src/main/java/org/apache/james/mailet/standard/mailets/SerialiseToHTTP.java Wed Dec 26 13:00:54 2012 @@ -18,24 +18,27 @@ ****************************************************************/ package org.apache.james.mailet.standard.mailets; +import org.apache.http.HttpResponse; +import org.apache.http.HttpStatus; +import org.apache.http.NameValuePair; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.params.BasicHttpParams; +import org.apache.http.params.HttpParams; +import org.apache.mailet.Mail; +import org.apache.mailet.base.GenericMailet; + +import javax.mail.MessagingException; +import javax.mail.internet.MimeMessage; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; -import javax.mail.MessagingException; -import javax.mail.internet.MimeMessage; - -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.HttpException; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.NameValuePair; -import org.apache.commons.httpclient.methods.PostMethod; - -import org.apache.mailet.base.GenericMailet; -import org.apache.mailet.Mail; - /** * Serialise the email and pass it to an HTTP call * @@ -106,9 +109,7 @@ public class SerialiseToHTTP extends Gen * * @param mail * the mail being processed - * - * @throws MessagingException - * if an error arises during message processing + * */ public void service(Mail mail) { try { @@ -152,27 +153,25 @@ public class SerialiseToHTTP extends Gen private String httpPost(NameValuePair[] data) { - String response = null; - HttpClient client = new HttpClient(); - PostMethod post = new PostMethod(url); - + String response = null; + HttpClient client = new DefaultHttpClient(); + HttpPost post = new HttpPost(url); + HttpParams params = new BasicHttpParams(); if( data.length>1 && data[1]!=null ) { + params.setParameter(data[1].getName(),data[1].getValue()); log( data[1].getName() + "::" + data[1].getValue() ); } - post.setRequestBody(data); + post.setParams(params); try { - int statusCode = client.executeMethod(post); + HttpResponse clientResponse = client.execute(post); - if (statusCode != HttpStatus.SC_OK) { - log("POST failed: " + post.getStatusLine()); - response = post.getStatusLine().toString(); - }// else { - // byte[] responseBody = post.getResponseBody(); - // response = new String(responseBody); - //} + if (clientResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { + log("POST failed: " + clientResponse.getStatusLine()); + response = clientResponse.getStatusLine().toString(); + } - } catch (HttpException e) { + } catch (ClientProtocolException e) { log("Fatal protocol violation: " + e.getMessage()); response = "Fatal protocol violation: " + e.getMessage(); } catch (IOException e) { @@ -182,6 +181,7 @@ public class SerialiseToHTTP extends Gen post.releaseConnection(); } + client.getConnectionManager().shutdown(); return response; } @@ -192,10 +192,10 @@ public class SerialiseToHTTP extends Gen l = 2; } - NameValuePair[] data = new NameValuePair[l]; - data[0] = new NameValuePair( messageKeyName, message); + NameValuePair[] data = new BasicNameValuePair[l]; + data[0] = new BasicNameValuePair( messageKeyName, message); if (l==2) { - data[1] = new NameValuePair( parameterKey, parameterValue); + data[1] = new BasicNameValuePair( parameterKey, parameterValue); } return data; --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org