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 2009/03/26 16:27:41 UTC

svn commit: r758682 - in /httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http: ./ impl/nio/reactor/ mockup/

Author: olegk
Date: Thu Mar 26 15:27:21 2009
New Revision: 758682

URL: http://svn.apache.org/viewvc?rev=758682&view=rev
Log:
More NIO test case cleanups

Removed:
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/RequestCount.java
Modified:
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/HttpCoreNIOSSLTestBase.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/HttpCoreNIOTestBase.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactors.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactorsSSL.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpClient.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLClient.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLServer.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpServer.java

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/HttpCoreNIOSSLTestBase.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/HttpCoreNIOSSLTestBase.java?rev=758682&r1=758681&r2=758682&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/HttpCoreNIOSSLTestBase.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/HttpCoreNIOSSLTestBase.java Thu Mar 26 15:27:21 2009
@@ -36,34 +36,13 @@
 
 import junit.framework.TestCase;
 
-import org.apache.http.impl.DefaultConnectionReuseStrategy;
-import org.apache.http.impl.DefaultHttpResponseFactory;
 import org.apache.http.impl.nio.reactor.ExceptionEvent;
-import org.apache.http.mockup.SimpleHttpRequestHandlerResolver;
 import org.apache.http.mockup.TestHttpSSLClient;
 import org.apache.http.mockup.TestHttpSSLServer;
-import org.apache.http.nio.NHttpClientHandler;
-import org.apache.http.nio.NHttpServiceHandler;
-import org.apache.http.nio.protocol.BufferingHttpClientHandler;
-import org.apache.http.nio.protocol.BufferingHttpServiceHandler;
-import org.apache.http.nio.protocol.EventListener;
-import org.apache.http.nio.protocol.HttpRequestExecutionHandler;
 import org.apache.http.params.BasicHttpParams;
 import org.apache.http.params.CoreConnectionPNames;
-import org.apache.http.params.HttpParams;
 import org.apache.http.params.CoreProtocolPNames;
-import org.apache.http.protocol.BasicHttpProcessor;
-import org.apache.http.protocol.HttpExpectationVerifier;
-import org.apache.http.protocol.HttpRequestHandler;
-import org.apache.http.protocol.RequestConnControl;
-import org.apache.http.protocol.RequestContent;
-import org.apache.http.protocol.RequestExpectContinue;
-import org.apache.http.protocol.RequestTargetHost;
-import org.apache.http.protocol.RequestUserAgent;
-import org.apache.http.protocol.ResponseConnControl;
-import org.apache.http.protocol.ResponseContent;
-import org.apache.http.protocol.ResponseDate;
-import org.apache.http.protocol.ResponseServer;
+import org.apache.http.params.HttpParams;
 
 /**
  * Base class for all HttpCore NIO tests
@@ -135,51 +114,4 @@
         }
     }
 
-    protected NHttpServiceHandler createHttpServiceHandler(
-            final HttpRequestHandler requestHandler,
-            final HttpExpectationVerifier expectationVerifier,
-            final EventListener eventListener) {
-        
-        BasicHttpProcessor httpproc = new BasicHttpProcessor();
-        httpproc.addInterceptor(new ResponseDate());
-        httpproc.addInterceptor(new ResponseServer());
-        httpproc.addInterceptor(new ResponseContent());
-        httpproc.addInterceptor(new ResponseConnControl());
-
-        BufferingHttpServiceHandler serviceHandler = new BufferingHttpServiceHandler(
-                httpproc,
-                new DefaultHttpResponseFactory(),
-                new DefaultConnectionReuseStrategy(),
-                this.server.getParams());
-
-        serviceHandler.setHandlerResolver(
-                new SimpleHttpRequestHandlerResolver(requestHandler));
-        serviceHandler.setExpectationVerifier(expectationVerifier);
-        serviceHandler.setEventListener(eventListener);
-        
-        return serviceHandler;
-    }
-    
-    protected NHttpClientHandler createHttpClientHandler(
-            final HttpRequestExecutionHandler requestExecutionHandler,
-            final EventListener eventListener) {
-        
-        BasicHttpProcessor httpproc = new BasicHttpProcessor();
-        httpproc.addInterceptor(new RequestContent());
-        httpproc.addInterceptor(new RequestTargetHost());
-        httpproc.addInterceptor(new RequestConnControl());
-        httpproc.addInterceptor(new RequestUserAgent());
-        httpproc.addInterceptor(new RequestExpectContinue());
-
-        BufferingHttpClientHandler clientHandler = new BufferingHttpClientHandler(
-                httpproc,
-                requestExecutionHandler,
-                new DefaultConnectionReuseStrategy(),
-                this.client.getParams());
-
-        clientHandler.setEventListener(eventListener);
-        
-        return clientHandler;
-    }
-    
 }

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/HttpCoreNIOTestBase.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/HttpCoreNIOTestBase.java?rev=758682&r1=758681&r2=758682&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/HttpCoreNIOTestBase.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/HttpCoreNIOTestBase.java Thu Mar 26 15:27:21 2009
@@ -35,34 +35,13 @@
 
 import junit.framework.TestCase;
 
-import org.apache.http.impl.DefaultConnectionReuseStrategy;
-import org.apache.http.impl.DefaultHttpResponseFactory;
 import org.apache.http.impl.nio.reactor.ExceptionEvent;
-import org.apache.http.mockup.SimpleHttpRequestHandlerResolver;
 import org.apache.http.mockup.TestHttpClient;
 import org.apache.http.mockup.TestHttpServer;
-import org.apache.http.nio.NHttpClientHandler;
-import org.apache.http.nio.NHttpServiceHandler;
-import org.apache.http.nio.protocol.BufferingHttpClientHandler;
-import org.apache.http.nio.protocol.BufferingHttpServiceHandler;
-import org.apache.http.nio.protocol.EventListener;
-import org.apache.http.nio.protocol.HttpRequestExecutionHandler;
 import org.apache.http.params.BasicHttpParams;
 import org.apache.http.params.CoreConnectionPNames;
-import org.apache.http.params.HttpParams;
 import org.apache.http.params.CoreProtocolPNames;
-import org.apache.http.protocol.BasicHttpProcessor;
-import org.apache.http.protocol.HttpExpectationVerifier;
-import org.apache.http.protocol.HttpRequestHandler;
-import org.apache.http.protocol.RequestConnControl;
-import org.apache.http.protocol.RequestContent;
-import org.apache.http.protocol.RequestExpectContinue;
-import org.apache.http.protocol.RequestTargetHost;
-import org.apache.http.protocol.RequestUserAgent;
-import org.apache.http.protocol.ResponseConnControl;
-import org.apache.http.protocol.ResponseContent;
-import org.apache.http.protocol.ResponseDate;
-import org.apache.http.protocol.ResponseServer;
+import org.apache.http.params.HttpParams;
 
 /**
  * Base class for all HttpCore NIO tests
@@ -134,51 +113,4 @@
         }
     }
 
-    protected NHttpServiceHandler createHttpServiceHandler(
-            final HttpRequestHandler requestHandler,
-            final HttpExpectationVerifier expectationVerifier,
-            final EventListener eventListener) {
-        
-        BasicHttpProcessor httpproc = new BasicHttpProcessor();
-        httpproc.addInterceptor(new ResponseDate());
-        httpproc.addInterceptor(new ResponseServer());
-        httpproc.addInterceptor(new ResponseContent());
-        httpproc.addInterceptor(new ResponseConnControl());
-
-        BufferingHttpServiceHandler serviceHandler = new BufferingHttpServiceHandler(
-                httpproc,
-                new DefaultHttpResponseFactory(),
-                new DefaultConnectionReuseStrategy(),
-                this.server.getParams());
-
-        serviceHandler.setHandlerResolver(
-                new SimpleHttpRequestHandlerResolver(requestHandler));
-        serviceHandler.setExpectationVerifier(expectationVerifier);
-        serviceHandler.setEventListener(eventListener);
-        
-        return serviceHandler;
-    }
-    
-    protected NHttpClientHandler createHttpClientHandler(
-            final HttpRequestExecutionHandler requestExecutionHandler,
-            final EventListener eventListener) {
-        
-        BasicHttpProcessor httpproc = new BasicHttpProcessor();
-        httpproc.addInterceptor(new RequestContent());
-        httpproc.addInterceptor(new RequestTargetHost());
-        httpproc.addInterceptor(new RequestConnControl());
-        httpproc.addInterceptor(new RequestUserAgent());
-        httpproc.addInterceptor(new RequestExpectContinue());
-
-        BufferingHttpClientHandler clientHandler = new BufferingHttpClientHandler(
-                httpproc,
-                requestExecutionHandler,
-                new DefaultConnectionReuseStrategy(),
-                this.client.getParams());
-
-        clientHandler.setEventListener(eventListener);
-        
-        return clientHandler;
-    }
-    
 }

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactors.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactors.java?rev=758682&r1=758681&r2=758682&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactors.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactors.java Thu Mar 26 15:27:21 2009
@@ -33,6 +33,8 @@
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
@@ -42,20 +44,34 @@
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpResponse;
 import org.apache.http.OoopsieRuntimeException;
+import org.apache.http.impl.DefaultConnectionReuseStrategy;
+import org.apache.http.impl.DefaultHttpResponseFactory;
 import org.apache.http.message.BasicHttpRequest;
-import org.apache.http.mockup.RequestCount;
 import org.apache.http.mockup.SimpleEventListener;
-import org.apache.http.nio.NHttpClientHandler;
+import org.apache.http.mockup.SimpleHttpRequestHandlerResolver;
 import org.apache.http.nio.NHttpConnection;
-import org.apache.http.nio.NHttpServiceHandler;
+import org.apache.http.nio.protocol.BufferingHttpClientHandler;
+import org.apache.http.nio.protocol.BufferingHttpServiceHandler;
 import org.apache.http.nio.protocol.EventListener;
 import org.apache.http.nio.protocol.HttpRequestExecutionHandler;
 import org.apache.http.nio.reactor.IOReactorException;
 import org.apache.http.nio.reactor.IOReactorExceptionHandler;
 import org.apache.http.nio.reactor.IOReactorStatus;
 import org.apache.http.nio.reactor.ListenerEndpoint;
+import org.apache.http.params.BasicHttpParams;
+import org.apache.http.params.HttpParams;
+import org.apache.http.protocol.BasicHttpProcessor;
 import org.apache.http.protocol.HttpContext;
 import org.apache.http.protocol.HttpRequestHandler;
+import org.apache.http.protocol.RequestConnControl;
+import org.apache.http.protocol.RequestContent;
+import org.apache.http.protocol.RequestExpectContinue;
+import org.apache.http.protocol.RequestTargetHost;
+import org.apache.http.protocol.RequestUserAgent;
+import org.apache.http.protocol.ResponseConnControl;
+import org.apache.http.protocol.ResponseContent;
+import org.apache.http.protocol.ResponseDate;
+import org.apache.http.protocol.ResponseServer;
 
 /**
  * Tests for basic I/O functionality.
@@ -88,9 +104,9 @@
         // they get cleanly closed upon shutdown
         
         final int connNo = 10;
-        final RequestCount requestConns = new RequestCount(connNo); 
-        final RequestCount closedServerConns = new RequestCount(connNo); 
-        final RequestCount closedClientConns = new RequestCount(connNo); 
+        final CountDownLatch requestConns = new CountDownLatch(connNo); 
+        final CountDownLatch closedServerConns = new CountDownLatch(connNo); 
+        final CountDownLatch closedClientConns = new CountDownLatch(connNo); 
         
         HttpRequestHandler requestHandler = new HttpRequestHandler() {
 
@@ -122,7 +138,7 @@
             }
             
             public void handleResponse(final HttpResponse response, final HttpContext context) {
-                requestConns.decrement();                    
+                requestConns.countDown();                    
             }
             
         };
@@ -131,35 +147,58 @@
 
             @Override
             public void connectionClosed(NHttpConnection conn) {
-                closedServerConns.decrement();
+                closedServerConns.countDown();
                 super.connectionClosed(conn);
             }
             
         };
         
-        NHttpServiceHandler serviceHandler = createHttpServiceHandler(
-                requestHandler, 
-                null,
+        BasicHttpProcessor serverHttpProc = new BasicHttpProcessor();
+        serverHttpProc.addInterceptor(new ResponseDate());
+        serverHttpProc.addInterceptor(new ResponseServer());
+        serverHttpProc.addInterceptor(new ResponseContent());
+        serverHttpProc.addInterceptor(new ResponseConnControl());
+
+        BufferingHttpServiceHandler serviceHandler = new BufferingHttpServiceHandler(
+                serverHttpProc,
+                new DefaultHttpResponseFactory(),
+                new DefaultConnectionReuseStrategy(),
+                this.server.getParams());
+
+        serviceHandler.setHandlerResolver(
+                new SimpleHttpRequestHandlerResolver(requestHandler));
+        serviceHandler.setEventListener(
                 serverEventListener);
-        
+
         EventListener clientEventListener = new SimpleEventListener() {
 
             @Override
             public void connectionClosed(NHttpConnection conn) {
-                closedClientConns.decrement();
+                closedClientConns.countDown();
                 super.connectionClosed(conn);
             }
             
         };
         
-        NHttpClientHandler clientHandler = createHttpClientHandler(
+        BasicHttpProcessor clientHttpProc = new BasicHttpProcessor();
+        clientHttpProc.addInterceptor(new RequestContent());
+        clientHttpProc.addInterceptor(new RequestTargetHost());
+        clientHttpProc.addInterceptor(new RequestConnControl());
+        clientHttpProc.addInterceptor(new RequestUserAgent());
+        clientHttpProc.addInterceptor(new RequestExpectContinue());
+
+        BufferingHttpClientHandler clientHandler = new BufferingHttpClientHandler(
+                clientHttpProc,
                 requestExecutionHandler,
-                clientEventListener);
+                new DefaultConnectionReuseStrategy(),
+                this.client.getParams());
 
+        clientHandler.setEventListener(
+                clientEventListener);
+        
         this.server.start(serviceHandler);
         this.client.start(clientHandler);
         
-        
         ListenerEndpoint endpoint = this.server.getListenerEndpoint();
         endpoint.waitFor();
         InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
@@ -170,17 +209,17 @@
                     null);
         }
      
-        requestConns.await(10000);
-        assertEquals(0, requestConns.getValue());
+        requestConns.await(10000, TimeUnit.MILLISECONDS);
+        assertEquals(0, requestConns.getCount());
      
         this.client.shutdown();
         this.server.shutdown();
         
-        closedClientConns.await(10000);
-        assertEquals(0, closedClientConns.getValue());
+        closedClientConns.await();
+        assertEquals(0, closedClientConns.getCount());
      
-        closedServerConns.await(10000);
-        assertEquals(0, closedServerConns.getValue());
+        closedServerConns.await();
+        assertEquals(0, closedServerConns.getCount());
     }
     
     public void testRuntimeException() throws Exception {
@@ -220,15 +259,39 @@
             
         };
      
-        NHttpServiceHandler serviceHandler = createHttpServiceHandler(
-                requestHandler, 
-                null,
+        BasicHttpProcessor serverHttpProc = new BasicHttpProcessor();
+        serverHttpProc.addInterceptor(new ResponseDate());
+        serverHttpProc.addInterceptor(new ResponseServer());
+        serverHttpProc.addInterceptor(new ResponseContent());
+        serverHttpProc.addInterceptor(new ResponseConnControl());
+
+        BufferingHttpServiceHandler serviceHandler = new BufferingHttpServiceHandler(
+                serverHttpProc,
+                new DefaultHttpResponseFactory(),
+                new DefaultConnectionReuseStrategy(),
+                this.server.getParams());
+
+        serviceHandler.setHandlerResolver(
+                new SimpleHttpRequestHandlerResolver(requestHandler));
+        serviceHandler.setEventListener(
                 new SimpleEventListener());
-        
-        NHttpClientHandler clientHandler = createHttpClientHandler(
+
+        BasicHttpProcessor clientHttpProc = new BasicHttpProcessor();
+        clientHttpProc.addInterceptor(new RequestContent());
+        clientHttpProc.addInterceptor(new RequestTargetHost());
+        clientHttpProc.addInterceptor(new RequestConnControl());
+        clientHttpProc.addInterceptor(new RequestUserAgent());
+        clientHttpProc.addInterceptor(new RequestExpectContinue());
+
+        BufferingHttpClientHandler clientHandler = new BufferingHttpClientHandler(
+                clientHttpProc,
                 requestExecutionHandler,
-                new SimpleEventListener());
+                new DefaultConnectionReuseStrategy(),
+                this.client.getParams());
 
+        clientHandler.setEventListener(
+                new SimpleEventListener());
+        
         this.server.start(serviceHandler);
         this.client.start(clientHandler);
         
@@ -261,8 +324,8 @@
 
     public void testUnhandledRuntimeException() throws Exception {
 
-        final RequestCount requestConns = new RequestCount(1); 
-        
+        final CountDownLatch requestConns = new CountDownLatch(1); 
+
         HttpRequestHandler requestHandler = new HttpRequestHandler() {
 
             public void handle(
@@ -305,23 +368,43 @@
             }
 
             public boolean handle(final RuntimeException ex) {
-                requestConns.decrement();                    
+                requestConns.countDown();                    
                 return false;
             }
           
         };
         
-        NHttpServiceHandler serviceHandler = createHttpServiceHandler(
-                requestHandler, 
-                null,
+        BasicHttpProcessor serverHttpProc = new BasicHttpProcessor();
+        serverHttpProc.addInterceptor(new ResponseDate());
+        serverHttpProc.addInterceptor(new ResponseServer());
+        serverHttpProc.addInterceptor(new ResponseContent());
+        serverHttpProc.addInterceptor(new ResponseConnControl());
+
+        BufferingHttpServiceHandler serviceHandler = new BufferingHttpServiceHandler(
+                serverHttpProc,
+                new DefaultHttpResponseFactory(),
+                new DefaultConnectionReuseStrategy(),
+                this.server.getParams());
+
+        serviceHandler.setHandlerResolver(
+                new SimpleHttpRequestHandlerResolver(requestHandler));
+        serviceHandler.setEventListener(
                 new SimpleEventListener());
-        
-        NHttpClientHandler clientHandler = createHttpClientHandler(
+
+        BasicHttpProcessor clientHttpProc = new BasicHttpProcessor();
+        clientHttpProc.addInterceptor(new RequestContent());
+        clientHttpProc.addInterceptor(new RequestTargetHost());
+        clientHttpProc.addInterceptor(new RequestConnControl());
+        clientHttpProc.addInterceptor(new RequestUserAgent());
+        clientHttpProc.addInterceptor(new RequestExpectContinue());
+
+        BufferingHttpClientHandler clientHandler = new BufferingHttpClientHandler(
+                clientHttpProc,
                 requestExecutionHandler,
-                new SimpleEventListener());
+                new DefaultConnectionReuseStrategy(),
+                this.client.getParams());
 
         this.server.setExceptionHandler(exceptionHandler);
-        
         this.server.start(serviceHandler);
         this.client.start(clientHandler);
         
@@ -333,8 +416,8 @@
                 new InetSocketAddress("localhost", serverAddress.getPort()), 
                 null);
      
-        requestConns.await(10000);
-        assertEquals(0, requestConns.getValue());
+        requestConns.await();
+        assertEquals(0, requestConns.getCount());
         
         this.server.join(20000);
         
@@ -357,7 +440,7 @@
 
     public void testHandledRuntimeException() throws Exception {
 
-        final RequestCount requestConns = new RequestCount(1); 
+        final CountDownLatch requestConns = new CountDownLatch(1); 
         
         HttpRequestHandler requestHandler = new HttpRequestHandler() {
 
@@ -365,7 +448,7 @@
                     final HttpRequest request, 
                     final HttpResponse response, 
                     final HttpContext context) throws HttpException, IOException {
-                throw new IllegalStateException("Oppsie!!!");
+                throw new OoopsieRuntimeException();
             }
             
         };
@@ -401,20 +484,41 @@
             }
 
             public boolean handle(final RuntimeException ex) {
-                requestConns.decrement();                    
+                requestConns.countDown();                    
                 return true;
             }
           
         };
         
-        NHttpServiceHandler serviceHandler = createHttpServiceHandler(
-                requestHandler, 
-                null,
+        BasicHttpProcessor serverHttpProc = new BasicHttpProcessor();
+        serverHttpProc.addInterceptor(new ResponseDate());
+        serverHttpProc.addInterceptor(new ResponseServer());
+        serverHttpProc.addInterceptor(new ResponseContent());
+        serverHttpProc.addInterceptor(new ResponseConnControl());
+
+        BufferingHttpServiceHandler serviceHandler = new BufferingHttpServiceHandler(
+                serverHttpProc,
+                new DefaultHttpResponseFactory(),
+                new DefaultConnectionReuseStrategy(),
+                this.server.getParams());
+
+        serviceHandler.setHandlerResolver(
+                new SimpleHttpRequestHandlerResolver(requestHandler));
+        serviceHandler.setEventListener(
                 new SimpleEventListener());
-        
-        NHttpClientHandler clientHandler = createHttpClientHandler(
+
+        BasicHttpProcessor clientHttpProc = new BasicHttpProcessor();
+        clientHttpProc.addInterceptor(new RequestContent());
+        clientHttpProc.addInterceptor(new RequestTargetHost());
+        clientHttpProc.addInterceptor(new RequestConnControl());
+        clientHttpProc.addInterceptor(new RequestUserAgent());
+        clientHttpProc.addInterceptor(new RequestExpectContinue());
+
+        BufferingHttpClientHandler clientHandler = new BufferingHttpClientHandler(
+                clientHttpProc,
                 requestExecutionHandler,
-                new SimpleEventListener());
+                new DefaultConnectionReuseStrategy(),
+                this.client.getParams());
 
         this.server.setExceptionHandler(exceptionHandler);
         
@@ -429,8 +533,8 @@
                 new InetSocketAddress("localhost", serverAddress.getPort()), 
                 null);
      
-        requestConns.await(10000);
-        assertEquals(0, requestConns.getValue());
+        requestConns.await();
+        assertEquals(0, requestConns.getCount());
         
         this.server.join(1000);
         

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactorsSSL.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactorsSSL.java?rev=758682&r1=758681&r2=758682&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactorsSSL.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactorsSSL.java Thu Mar 26 15:27:21 2009
@@ -32,6 +32,8 @@
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
@@ -40,19 +42,29 @@
 import org.apache.http.HttpException;
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpResponse;
+import org.apache.http.impl.DefaultConnectionReuseStrategy;
+import org.apache.http.impl.DefaultHttpResponseFactory;
 import org.apache.http.message.BasicHttpRequest;
-import org.apache.http.mockup.RequestCount;
 import org.apache.http.mockup.SimpleEventListener;
-import org.apache.http.nio.NHttpClientHandler;
+import org.apache.http.mockup.SimpleHttpRequestHandlerResolver;
 import org.apache.http.nio.NHttpConnection;
-import org.apache.http.nio.NHttpServiceHandler;
+import org.apache.http.nio.protocol.BufferingHttpClientHandler;
+import org.apache.http.nio.protocol.BufferingHttpServiceHandler;
 import org.apache.http.nio.protocol.EventListener;
 import org.apache.http.nio.protocol.HttpRequestExecutionHandler;
 import org.apache.http.nio.reactor.ListenerEndpoint;
-import org.apache.http.params.BasicHttpParams;
-import org.apache.http.params.HttpParams;
+import org.apache.http.protocol.BasicHttpProcessor;
 import org.apache.http.protocol.HttpContext;
 import org.apache.http.protocol.HttpRequestHandler;
+import org.apache.http.protocol.RequestConnControl;
+import org.apache.http.protocol.RequestContent;
+import org.apache.http.protocol.RequestExpectContinue;
+import org.apache.http.protocol.RequestTargetHost;
+import org.apache.http.protocol.RequestUserAgent;
+import org.apache.http.protocol.ResponseConnControl;
+import org.apache.http.protocol.ResponseContent;
+import org.apache.http.protocol.ResponseDate;
+import org.apache.http.protocol.ResponseServer;
 
 /**
  * Basic functionality tests for SSL I/O reactors.
@@ -77,27 +89,15 @@
         return new TestSuite(TestDefaultIOReactorsSSL.class);
     }
 
-    public void testRestartListeningIOReactor() throws Exception {
-        HttpParams params = new BasicHttpParams();
-        
-        DefaultListeningIOReactor ioReactor = new DefaultListeningIOReactor(1, params);
-        ioReactor.listen(new InetSocketAddress(9999));
-        ioReactor.shutdown();
-        
-        ioReactor = new DefaultListeningIOReactor(1, params);
-        ioReactor.listen(new InetSocketAddress(9999));
-        ioReactor.shutdown();         
-    }
-    
     public void testGracefulShutdown() throws Exception {
 
         // Open some connection and make sure 
         // they get cleanly closed upon shutdown
         
         final int connNo = 10;
-        final RequestCount requestConns = new RequestCount(connNo); 
-        final RequestCount closedServerConns = new RequestCount(connNo); 
-        final RequestCount closedClientConns = new RequestCount(connNo); 
+        final CountDownLatch requestConns = new CountDownLatch(connNo); 
+        final CountDownLatch closedServerConns = new CountDownLatch(connNo); 
+        final CountDownLatch closedClientConns = new CountDownLatch(connNo); 
         
         HttpRequestHandler requestHandler = new HttpRequestHandler() {
 
@@ -129,7 +129,7 @@
             }
             
             public void handleResponse(final HttpResponse response, final HttpContext context) {
-                requestConns.decrement();                    
+                requestConns.countDown();                    
             }
             
         };
@@ -138,31 +138,55 @@
 
             @Override
             public void connectionClosed(NHttpConnection conn) {
-                closedServerConns.decrement();
+                closedServerConns.countDown();
                 super.connectionClosed(conn);
             }
             
         };
         
-        NHttpServiceHandler serviceHandler = createHttpServiceHandler(
-                requestHandler, 
-                null,
+        BasicHttpProcessor serverHttpProc = new BasicHttpProcessor();
+        serverHttpProc.addInterceptor(new ResponseDate());
+        serverHttpProc.addInterceptor(new ResponseServer());
+        serverHttpProc.addInterceptor(new ResponseContent());
+        serverHttpProc.addInterceptor(new ResponseConnControl());
+
+        BufferingHttpServiceHandler serviceHandler = new BufferingHttpServiceHandler(
+                serverHttpProc,
+                new DefaultHttpResponseFactory(),
+                new DefaultConnectionReuseStrategy(),
+                this.server.getParams());
+
+        serviceHandler.setHandlerResolver(
+                new SimpleHttpRequestHandlerResolver(requestHandler));
+        serviceHandler.setEventListener(
                 serverEventListener);
-        
+
         EventListener clientEventListener = new SimpleEventListener() {
 
             @Override
             public void connectionClosed(NHttpConnection conn) {
-                closedClientConns.decrement();
+                closedClientConns.countDown();
                 super.connectionClosed(conn);
             }
             
         };
         
-        NHttpClientHandler clientHandler = createHttpClientHandler(
+        BasicHttpProcessor clientHttpProc = new BasicHttpProcessor();
+        clientHttpProc.addInterceptor(new RequestContent());
+        clientHttpProc.addInterceptor(new RequestTargetHost());
+        clientHttpProc.addInterceptor(new RequestConnControl());
+        clientHttpProc.addInterceptor(new RequestUserAgent());
+        clientHttpProc.addInterceptor(new RequestExpectContinue());
+
+        BufferingHttpClientHandler clientHandler = new BufferingHttpClientHandler(
+                clientHttpProc,
                 requestExecutionHandler,
-                clientEventListener);
+                new DefaultConnectionReuseStrategy(),
+                this.client.getParams());
 
+        clientHandler.setEventListener(
+                clientEventListener);
+        
         this.server.start(serviceHandler);
         this.client.start(clientHandler);
         
@@ -176,17 +200,17 @@
                     null);
         }
      
-        requestConns.await(10000);
-        assertEquals(0, requestConns.getValue());
+        requestConns.await(10000, TimeUnit.MILLISECONDS);
+        assertEquals(0, requestConns.getCount());
      
         this.client.shutdown();
         this.server.shutdown();
         
-        closedClientConns.await(10000);
-        assertEquals(0, closedClientConns.getValue());
+        closedClientConns.await();
+        assertEquals(0, closedClientConns.getCount());
      
-        closedServerConns.await(10000);
-        assertEquals(0, closedServerConns.getValue());
+        closedServerConns.await();
+        assertEquals(0, closedServerConns.getCount());
     }
-    
+
 }

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpClient.java?rev=758682&r1=758681&r2=758682&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpClient.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpClient.java Thu Mar 26 15:27:21 2009
@@ -51,8 +51,6 @@
     
     private volatile IOReactorThread thread;
 
-    private volatile RequestCount requestCount;
-    
     public TestHttpClient(final HttpParams params) throws IOException {
         super();
         this.ioReactor = new DefaultConnectingIOReactor(2, params);
@@ -63,10 +61,6 @@
         return this.params;
     }
     
-    public void setRequestCount(final RequestCount requestCount) {
-        this.requestCount = requestCount;
-    }
-
     public void setExceptionHandler(final IOReactorExceptionHandler exceptionHandler) {
         this.ioReactor.setExceptionHandler(exceptionHandler);
     }
@@ -135,9 +129,6 @@
                 execute(this.clientHandler);
             } catch (Exception ex) {
                 this.ex = ex;
-                if (requestCount != null) {
-                    requestCount.failure(ex);
-                }
             }
         }
         

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLClient.java?rev=758682&r1=758681&r2=758682&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLClient.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLClient.java Thu Mar 26 15:27:21 2009
@@ -58,8 +58,6 @@
     
     private volatile IOReactorThread thread;
 
-    private volatile RequestCount requestCount;
-    
     public TestHttpSSLClient(final HttpParams params) throws Exception {
         super();
         this.params = params;
@@ -89,10 +87,6 @@
         return this.ioReactor.getAuditLog();
     }
     
-    public void setRequestCount(final RequestCount requestCount) {
-        this.requestCount = requestCount;
-    }
-
     public void setExceptionHandler(final IOReactorExceptionHandler exceptionHandler) {
         this.ioReactor.setExceptionHandler(exceptionHandler);
     }
@@ -156,9 +150,6 @@
                 execute(this.clientHandler);
             } catch (Exception ex) {
                 this.ex = ex;
-                if (requestCount != null) {
-                    requestCount.failure(ex);
-                }
             }
         }
         

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLServer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLServer.java?rev=758682&r1=758681&r2=758682&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLServer.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLServer.java Thu Mar 26 15:27:21 2009
@@ -64,8 +64,6 @@
     private volatile IOReactorThread thread;
     private ListenerEndpoint endpoint;
     
-    private volatile RequestCount requestCount;
-    
     public TestHttpSSLServer(final HttpParams params) throws Exception {
         super();
         this.params = params;
@@ -95,10 +93,6 @@
         return this.ioReactor.getAuditLog();
     }
     
-    public void setRequestCount(final RequestCount requestCount) {
-        this.requestCount = requestCount;
-    }
-
     public void setExceptionHandler(final IOReactorExceptionHandler exceptionHandler) {
         this.ioReactor.setExceptionHandler(exceptionHandler);
     }
@@ -163,9 +157,6 @@
                 execute(this.serviceHandler);
             } catch (Exception ex) {
                 this.ex = ex;
-                if (requestCount != null) {
-                    requestCount.failure(ex);
-                }
             }
         }
         

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpServer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpServer.java?rev=758682&r1=758681&r2=758682&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpServer.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpServer.java Thu Mar 26 15:27:21 2009
@@ -57,8 +57,6 @@
     private volatile IOReactorThread thread;
     private ListenerEndpoint endpoint;
     
-    private volatile RequestCount requestCount;
-    
     public TestHttpServer(final HttpParams params) throws IOException {
         super();
         this.ioReactor = new DefaultListeningIOReactor(2, params);
@@ -69,10 +67,6 @@
         return this.params;
     }
     
-    public void setRequestCount(final RequestCount requestCount) {
-        this.requestCount = requestCount;
-    }
-
     public void setExceptionHandler(final IOReactorExceptionHandler exceptionHandler) {
         this.ioReactor.setExceptionHandler(exceptionHandler);
     }
@@ -146,9 +140,6 @@
                 execute(this.serviceHandler);
             } catch (Exception ex) {
                 this.ex = ex;
-                if (requestCount != null) {
-                    requestCount.failure(ex);
-                }
             }
         }