From 0e849d94a2463d88e03b55f1e73feb350fcb9aa8 Mon Sep 17 00:00:00 2001 From: markt Date: Sun, 19 Jun 2011 15:50:17 +0000 Subject: [PATCH] Pull up more common code in Processor constructors git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1137381 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/coyote/AbstractProcessor.java | 38 ++++++++++++++++++-- .../apache/coyote/ajp/AbstractAjpProcessor.java | 42 ---------------------- java/org/apache/coyote/ajp/AjpAprProcessor.java | 1 - java/org/apache/coyote/ajp/AjpNioProcessor.java | 1 - java/org/apache/coyote/ajp/AjpProcessor.java | 1 - .../coyote/http11/AbstractHttp11Processor.java | 33 ----------------- .../apache/coyote/http11/Http11AprProcessor.java | 6 ---- .../apache/coyote/http11/Http11NioProcessor.java | 6 ---- java/org/apache/coyote/http11/Http11Processor.java | 6 ---- 9 files changed, 35 insertions(+), 99 deletions(-) diff --git a/java/org/apache/coyote/AbstractProcessor.java b/java/org/apache/coyote/AbstractProcessor.java index 14e2ab13f..92c6f8e5f 100644 --- a/java/org/apache/coyote/AbstractProcessor.java +++ b/java/org/apache/coyote/AbstractProcessor.java @@ -26,15 +26,26 @@ import org.apache.tomcat.util.net.AbstractEndpoint; */ public abstract class AbstractProcessor implements ActionHook, Processor { - protected AbstractEndpoint endpoint; - protected Request request = null; - protected Response response = null; + protected Adapter adapter; + protected final AsyncStateMachine asyncStateMachine; + protected final AbstractEndpoint endpoint; + protected final Request request; + protected final Response response; public AbstractProcessor(AbstractEndpoint endpoint) { this.endpoint = endpoint; + asyncStateMachine = new AsyncStateMachine(this); + + request = new Request(); + + response = new Response(); + response.setHook(this); + request.setResponse(response); + } + /** * The endpoint receiving connections that are handled by this processor. */ @@ -51,6 +62,27 @@ public abstract class AbstractProcessor implements ActionHook, Processor { } + /** + * Set the associated adapter. + * + * @param adapter the new adapter + */ + public void setAdapter(Adapter adapter) { + this.adapter = adapter; + } + + + /** + * Get the associated adapter. + * + * @return the associated adapter + */ + public Adapter getAdapter() { + return adapter; + } + + + /* * Expose selected endpoint attributes through the processor */ diff --git a/java/org/apache/coyote/ajp/AbstractAjpProcessor.java b/java/org/apache/coyote/ajp/AbstractAjpProcessor.java index 28c5db93e..786a6a946 100644 --- a/java/org/apache/coyote/ajp/AbstractAjpProcessor.java +++ b/java/org/apache/coyote/ajp/AbstractAjpProcessor.java @@ -28,13 +28,10 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.apache.coyote.AbstractProcessor; import org.apache.coyote.ActionCode; -import org.apache.coyote.Adapter; import org.apache.coyote.AsyncContextCallback; -import org.apache.coyote.AsyncStateMachine; import org.apache.coyote.InputBuffer; import org.apache.coyote.Request; import org.apache.coyote.RequestInfo; -import org.apache.coyote.Response; import org.apache.juli.logging.Log; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.buf.ByteChunk; @@ -118,12 +115,6 @@ public abstract class AbstractAjpProcessor extends AbstractProcessor { /** - * Associated adapter. - */ - protected Adapter adapter = null; - - - /** * AJP packet size. */ protected int packetSize; @@ -210,12 +201,6 @@ public abstract class AbstractAjpProcessor extends AbstractProcessor { /** - * Track changes in state for async requests. - */ - protected AsyncStateMachine asyncStateMachine = new AsyncStateMachine(this); - - - /** * Bytes written to client for the current request */ protected long byteCount = 0; @@ -229,12 +214,8 @@ public abstract class AbstractAjpProcessor extends AbstractProcessor { this.packetSize = packetSize; - request = new Request(); request.setInputBuffer(new SocketInputBuffer()); - response = new Response(); - request.setResponse(response); - requestHeaderMessage = new AjpMessage(packetSize); responseHeaderMessage = new AjpMessage(packetSize); bodyMessage = new AjpMessage(packetSize); @@ -509,29 +490,6 @@ public abstract class AbstractAjpProcessor extends AbstractProcessor { byteCount = 0; } - // ------------------------------------------------------ Connector Methods - - - /** - * Set the associated adapter. - * - * @param adapter the new adapter - */ - public void setAdapter(Adapter adapter) { - this.adapter = adapter; - } - - - /** - * Get the associated adapter. - * - * @return the associated adapter - */ - public Adapter getAdapter() { - return adapter; - } - - // ------------------------------------------------------ Protected Methods diff --git a/java/org/apache/coyote/ajp/AjpAprProcessor.java b/java/org/apache/coyote/ajp/AjpAprProcessor.java index b75a6e823..833d41587 100644 --- a/java/org/apache/coyote/ajp/AjpAprProcessor.java +++ b/java/org/apache/coyote/ajp/AjpAprProcessor.java @@ -70,7 +70,6 @@ public class AjpAprProcessor extends AbstractAjpProcessor { super(packetSize, endpoint); - response.setHook(this); response.setOutputBuffer(new SocketOutputBuffer()); // Set the get body message buffer diff --git a/java/org/apache/coyote/ajp/AjpNioProcessor.java b/java/org/apache/coyote/ajp/AjpNioProcessor.java index 0a9e16e9c..85fbee5ad 100644 --- a/java/org/apache/coyote/ajp/AjpNioProcessor.java +++ b/java/org/apache/coyote/ajp/AjpNioProcessor.java @@ -63,7 +63,6 @@ public class AjpNioProcessor extends AbstractAjpProcessor { super(packetSize, endpoint); - response.setHook(this); response.setOutputBuffer(new SocketOutputBuffer()); pool = endpoint.getSelectorPool(); diff --git a/java/org/apache/coyote/ajp/AjpProcessor.java b/java/org/apache/coyote/ajp/AjpProcessor.java index 0b1a8704b..0a9d36bd0 100644 --- a/java/org/apache/coyote/ajp/AjpProcessor.java +++ b/java/org/apache/coyote/ajp/AjpProcessor.java @@ -69,7 +69,6 @@ public class AjpProcessor extends AbstractAjpProcessor { super(packetSize, endpoint); - response.setHook(this); response.setOutputBuffer(new SocketOutputBuffer()); // Set the get body message buffer diff --git a/java/org/apache/coyote/http11/AbstractHttp11Processor.java b/java/org/apache/coyote/http11/AbstractHttp11Processor.java index ed3c8dffb..d7a38dca0 100644 --- a/java/org/apache/coyote/http11/AbstractHttp11Processor.java +++ b/java/org/apache/coyote/http11/AbstractHttp11Processor.java @@ -23,9 +23,7 @@ import java.util.regex.Pattern; import org.apache.coyote.AbstractProcessor; import org.apache.coyote.ActionCode; -import org.apache.coyote.Adapter; import org.apache.coyote.AsyncContextCallback; -import org.apache.coyote.AsyncStateMachine; import org.apache.coyote.http11.filters.BufferedInputFilter; import org.apache.coyote.http11.filters.ChunkedInputFilter; import org.apache.coyote.http11.filters.ChunkedOutputFilter; @@ -62,11 +60,6 @@ public abstract class AbstractHttp11Processor extends AbstractProcessor { * are skipped when looking for pluggable filters. */ private int pluggableFilterIndex = Integer.MAX_VALUE; - - /** - * Associated adapter. - */ - protected Adapter adapter = null; /** @@ -219,12 +212,6 @@ public abstract class AbstractHttp11Processor extends AbstractProcessor { protected String server = null; - /** - * Track changes in state for async requests. - */ - protected AsyncStateMachine asyncStateMachine = new AsyncStateMachine(this); - - public AbstractHttp11Processor(AbstractEndpoint endpoint) { super(endpoint); } @@ -500,26 +487,6 @@ public abstract class AbstractHttp11Processor extends AbstractProcessor { /** - * Set the associated adapter. - * - * @param adapter the new adapter - */ - public void setAdapter(Adapter adapter) { - this.adapter = adapter; - } - - - /** - * Get the associated adapter. - * - * @return the associated adapter - */ - public Adapter getAdapter() { - return adapter; - } - - - /** * Check if the resource could be compressed, if the client supports it. */ private boolean isCompressable() { diff --git a/java/org/apache/coyote/http11/Http11AprProcessor.java b/java/org/apache/coyote/http11/Http11AprProcessor.java index 1c5ef3fde..49a90a620 100644 --- a/java/org/apache/coyote/http11/Http11AprProcessor.java +++ b/java/org/apache/coyote/http11/Http11AprProcessor.java @@ -25,9 +25,7 @@ import java.security.cert.X509Certificate; import java.util.Locale; import org.apache.coyote.ActionCode; -import org.apache.coyote.Request; import org.apache.coyote.RequestInfo; -import org.apache.coyote.Response; import org.apache.coyote.http11.filters.BufferedInputFilter; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; @@ -70,15 +68,11 @@ public class Http11AprProcessor extends AbstractHttp11Processor { super(endpoint); - request = new Request(); inputBuffer = new InternalAprInputBuffer(request, headerBufferSize); request.setInputBuffer(inputBuffer); - response = new Response(); - response.setHook(this); outputBuffer = new InternalAprOutputBuffer(response, headerBufferSize); response.setOutputBuffer(outputBuffer); - request.setResponse(response); initializeFilters(maxTrailerSize); diff --git a/java/org/apache/coyote/http11/Http11NioProcessor.java b/java/org/apache/coyote/http11/Http11NioProcessor.java index 7811cc056..bb1fb2f8a 100644 --- a/java/org/apache/coyote/http11/Http11NioProcessor.java +++ b/java/org/apache/coyote/http11/Http11NioProcessor.java @@ -25,9 +25,7 @@ import java.util.Locale; import javax.net.ssl.SSLEngine; import org.apache.coyote.ActionCode; -import org.apache.coyote.Request; import org.apache.coyote.RequestInfo; -import org.apache.coyote.Response; import org.apache.coyote.http11.filters.BufferedInputFilter; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; @@ -74,15 +72,11 @@ public class Http11NioProcessor extends AbstractHttp11Processor { super(endpoint); - request = new Request(); inputBuffer = new InternalNioInputBuffer(request, maxHttpHeaderSize); request.setInputBuffer(inputBuffer); - response = new Response(); - response.setHook(this); outputBuffer = new InternalNioOutputBuffer(response, maxHttpHeaderSize); response.setOutputBuffer(outputBuffer); - request.setResponse(response); initializeFilters(maxTrailerSize); diff --git a/java/org/apache/coyote/http11/Http11Processor.java b/java/org/apache/coyote/http11/Http11Processor.java index 22b78cb41..0fd5fae85 100644 --- a/java/org/apache/coyote/http11/Http11Processor.java +++ b/java/org/apache/coyote/http11/Http11Processor.java @@ -25,9 +25,7 @@ import java.net.Socket; import java.util.Locale; import org.apache.coyote.ActionCode; -import org.apache.coyote.Request; import org.apache.coyote.RequestInfo; -import org.apache.coyote.Response; import org.apache.coyote.http11.filters.BufferedInputFilter; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; @@ -65,15 +63,11 @@ public class Http11Processor extends AbstractHttp11Processor { super(endpoint); - request = new Request(); inputBuffer = new InternalInputBuffer(request, headerBufferSize); request.setInputBuffer(inputBuffer); - response = new Response(); - response.setHook(this); outputBuffer = new InternalOutputBuffer(response, headerBufferSize); response.setOutputBuffer(outputBuffer); - request.setResponse(response); initializeFilters(maxTrailerSize); -- 2.11.0