Pull up more common code in Processor constructors
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 19 Jun 2011 15:50:17 +0000 (15:50 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 19 Jun 2011 15:50:17 +0000 (15:50 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1137381 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/coyote/AbstractProcessor.java
java/org/apache/coyote/ajp/AbstractAjpProcessor.java
java/org/apache/coyote/ajp/AjpAprProcessor.java
java/org/apache/coyote/ajp/AjpNioProcessor.java
java/org/apache/coyote/ajp/AjpProcessor.java
java/org/apache/coyote/http11/AbstractHttp11Processor.java
java/org/apache/coyote/http11/Http11AprProcessor.java
java/org/apache/coyote/http11/Http11NioProcessor.java
java/org/apache/coyote/http11/Http11Processor.java

index 14e2ab1..92c6f8e 100644 (file)
@@ -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
      */
index 28c5db9..786a6a9 100644 (file)
@@ -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
 
 
index b75a6e8..833d415 100644 (file)
@@ -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
index 0a9e16e..85fbee5 100644 (file)
@@ -63,7 +63,6 @@ public class AjpNioProcessor extends AbstractAjpProcessor {
 
         super(packetSize, endpoint);
 
-        response.setHook(this);
         response.setOutputBuffer(new SocketOutputBuffer());
 
         pool = endpoint.getSelectorPool();
index 0b1a870..0a9d36b 100644 (file)
@@ -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
index ed3c8df..d7a38dc 100644 (file)
@@ -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() {
index 1c5ef3f..49a90a6 100644 (file)
@@ -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);
 
index 7811cc0..bb1fb2f 100644 (file)
@@ -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);
 
index 22b78cb..0fd5fae 100644 (file)
@@ -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);