You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2017/01/16 14:09:55 UTC

svn commit: r1779032 - in /axis/axis2/java/core/trunk/modules/transport: http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/ http/src/org/apache/axis2/transport/http/impl/httpclient4/

Author: veithen
Date: Mon Jan 16 14:09:55 2017
New Revision: 1779032

URL: http://svn.apache.org/viewvc?rev=1779032&view=rev
Log:
Unify the Request implementations; for each HTTPClient version, they are essentially the same.

Added:
    axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestImpl.java
      - copied, changed from r1779031, axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestBase.java
    axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestImpl.java
      - copied, changed from r1779031, axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestBase.java
Removed:
    axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/DeleteRequest.java
    axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/GetRequest.java
    axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/PostRequest.java
    axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/PutRequest.java
    axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestBase.java
    axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/DeleteRequest.java
    axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/GetRequest.java
    axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/PostRequest.java
    axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/PutRequest.java
    axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestBase.java
Modified:
    axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/HTTPSenderImpl.java
    axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/HTTPSenderImpl.java

Modified: axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/HTTPSenderImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/HTTPSenderImpl.java?rev=1779032&r1=1779031&r2=1779032&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/HTTPSenderImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/HTTPSenderImpl.java Mon Jan 16 14:09:55 2017
@@ -64,6 +64,10 @@ import org.apache.commons.httpclient.Nam
 import org.apache.commons.httpclient.UsernamePasswordCredentials;
 import org.apache.commons.httpclient.auth.AuthPolicy;
 import org.apache.commons.httpclient.auth.AuthScope;
+import org.apache.commons.httpclient.methods.DeleteMethod;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.PutMethod;
 import org.apache.commons.httpclient.params.HttpMethodParams;
 import org.apache.commons.httpclient.protocol.Protocol;
 import org.apache.commons.logging.Log;
@@ -95,7 +99,7 @@ public class HTTPSenderImpl extends HTTP
     @Override
     protected Request prepareGet(final MessageContext msgContext, final URL url)
             throws AxisFault {
-        return new GetRequest(this, msgContext, url);
+        return new RequestImpl(this, msgContext, url, null, new GetMethod());
     }
 
     protected void cleanup(MessageContext msgContext, HttpMethod httpMmethod) {
@@ -118,7 +122,7 @@ public class HTTPSenderImpl extends HTTP
     @Override
     protected Request prepareDelete(final MessageContext msgContext, final URL url)
             throws AxisFault {
-        return new DeleteRequest(this, msgContext, url);
+        return new RequestImpl(this, msgContext, url, null, new DeleteMethod());
     }
 
     /**
@@ -134,7 +138,7 @@ public class HTTPSenderImpl extends HTTP
     @Override
     protected Request preparePost(final MessageContext msgContext, final URL url, AxisRequestEntity requestEntity)
             throws AxisFault {
-        return new PostRequest(this, msgContext, url, requestEntity);
+        return new RequestImpl(this, msgContext, url, requestEntity, new PostMethod());
     }
 
     /**
@@ -150,7 +154,7 @@ public class HTTPSenderImpl extends HTTP
     @Override
     protected Request preparePut(final MessageContext msgContext, final URL url, AxisRequestEntity requestEntity)
             throws AxisFault {
-        return new PutRequest(this, msgContext, url, requestEntity);
+        return new RequestImpl(this, msgContext, url, requestEntity, new PutMethod());
     }
 
     /**

Copied: axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestImpl.java (from r1779031, axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestBase.java)
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestImpl.java?p2=axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestImpl.java&p1=axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestBase.java&r1=1779031&r2=1779032&rev=1779032&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestBase.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestImpl.java Mon Jan 16 14:09:55 2017
@@ -18,6 +18,7 @@
  */
 package org.apache.axis2.transport.http.impl.httpclient3;
 
+import java.io.IOException;
 import java.net.URL;
 
 import org.apache.axis2.AxisFault;
@@ -29,15 +30,19 @@ import org.apache.commons.httpclient.Htt
 import org.apache.commons.httpclient.HttpMethodBase;
 import org.apache.commons.httpclient.HttpVersion;
 import org.apache.commons.httpclient.methods.EntityEnclosingMethod;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+final class RequestImpl implements Request {
+    private static final Log log = LogFactory.getLog(RequestImpl.class);
 
-abstract class RequestBase implements Request {
     protected final HTTPSenderImpl sender;
     protected final MessageContext msgContext;
     protected final URL url;
     protected final HttpMethodBase method;
     protected final HttpClient httpClient;
 
-    RequestBase(HTTPSenderImpl sender, MessageContext msgContext, URL url, AxisRequestEntity requestEntity, HttpMethodBase method) throws AxisFault {
+    RequestImpl(HTTPSenderImpl sender, MessageContext msgContext, URL url, AxisRequestEntity requestEntity, HttpMethodBase method) throws AxisFault {
         this.sender = sender;
         this.msgContext = msgContext;
         this.url = url;
@@ -62,4 +67,17 @@ abstract class RequestBase implements Re
     public void setHeader(String name, String value) {
         method.setRequestHeader(name, value);
     }
+
+    @Override
+    public void execute() throws AxisFault {
+        try {
+            sender.executeMethod(httpClient, msgContext, url, method);
+            sender.handleResponse(msgContext, method);
+        } catch (IOException e) {
+            log.info("Unable to send to url[" + url + "]", e);
+            throw AxisFault.makeFault(e);
+        } finally {
+            sender.cleanup(msgContext, method);
+        }
+    }
 }

Modified: axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/HTTPSenderImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/HTTPSenderImpl.java?rev=1779032&r1=1779031&r2=1779032&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/HTTPSenderImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/HTTPSenderImpl.java Mon Jan 16 14:09:55 2017
@@ -49,6 +49,10 @@ import org.apache.http.auth.Credentials;
 import org.apache.http.auth.NTCredentials;
 import org.apache.http.auth.UsernamePasswordCredentials;
 import org.apache.http.auth.params.AuthPNames;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
 import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.client.params.AuthPolicy;
 import org.apache.http.client.params.ClientPNames;
@@ -107,7 +111,7 @@ public class HTTPSenderImpl extends HTTP
     @Override
     protected Request prepareGet(final MessageContext msgContext, final URL url)
             throws AxisFault {
-        return new GetRequest(this, msgContext, url);
+        return new RequestImpl(this, msgContext, url, null, new HttpGet());
     }
 
     protected void cleanup(MessageContext msgContext, HttpResponse response) {
@@ -135,7 +139,7 @@ public class HTTPSenderImpl extends HTTP
     @Override
     protected Request prepareDelete(final MessageContext msgContext, final URL url)
             throws AxisFault {
-        return new DeleteRequest(this, msgContext, url);
+        return new RequestImpl(this, msgContext, url, null, new HttpDelete());
     }
 
     /**
@@ -148,7 +152,7 @@ public class HTTPSenderImpl extends HTTP
     @Override
     protected Request preparePost(final MessageContext msgContext, final URL url, AxisRequestEntity requestEntity)
             throws AxisFault {
-        return new PostRequest(this, msgContext, url, requestEntity);
+        return new RequestImpl(this, msgContext, url, requestEntity, new HttpPost());
     }
 
     /**
@@ -161,7 +165,7 @@ public class HTTPSenderImpl extends HTTP
     @Override
     protected Request preparePut(final MessageContext msgContext, final URL url, AxisRequestEntity requestEntity)
             throws AxisFault {
-        return new PutRequest(this, msgContext, url, requestEntity);
+        return new RequestImpl(this, msgContext, url, requestEntity, new HttpPut());
     }
 
     /**

Copied: axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestImpl.java (from r1779031, axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestBase.java)
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestImpl.java?p2=axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestImpl.java&p1=axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestBase.java&r1=1779031&r2=1779032&rev=1779032&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestBase.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestImpl.java Mon Jan 16 14:09:55 2017
@@ -18,6 +18,7 @@
  */
 package org.apache.axis2.transport.http.impl.httpclient4;
 
+import java.io.IOException;
 import java.net.URL;
 
 import org.apache.axis2.AxisFault;
@@ -25,20 +26,25 @@ import org.apache.axis2.context.MessageC
 import org.apache.axis2.transport.http.AxisRequestEntity;
 import org.apache.axis2.transport.http.HTTPConstants;
 import org.apache.axis2.transport.http.Request;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.http.HttpEntityEnclosingRequest;
+import org.apache.http.HttpResponse;
 import org.apache.http.HttpVersion;
 import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.impl.client.AbstractHttpClient;
 import org.apache.http.params.CoreProtocolPNames;
 
-abstract class RequestBase implements Request {
+final class RequestImpl implements Request {
+    private static final Log log = LogFactory.getLog(RequestImpl.class);
+    
     protected final HTTPSenderImpl sender;
     protected final MessageContext msgContext;
     protected final URL url;
     protected final HttpRequestBase method;
     protected final AbstractHttpClient httpClient;
 
-    RequestBase(HTTPSenderImpl sender, MessageContext msgContext, URL url, AxisRequestEntity requestEntity, HttpRequestBase method) throws AxisFault {
+    RequestImpl(HTTPSenderImpl sender, MessageContext msgContext, URL url, AxisRequestEntity requestEntity, HttpRequestBase method) throws AxisFault {
         this.sender = sender;
         this.msgContext = msgContext;
         this.url = url;
@@ -65,4 +71,18 @@ abstract class RequestBase implements Re
     public void setHeader(String name, String value) {
         method.setHeader(name, value);
     }
+
+    @Override
+    public void execute() throws AxisFault {
+        HttpResponse response = null;
+        try {
+            response = sender.executeMethod(httpClient, msgContext, url, method);
+            sender.handleResponse(msgContext, response);
+        } catch (IOException e) {
+            log.info("Unable to send to url[" + url + "]", e);
+            throw AxisFault.makeFault(e);
+        } finally {
+            sender.cleanup(msgContext, response);
+        }
+    }
 }