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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org