You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2010/03/04 21:42:03 UTC

svn commit: r919168 - in /httpcomponents/httpcore/trunk/httpcore-nio/src: main/java/org/apache/http/impl/nio/ main/java/org/apache/http/impl/nio/codecs/ main/java/org/apache/http/nio/ test/java/org/apache/http/impl/nio/codecs/

Author: olegk
Date: Thu Mar  4 20:42:03 2010
New Revision: 919168

URL: http://svn.apache.org/viewvc?rev=919168&view=rev
Log:
Generified NHttpMessageWriter and NHttpMessageParser

Added:
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.java
      - copied, changed from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.java
      - copied, changed from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.java
      - copied, changed from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.java
      - copied, changed from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java
Modified:
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageWriter.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageParser.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageWriter.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestHttpMessageParser.java

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java Thu Mar  4 20:42:03 2010
@@ -35,8 +35,8 @@
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpResponseFactory;
-import org.apache.http.impl.nio.codecs.HttpRequestWriter;
-import org.apache.http.impl.nio.codecs.HttpResponseParser;
+import org.apache.http.impl.nio.codecs.DefaultHttpRequestWriter;
+import org.apache.http.impl.nio.codecs.DefaultHttpResponseParser;
 import org.apache.http.nio.NHttpClientConnection;
 import org.apache.http.nio.NHttpClientIOTarget;
 import org.apache.http.nio.NHttpClientHandler;
@@ -66,8 +66,8 @@
 public class DefaultNHttpClientConnection 
     extends NHttpConnectionBase implements NHttpClientIOTarget {
 
-    protected final NHttpMessageParser responseParser;
-    protected final NHttpMessageWriter requestWriter;
+    protected final NHttpMessageParser<HttpResponse> responseParser;
+    protected final NHttpMessageWriter<HttpRequest> requestWriter;
     
     /**
      * Creates a new instance of this class given the underlying I/O session.
@@ -102,12 +102,12 @@
      * 
      * @return HTTP response parser.
      */
-    protected NHttpMessageParser createResponseParser(
+    protected NHttpMessageParser<HttpResponse> createResponseParser(
             final SessionInputBuffer buffer,
             final HttpResponseFactory responseFactory,
             final HttpParams params) {
         // override in derived class to specify a line parser
-        return new HttpResponseParser(buffer, null, responseFactory, params);
+        return new DefaultHttpResponseParser(buffer, null, responseFactory, params);
     }
 
     /**
@@ -119,11 +119,11 @@
      * 
      * @return HTTP response parser.
      */
-    protected NHttpMessageWriter createRequestWriter(
+    protected NHttpMessageWriter<HttpRequest> createRequestWriter(
             final SessionOutputBuffer buffer,
             final HttpParams params) {
         // override in derived class to specify a line formatter
-        return new HttpRequestWriter(buffer, null, params);
+        return new DefaultHttpRequestWriter(buffer, null, params);
     }
     
     public void resetInput() {

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java Thu Mar  4 20:42:03 2010
@@ -35,8 +35,8 @@
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpRequestFactory;
 import org.apache.http.HttpResponse;
-import org.apache.http.impl.nio.codecs.HttpRequestParser;
-import org.apache.http.impl.nio.codecs.HttpResponseWriter;
+import org.apache.http.impl.nio.codecs.DefaultHttpRequestParser;
+import org.apache.http.impl.nio.codecs.DefaultHttpResponseWriter;
 import org.apache.http.nio.NHttpMessageParser;
 import org.apache.http.nio.NHttpMessageWriter;
 import org.apache.http.nio.NHttpServerConnection;
@@ -66,8 +66,8 @@
 public class DefaultNHttpServerConnection 
     extends NHttpConnectionBase implements NHttpServerIOTarget {
 
-    protected final NHttpMessageParser requestParser;
-    protected final NHttpMessageWriter responseWriter;
+    protected final NHttpMessageParser<HttpRequest> requestParser;
+    protected final NHttpMessageWriter<HttpResponse> responseWriter;
     
     /**
      * Creates a new instance of this class given the underlying I/O session.
@@ -99,12 +99,12 @@
      * 
      * @return HTTP response parser.
      */
-    protected NHttpMessageParser createRequestParser(
+    protected NHttpMessageParser<HttpRequest> createRequestParser(
             final SessionInputBuffer buffer,
             final HttpRequestFactory requestFactory,
             final HttpParams params) {
         // override in derived class to specify a line parser
-        return new HttpRequestParser(buffer, null, requestFactory, params);
+        return new DefaultHttpRequestParser(buffer, null, requestFactory, params);
     }
     
     /**
@@ -117,11 +117,11 @@
      * 
      * @return HTTP response parser.
      */
-    protected NHttpMessageWriter createResponseWriter(
+    protected NHttpMessageWriter<HttpResponse> createResponseWriter(
             final SessionOutputBuffer buffer,
             final HttpParams params) {
         // override in derived class to specify a line formatter
-        return new HttpResponseWriter(buffer, null, params);
+        return new DefaultHttpResponseWriter(buffer, null, params);
     }
     
     public void resetInput() {

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java Thu Mar  4 20:42:03 2010
@@ -57,7 +57,7 @@
  *
  * @since 4.0
  */
-public abstract class AbstractMessageParser implements NHttpMessageParser {
+public abstract class AbstractMessageParser<T extends HttpMessage> implements NHttpMessageParser<T> {
     
     private final SessionInputBuffer sessionBuffer;    
     
@@ -68,7 +68,7 @@
     private int state;
     private boolean endOfStream;
 
-    private HttpMessage message;
+    private T message;
     private CharArrayBuffer lineBuf;
     private final List<CharArrayBuffer> headerBufs;
 
@@ -126,7 +126,7 @@
      * @throws HttpException in case of HTTP protocol violation
      * @throws ParseException in case of a parse error.
      */
-    protected abstract HttpMessage createMessage(CharArrayBuffer buffer) 
+    protected abstract T createMessage(CharArrayBuffer buffer) 
         throws HttpException, ParseException;
     
     private void parseHeadLine() throws HttpException, ParseException {
@@ -159,7 +159,7 @@
         }
     }
 
-    public HttpMessage parse() throws IOException, HttpException {
+    public T parse() throws IOException, HttpException {
         while (this.state != COMPLETED) {
             if (this.lineBuf == null) {
                 this.lineBuf = new CharArrayBuffer(64);

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageWriter.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageWriter.java Thu Mar  4 20:42:03 2010
@@ -46,7 +46,7 @@
  *
  * @since 4.0
  */
-public abstract class AbstractMessageWriter implements NHttpMessageWriter {
+public abstract class AbstractMessageWriter<T extends HttpMessage> implements NHttpMessageWriter<T> {
     
     protected final SessionOutputBuffer sessionBuffer;    
     protected final CharArrayBuffer lineBuf;
@@ -81,11 +81,9 @@
      * @param message HTTP message.
      * @throws HttpException in case of HTTP protocol violation
      */
-    protected abstract void writeHeadLine(HttpMessage message)
-        throws IOException;
+    protected abstract void writeHeadLine(T message) throws IOException;
 
-    public void write(
-            final HttpMessage message) throws IOException, HttpException {
+    public void write(final T message) throws IOException, HttpException {
         if (message == null) {
             throw new IllegalArgumentException("HTTP message may not be null");
         }

Copied: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.java (from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java)
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.java?p2=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.java&p1=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java&r1=918628&r2=919168&rev=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.java Thu Mar  4 20:42:03 2010
@@ -28,7 +28,6 @@
 package org.apache.http.impl.nio.codecs;
 
 import org.apache.http.HttpException;
-import org.apache.http.HttpMessage;
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpRequestFactory;
 import org.apache.http.RequestLine;
@@ -50,13 +49,13 @@
  *  <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_LINE_LENGTH}</li>
  * </ul>
  *
- * @since 4.0
+ * @since 4.1
  */
-public class HttpRequestParser extends AbstractMessageParser {
+public class DefaultHttpRequestParser extends AbstractMessageParser<HttpRequest> {
     
     private final HttpRequestFactory requestFactory;
     
-    public HttpRequestParser(
+    public DefaultHttpRequestParser(
             final SessionInputBuffer buffer, 
             final LineParser parser,
             final HttpRequestFactory requestFactory,
@@ -69,7 +68,7 @@
     }
 
     @Override
-    protected HttpMessage createMessage(final CharArrayBuffer buffer) 
+    protected HttpRequest createMessage(final CharArrayBuffer buffer) 
             throws HttpException, ParseException {
         ParserCursor cursor = new ParserCursor(0, buffer.length());
         RequestLine requestLine = lineParser.parseRequestLine(buffer, cursor);

Copied: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.java (from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java)
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.java?p2=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.java&p1=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java&r1=918628&r2=919168&rev=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.java Thu Mar  4 20:42:03 2010
@@ -29,7 +29,6 @@
 
 import java.io.IOException;
 
-import org.apache.http.HttpMessage;
 import org.apache.http.HttpRequest;
 import org.apache.http.message.LineFormatter;
 import org.apache.http.nio.NHttpMessageWriter;
@@ -40,22 +39,20 @@
 /**
  * Default {@link NHttpMessageWriter} implementation for {@link HttpRequest}s.
  *
- * @since 4.0
+ * @since 4.1
  */
-public class HttpRequestWriter extends AbstractMessageWriter {
+public class DefaultHttpRequestWriter extends AbstractMessageWriter<HttpRequest> {
 
-    public HttpRequestWriter(final SessionOutputBuffer buffer,
+    public DefaultHttpRequestWriter(final SessionOutputBuffer buffer,
                              final LineFormatter formatter,
                              final HttpParams params) {
         super(buffer, formatter, params);
     }
     
     @Override
-    protected void writeHeadLine(final HttpMessage message)
-        throws IOException {
-
-        final CharArrayBuffer buffer = lineFormatter.formatRequestLine
-            (this.lineBuf, ((HttpRequest) message).getRequestLine());
+    protected void writeHeadLine(final HttpRequest message) throws IOException {
+        CharArrayBuffer buffer = lineFormatter.formatRequestLine(
+                this.lineBuf, message.getRequestLine());
         this.sessionBuffer.writeLine(buffer);
     }
 

Copied: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.java (from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java)
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.java?p2=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.java&p1=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java&r1=918628&r2=919168&rev=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.java Thu Mar  4 20:42:03 2010
@@ -28,7 +28,6 @@
 package org.apache.http.impl.nio.codecs;
 
 import org.apache.http.HttpException;
-import org.apache.http.HttpMessage;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpResponseFactory;
 import org.apache.http.StatusLine;
@@ -50,13 +49,13 @@
  *  <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_LINE_LENGTH}</li>
  * </ul>
  *
- * @since 4.0
+ * @since 4.1
  */
-public class HttpResponseParser extends AbstractMessageParser {
+public class DefaultHttpResponseParser extends AbstractMessageParser<HttpResponse> {
     
     private final HttpResponseFactory responseFactory;
     
-    public HttpResponseParser(
+    public DefaultHttpResponseParser(
             final SessionInputBuffer buffer,
             final LineParser parser,
             final HttpResponseFactory responseFactory,
@@ -69,7 +68,7 @@
     }
 
     @Override
-    protected HttpMessage createMessage(final CharArrayBuffer buffer) 
+    protected HttpResponse createMessage(final CharArrayBuffer buffer) 
             throws HttpException, ParseException {
         ParserCursor cursor = new ParserCursor(0, buffer.length());
         StatusLine statusline = lineParser.parseStatusLine(buffer, cursor);

Copied: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.java (from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java)
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.java?p2=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.java&p1=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java&r1=918628&r2=919168&rev=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.java Thu Mar  4 20:42:03 2010
@@ -29,7 +29,6 @@
 
 import java.io.IOException;
 
-import org.apache.http.HttpMessage;
 import org.apache.http.HttpResponse;
 import org.apache.http.message.LineFormatter;
 import org.apache.http.nio.NHttpMessageWriter;
@@ -40,22 +39,20 @@
 /**
  * Default {@link NHttpMessageWriter} implementation for {@link HttpResponse}s.
  *
- * @since 4.0
+ * @since 4.1
  */
-public class HttpResponseWriter extends AbstractMessageWriter {
+public class DefaultHttpResponseWriter extends AbstractMessageWriter<HttpResponse> {
 
-    public HttpResponseWriter(final SessionOutputBuffer buffer,
+    public DefaultHttpResponseWriter(final SessionOutputBuffer buffer,
                               final LineFormatter formatter,
                               final HttpParams params) {
         super(buffer, formatter, params);
     }
     
     @Override
-    protected void writeHeadLine(final HttpMessage message)
-        throws IOException {
-
-        final CharArrayBuffer buffer = lineFormatter.formatStatusLine
-            (this.lineBuf, ((HttpResponse) message).getStatusLine());
+    protected void writeHeadLine(final HttpResponse message) throws IOException {
+        CharArrayBuffer buffer = lineFormatter.formatStatusLine(
+                this.lineBuf, message.getStatusLine());
         this.sessionBuffer.writeLine(buffer);
     }
 

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java Thu Mar  4 20:42:03 2010
@@ -51,7 +51,11 @@
  * </ul>
  *
  * @since 4.0
+ * 
+ * @deprecated use {@link DefaultHttpRequestParser}
  */
+@SuppressWarnings("unchecked")
+@Deprecated
 public class HttpRequestParser extends AbstractMessageParser {
     
     private final HttpRequestFactory requestFactory;

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java Thu Mar  4 20:42:03 2010
@@ -41,7 +41,11 @@
  * Default {@link NHttpMessageWriter} implementation for {@link HttpRequest}s.
  *
  * @since 4.0
+ * 
+ * @deprecated use {@link DefaultHttpRequestWriter}
  */
+@SuppressWarnings("unchecked")
+@Deprecated
 public class HttpRequestWriter extends AbstractMessageWriter {
 
     public HttpRequestWriter(final SessionOutputBuffer buffer,

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java Thu Mar  4 20:42:03 2010
@@ -51,7 +51,11 @@
  * </ul>
  *
  * @since 4.0
+ * 
+ * @deprecated use {@link DefaultHttpResponseParser}
  */
+@SuppressWarnings("unchecked")
+@Deprecated
 public class HttpResponseParser extends AbstractMessageParser {
     
     private final HttpResponseFactory responseFactory;

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java Thu Mar  4 20:42:03 2010
@@ -41,7 +41,11 @@
  * Default {@link NHttpMessageWriter} implementation for {@link HttpResponse}s.
  *
  * @since 4.0
+ * 
+ * @deprecated use {@link DefaultHttpResponseWriter}
  */
+@SuppressWarnings("unchecked")
+@Deprecated
 public class HttpResponseWriter extends AbstractMessageWriter {
 
     public HttpResponseWriter(final SessionOutputBuffer buffer,

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageParser.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageParser.java Thu Mar  4 20:42:03 2010
@@ -38,7 +38,7 @@
  * 
  * @since 4.0
  */
-public interface NHttpMessageParser {
+public interface NHttpMessageParser<T extends HttpMessage> {
     
     /**
      * Resets the parser. The parser will be ready to start parsing another 
@@ -67,7 +67,6 @@
      * @throws HttpException in case the HTTP message is malformed or
      *  violates the HTTP protocol.
      */
-    HttpMessage parse()
-        throws IOException, HttpException;
+    T parse() throws IOException, HttpException;
 
 }

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageWriter.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageWriter.java Thu Mar  4 20:42:03 2010
@@ -37,7 +37,7 @@
  * 
  * @since 4.0
  */
-public interface NHttpMessageWriter {
+public interface NHttpMessageWriter<T extends HttpMessage> {
     
     /**
      * Resets the writer. The writer will be ready to start serializing another 
@@ -53,7 +53,6 @@
      * @throws HttpException in case the HTTP message is malformed or
      *  violates the HTTP protocol.
      */
-    void write(HttpMessage message)
-        throws IOException, HttpException;
+    void write(T message) throws IOException, HttpException;
     
 }

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestHttpMessageParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestHttpMessageParser.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestHttpMessageParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestHttpMessageParser.java Thu Mar  4 20:42:03 2010
@@ -40,11 +40,13 @@
 import org.apache.http.HttpException;
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpRequestFactory;
+import org.apache.http.HttpResponse;
 import org.apache.http.HttpResponseFactory;
 import org.apache.http.HttpVersion;
 import org.apache.http.impl.DefaultHttpRequestFactory;
 import org.apache.http.impl.DefaultHttpResponseFactory;
 import org.apache.http.impl.nio.reactor.SessionInputBufferImpl;
+import org.apache.http.nio.NHttpMessageParser;
 import org.apache.http.nio.reactor.SessionInputBuffer;
 import org.apache.http.params.BasicHttpParams;
 import org.apache.http.params.CoreConnectionPNames;
@@ -52,9 +54,6 @@
 
 /**
  * Simple tests for {@link AbstractMessageParser}.
- *
- * 
- * @version $Id$
  */
 public class TestHttpMessageParser extends TestCase {
 
@@ -89,7 +88,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         requestParser.fillBuffer(newChannel("GET /whatever HTTP/1.1\r\nSome header: stuff\r\n\r\n"));
         HttpRequest request = (HttpRequest) requestParser.parse();
         assertNotNull(request);
@@ -101,7 +100,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
 
         requestParser.fillBuffer(newChannel("GET /whatev"));
         HttpRequest request = (HttpRequest) requestParser.parse();
@@ -122,7 +121,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
 
         requestParser.fillBuffer(newChannel("GET /whatev"));
         HttpRequest request = (HttpRequest) requestParser.parse();
@@ -152,7 +151,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
 
         requestParser.fillBuffer(newChannel("GET /whatev"));
         HttpRequest request = (HttpRequest) requestParser.parse();
@@ -179,7 +178,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
 
         requestParser.fillBuffer(newChannel("GET /whatev"));
         HttpRequest request = (HttpRequest) requestParser.parse();
@@ -209,7 +208,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         
         ReadableByteChannel channel = newChannel("GET /whatever HTTP/1.0");
         requestParser.fillBuffer(channel);
@@ -223,7 +222,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         
         ReadableByteChannel channel = newChannel("GET /whatever HTTP/1.0\r\nHeader: whatever");
         requestParser.fillBuffer(channel);
@@ -238,7 +237,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         
         ReadableByteChannel channel = newChannel("GET garbage\r\n");
         requestParser.fillBuffer(channel);
@@ -254,7 +253,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpResponseFactory responseFactory = new DefaultHttpResponseFactory();
-        HttpResponseParser responseParser = new HttpResponseParser(inbuf, null, responseFactory, params);
+        NHttpMessageParser<HttpResponse> responseParser = new DefaultHttpResponseParser(inbuf, null, responseFactory, params);
         
         ReadableByteChannel channel = newChannel("HTTP 200 OK\r\n");
         responseParser.fillBuffer(channel);
@@ -270,7 +269,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpResponseFactory responseFactory = new DefaultHttpResponseFactory();
-        HttpResponseParser responseParser = new HttpResponseParser(inbuf, null, responseFactory, params);
+        NHttpMessageParser<HttpResponse> responseParser = new DefaultHttpResponseParser(inbuf, null, responseFactory, params);
         
         ReadableByteChannel channel = newChannel("HTTP/1.0 200 OK\r\nstuff\r\n\r\n");
         responseParser.fillBuffer(channel);
@@ -286,7 +285,7 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         
         ReadableByteChannel channel = newChannel("GET /whatever HTTP/1.0\r\nHeader: one\r\n\r\n");
         requestParser.fillBuffer(channel);
@@ -309,25 +308,25 @@
         HttpParams params = new BasicHttpParams();
         SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params); 
         try {
-            new HttpRequestParser(null, null, null, params);
+            new DefaultHttpRequestParser(null, null, null, params);
             fail("IllegalArgumentException should have been thrown");
         } catch (IllegalArgumentException ex) {
             // ignore
         }
         try {
-            new HttpRequestParser(inbuf, null, null, params);
+            new DefaultHttpRequestParser(inbuf, null, null, params);
             fail("IllegalArgumentException should have been thrown");
         } catch (IllegalArgumentException ex) {
             // ignore
         }
         try {
-            new HttpResponseParser(null, null, null, params);
+            new DefaultHttpResponseParser(null, null, null, params);
             fail("IllegalArgumentException should have been thrown");
         } catch (IllegalArgumentException ex) {
             // ignore
         }
         try {
-            new HttpResponseParser(inbuf, null, null, params);
+            new DefaultHttpResponseParser(inbuf, null, null, params);
             fail("IllegalArgumentException should have been thrown");
         } catch (IllegalArgumentException ex) {
             // ignore
@@ -340,13 +339,13 @@
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
 
         params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 0);
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         requestParser.fillBuffer(newChannel("GET /whatever HTTP/1.0\r\nHeader: one\r\n\r\n"));
         requestParser.parse();
         requestParser.reset();
 
         params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 15);
-        requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         try {
             requestParser.fillBuffer(newChannel("GET /loooooooooooooooong HTTP/1.0\r\nHeader: one\r\n\r\n"));
             requestParser.parse();
@@ -361,13 +360,13 @@
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
 
         params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 0);
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         requestParser.fillBuffer(newChannel("GET /whatever HTTP/1.0\r\nHeader: one\r\n\r\n"));
         requestParser.parse();
         requestParser.reset();
 
         params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 15);
-        requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         requestParser.fillBuffer(newChannel("GET / HTTP/1.0\r\nHeader: 9012345\r\n\r\n"));
         requestParser.parse();
         requestParser.reset();
@@ -386,7 +385,7 @@
 
         params.setIntParameter(CoreConnectionPNames.MAX_HEADER_COUNT, 2);
         params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 15);        
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         try {
             requestParser.fillBuffer(newChannel("GET / HTTP/1.0\r\nHeader: 9012345\r\n 23456789012345\r\n 23456789012345\r\n 23456789012345\r\n\r\n"));
             requestParser.parse();
@@ -401,7 +400,7 @@
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
 
         params.setIntParameter(CoreConnectionPNames.MAX_HEADER_COUNT, 2);
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         requestParser.fillBuffer(newChannel("GET /whatever HTTP/1.0\r\nHeader: one\r\nHeader: two\r\n\r\n"));
         requestParser.parse();
         requestParser.reset();
@@ -420,7 +419,7 @@
         HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
 
         params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 2);
-        HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+        NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
         ReadableByteChannel channel = newChannel("GET / HTTP/1.0\r\nHeader: one\r\n\r\n");
         assertEquals(2, requestParser.fillBuffer(channel));
         assertNull(requestParser.parse());