You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2017/01/03 15:28:08 UTC

svn commit: r1777142 - in /tomcat/trunk: java/org/apache/catalina/connector/ test/org/apache/catalina/authenticator/ test/org/apache/catalina/connector/ test/org/apache/catalina/core/ test/org/apache/catalina/filters/ test/org/apache/catalina/realm/ te...

Author: markt
Date: Tue Jan  3 15:28:08 2017
New Revision: 1777142

URL: http://svn.apache.org/viewvc?rev=1777142&view=rev
Log:
Refactor to make Connector required when creating a Request.

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/Connector.java
    tomcat/trunk/java/org/apache/catalina/connector/Request.java
    tomcat/trunk/test/org/apache/catalina/authenticator/TesterDigestAuthenticatorPerformance.java
    tomcat/trunk/test/org/apache/catalina/connector/TestResponse.java
    tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java
    tomcat/trunk/test/org/apache/catalina/filters/TestRemoteIpFilter.java
    tomcat/trunk/test/org/apache/catalina/realm/TestRealmBase.java
    tomcat/trunk/test/org/apache/catalina/valves/TestRemoteIpValve.java
    tomcat/trunk/test/org/apache/catalina/valves/TestRequestFilterValve.java
    tomcat/trunk/test/org/apache/tomcat/unittest/TesterRequest.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=1777142&r1=1777141&r2=1777142&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Tue Jan  3 15:28:08 2017
@@ -824,11 +824,8 @@ public class Connector extends Lifecycle
      * @return a new Servlet request object
      */
     public Request createRequest() {
-
-        Request request = new Request();
-        request.setConnector(this);
-        return (request);
-
+        Request request = new Request(this);
+        return request;
     }
 
 

Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1777142&r1=1777141&r2=1777142&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Tue Jan  3 15:28:08 2017
@@ -125,10 +125,17 @@ public class Request implements HttpServ
 
     private static final Log log = LogFactory.getLog(Request.class);
 
-    // ----------------------------------------------------------- Constructors
-
+    /**
+     * Create a new Request object associated with the given Connector.
+     *
+     * @param connector The Connector with which this Request object will always
+     *                  be associated. In normal usage this must be non-null. In
+     *                  some test scenarios, it may be possible to use a null
+     *                  Connector without triggering an NPE.
+     */
+    public Request(Connector connector) {
+        this.connector = connector;
 
-    public Request() {
         formats = new SimpleDateFormat[formatsTemplate.length];
         for(int i = 0; i < formats.length; i++) {
             formats[i] = (SimpleDateFormat) formatsTemplate[i].clone();
@@ -545,7 +552,7 @@ public class Request implements HttpServ
     /**
      * Associated Catalina connector.
      */
-    protected Connector connector;
+    protected final Connector connector;
 
     /**
      * @return the Connector through which this Request was received.
@@ -554,15 +561,6 @@ public class Request implements HttpServ
         return this.connector;
     }
 
-    /**
-     * Set the Connector through which this Request was received.
-     *
-     * @param connector The new connector
-     */
-    public void setConnector(Connector connector) {
-        this.connector = connector;
-    }
-
 
     /**
      * Return the Context within which this Request is being processed.

Modified: tomcat/trunk/test/org/apache/catalina/authenticator/TesterDigestAuthenticatorPerformance.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/authenticator/TesterDigestAuthenticatorPerformance.java?rev=1777142&r1=1777141&r2=1777142&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/authenticator/TesterDigestAuthenticatorPerformance.java (original)
+++ tomcat/trunk/test/org/apache/catalina/authenticator/TesterDigestAuthenticatorPerformance.java Tue Jan  3 15:28:08 2017
@@ -249,6 +249,10 @@ public class TesterDigestAuthenticatorPe
 
         private String authHeader = null;
 
+        public TesterDigestRequest() {
+            super(null);
+        }
+
         @Override
         public String getRemoteAddr() {
             return "127.0.0.1";

Modified: tomcat/trunk/test/org/apache/catalina/connector/TestResponse.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/connector/TestResponse.java?rev=1777142&r1=1777141&r2=1777142&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/connector/TestResponse.java (original)
+++ tomcat/trunk/test/org/apache/catalina/connector/TestResponse.java Tue Jan  3 15:28:08 2017
@@ -603,7 +603,7 @@ public class TestResponse extends Tomcat
         Response response = new Response();
         response.setConnector(connector);
         response.setCoyoteResponse(cResponse);
-        Request request = new Request();
+        Request request = new Request(connector);
         org.apache.coyote.Request cRequest = new org.apache.coyote.Request();
         request.setCoyoteRequest(cRequest);
         Context context = new TesterContext();

Modified: tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java?rev=1777142&r1=1777141&r2=1777142&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java (original)
+++ tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java Tue Jan  3 15:28:08 2017
@@ -2470,7 +2470,7 @@ public class TestAsyncContextImpl extend
         };
         final Context context = new TesterContext();
         final Response response = new Response();
-        final Request request = new Request();
+        final Request request = new Request(null);
         request.setCoyoteRequest(new org.apache.coyote.Request());
         request.getMappingData().context = context;
         final AsyncContextImpl ac = new AsyncContextImpl(request);

Modified: tomcat/trunk/test/org/apache/catalina/filters/TestRemoteIpFilter.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/filters/TestRemoteIpFilter.java?rev=1777142&r1=1777141&r2=1777142&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/filters/TestRemoteIpFilter.java (original)
+++ tomcat/trunk/test/org/apache/catalina/filters/TestRemoteIpFilter.java Tue Jan  3 15:28:08 2017
@@ -115,9 +115,8 @@ public class TestRemoteIpFilter extends
      */
     public static class MockHttpServletRequest extends Request {
         public MockHttpServletRequest() {
-            super();
+            super(new Connector());
             setCoyoteRequest(new org.apache.coyote.Request());
-            setConnector(new Connector());
         }
 
         public void setHeader(String name, String value) {

Modified: tomcat/trunk/test/org/apache/catalina/realm/TestRealmBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/realm/TestRealmBase.java?rev=1777142&r1=1777141&r2=1777142&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/realm/TestRealmBase.java (original)
+++ tomcat/trunk/test/org/apache/catalina/realm/TestRealmBase.java Tue Jan  3 15:28:08 2017
@@ -614,7 +614,7 @@ public class TestRealmBase {
                 new SecurityConstraint[] { constraintOne, constraintTwo };
 
         // Set up the mock request and response
-        Request request = new Request();
+        Request request = new Request(null);
         Response response = new TesterResponse();
         Context context = new TesterContext();
         for (String applicationRole : applicationRoles) {

Modified: tomcat/trunk/test/org/apache/catalina/valves/TestRemoteIpValve.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/valves/TestRemoteIpValve.java?rev=1777142&r1=1777141&r2=1777142&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/valves/TestRemoteIpValve.java (original)
+++ tomcat/trunk/test/org/apache/catalina/valves/TestRemoteIpValve.java Tue Jan  3 15:28:08 2017
@@ -92,6 +92,11 @@ public class TestRemoteIpValve {
     }
 
     public static class MockRequest extends Request {
+
+        public MockRequest() {
+            super(null);
+        }
+
         @Override
         public void setAttribute(String name, Object value) {
             getCoyoteRequest().getAttributes().put(name, value);

Modified: tomcat/trunk/test/org/apache/catalina/valves/TestRequestFilterValve.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/valves/TestRequestFilterValve.java?rev=1777142&r1=1777141&r2=1777142&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/valves/TestRequestFilterValve.java (original)
+++ tomcat/trunk/test/org/apache/catalina/valves/TestRequestFilterValve.java Tue Jan  3 15:28:08 2017
@@ -88,13 +88,12 @@ public class TestRequestFilterValve {
         RequestFilterValve valve = null;
         Connector connector = new Connector();
         Context context = new StandardContext();
-        Request request = new Request();
+        Request request = new Request(connector);
         Response response = new MockResponse();
         StringBuilder msg = new StringBuilder();
         int expected = allowed ? OK : FORBIDDEN;
 
         connector.setPort(PORT);
-        request.setConnector(connector);
         request.getMappingData().context = context;
         request.setCoyoteRequest(new org.apache.coyote.Request());
 

Modified: tomcat/trunk/test/org/apache/tomcat/unittest/TesterRequest.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/unittest/TesterRequest.java?rev=1777142&r1=1777141&r2=1777142&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/unittest/TesterRequest.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/unittest/TesterRequest.java Tue Jan  3 15:28:08 2017
@@ -44,6 +44,7 @@ public class TesterRequest extends Reque
 
 
     public TesterRequest(boolean withSession) {
+        super(null);
         context = new TesterContext();
         servletContext = new TesterServletContext();
         context.setServletContext(servletContext);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org