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: [email protected]
For additional commands, e-mail: [email protected]