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

Reply via email to