You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2016/12/25 23:58:31 UTC

[1/2] maven-wagon git commit: [WAGON-474] Upgrade and revise all tests for Jetty 8

Repository: maven-wagon
Updated Branches:
  refs/heads/jetty-8 [created] e707a2691


[WAGON-474] Upgrade and revise all tests for Jetty 8

* Upgrade all test code to Jetty 8.1.22 and Servlet 3.0
* Unify variable names in redirect usecases to realServer and
  redirectServer
* RedirectHandler: redirect code is passed but completely ignored because
  sendRedirect() always sends 302
* Chronologically sort checkHandlerResult() calls
** Set redirect code (See Other (303)) as requested
** Update checkHandlerResult() for requested status codes rather sent
   chosen by server (mismatched previously)
* testPreemptiveAuthentication*(): properly check for OK for GET and
  CREATED for PUT instead of OK only for both
* WebDavWagonTest: replace status code literal for
  HttpServletResponse.SC_* for better readability
* testRedirect*(): add more checkHandlerResults


Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/2e1c807e
Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/2e1c807e
Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/2e1c807e

Branch: refs/heads/jetty-8
Commit: 2e1c807e5345a1999376771f8b378b8cd3328fee
Parents: b451e41
Author: Michael Osipov <mi...@apache.org>
Authored: Mon Dec 26 00:55:09 2016 +0100
Committer: Michael Osipov <mi...@apache.org>
Committed: Mon Dec 26 00:55:09 2016 +0100

----------------------------------------------------------------------
 pom.xml                                         |  14 +-
 wagon-provider-test/pom.xml                     |   8 +-
 .../maven/wagon/http/HttpWagonTestCase.java     | 273 ++++++++++---------
 wagon-providers/wagon-http-lightweight/pom.xml  |   4 +-
 .../http/LightweightHttpsWagonTest.java         |   6 +-
 wagon-providers/wagon-http/pom.xml              |   8 +-
 .../http/HttpWagonHttpServerTestCase.java       |  14 +-
 .../http/HttpWagonReasonPhraseTest.java         |   2 +-
 .../providers/http/HttpWagonTimeoutTest.java    |   2 +-
 .../http/HttpsWagonPreemptiveTest.java          |   6 +-
 .../wagon/providers/http/HttpsWagonTest.java    |   6 +-
 .../providers/http/HugeFileDownloadTest.java    |  14 +-
 wagon-providers/wagon-ssh/pom.xml               |   8 +-
 .../ssh/jsch/ScpWagonWithProxyTest.java         |  16 +-
 wagon-providers/wagon-webdav-jackrabbit/pom.xml |   8 +-
 .../wagon/providers/webdav/WebDavWagonTest.java |  73 ++---
 .../providers/webdav/WebDavsWagonTest.java      |   6 +-
 wagon-tcks/wagon-tck-http/pom.xml               |  12 +-
 .../wagon/tck/http/fixture/ServerFixture.java   |  52 ++--
 19 files changed, 278 insertions(+), 254 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e127da4..a90a1ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -313,14 +313,14 @@ under the License.
       </dependency>
 
       <dependency>
-        <groupId>org.mortbay.jetty</groupId>
-        <artifactId>jetty</artifactId>
-        <version>6.1.26</version>
+        <groupId>org.eclipse.jetty.aggregate</groupId>
+        <artifactId>jetty-all</artifactId>
+        <version>8.1.22.v20160922</version>
       </dependency>
       <dependency>
-        <groupId>org.mortbay.jetty</groupId>
-        <artifactId>servlet-api</artifactId>
-        <version>2.5-20081211</version>
+        <groupId>javax.servlet</groupId>
+        <artifactId>javax.servlet-api</artifactId>
+        <version>3.0.1</version>
     </dependency>
     </dependencies>
   </dependencyManagement>
@@ -565,5 +565,5 @@ under the License.
       </reporting>
     </profile>
   </profiles>
-  
+
 </project>

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-provider-test/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-provider-test/pom.xml b/wagon-provider-test/pom.xml
index b19e7ac..9b0f4e5 100644
--- a/wagon-provider-test/pom.xml
+++ b/wagon-provider-test/pom.xml
@@ -51,12 +51,12 @@ under the License.
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
+      <groupId>org.eclipse.jetty.aggregate</groupId>
+      <artifactId>jetty-all</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>servlet-api</artifactId>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
----------------------------------------------------------------------
diff --git a/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java b/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
index dfc499e..cf479fd 100644
--- a/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
+++ b/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
@@ -34,20 +34,21 @@ import org.apache.maven.wagon.resource.Resource;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.HttpConnection;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Response;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.HandlerCollection;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
-import org.mortbay.jetty.servlet.Context;
-import org.mortbay.jetty.servlet.DefaultServlet;
-import org.mortbay.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.security.SecurityHandler;
+import org.eclipse.jetty.security.authentication.BasicAuthenticator;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Response;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.HandlerCollection;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
@@ -99,9 +100,12 @@ public abstract class HttpWagonTestCase
         server = new Server( 0 );
 
         PutHandler putHandler = new PutHandler( repositoryDirectory );
-        server.addHandler( putHandler );
 
-        createContext( server, repositoryDirectory );
+        ServletContextHandler context = createContext( server, repositoryDirectory );
+        HandlerCollection handlers = new HandlerCollection();
+        handlers.addHandler( putHandler );
+        handlers.addHandler( context );
+        server.setHandler( handlers );
 
         addConnectors( server );
 
@@ -120,13 +124,14 @@ public abstract class HttpWagonTestCase
         return server.getConnectors()[0].getLocalPort();
     }
 
-    protected void createContext( Server server, File repositoryDirectory )
+    protected ServletContextHandler createContext( Server server, File repositoryDirectory )
         throws IOException
     {
-        Context root = new Context( server, "/", Context.SESSIONS );
+        ServletContextHandler root = new ServletContextHandler( ServletContextHandler.SESSIONS );
         root.setResourceBase( repositoryDirectory.getAbsolutePath() );
         ServletHolder servletHolder = new ServletHolder( new DefaultServlet() );
         root.addServlet( servletHolder, "/*" );
+        return root;
     }
 
     protected void tearDownWagonTestingFixtures()
@@ -216,7 +221,7 @@ public abstract class HttpWagonTestCase
         server.setHandler( handler );
         addConnectors( server );
         server.start();
-        wagon.connect( new Repository( "id", getProtocol() + "://localhost:" 
+        wagon.connect( new Repository( "id", getProtocol() + "://localhost:"
           + server.getConnectors()[0].getLocalPort() ) );
         wagon.getToStream( "resource", new ByteArrayOutputStream() );
         wagon.disconnect();
@@ -309,19 +314,19 @@ public abstract class HttpWagonTestCase
 
             AbstractHandler handler = new AbstractHandler()
             {
-                public void handle( String s, HttpServletRequest request, HttpServletResponse response, int i )
-                    throws IOException, ServletException
+                public void handle( String target, Request baseRequest, HttpServletRequest request,
+                    HttpServletResponse response ) throws IOException, ServletException
                 {
                     if ( called.get() )
                     {
                         response.setStatus( HttpServletResponse.SC_OK );
-                        ( (Request) request ).setHandled( true );
+                        baseRequest.setHandled( true );
                     }
                     else
                     {
                         called.set( true );
                         response.setStatus( SC_TOO_MANY_REQUESTS );
-                        ( (Request) request ).setHandled( true );
+                        baseRequest.setHandled( true );
 
                     }
                 }
@@ -456,19 +461,19 @@ public abstract class HttpWagonTestCase
 
             AbstractHandler handler = new AbstractHandler()
             {
-                public void handle( String s, HttpServletRequest request, HttpServletResponse response, int i )
-                    throws IOException, ServletException
+                public void handle( String target, Request baseRequest, HttpServletRequest request,
+                    HttpServletResponse response ) throws IOException, ServletException
                 {
                     if ( called.get() )
                     {
                         response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
-                        ( (Request) request ).setHandled( true );
+                        baseRequest.setHandled( true );
                     }
                     else
                     {
                         called.set( true );
                         response.setStatus( SC_TOO_MANY_REQUESTS );
-                        ( (Request) request ).setHandled( true );
+                        baseRequest.setHandled( true );
                     }
                 }
             };
@@ -543,12 +548,13 @@ public abstract class HttpWagonTestCase
         Server server = new Server( getTestRepositoryPort() );
 
         String localRepositoryPath = FileTestUtils.getTestOutputDir().toString();
-        Context root = new Context( server, "/", Context.SESSIONS );
+        ServletContextHandler root = new ServletContextHandler( ServletContextHandler.SESSIONS );
         root.setResourceBase( localRepositoryPath );
         ServletHolder servletHolder = new ServletHolder( new DefaultServlet() );
         servletHolder.setInitParameter( "gzip", "true" );
         root.addServlet( servletHolder, "/*" );
         addConnectors( server );
+        server.setHandler( root );
         server.start();
 
         try
@@ -655,12 +661,12 @@ public abstract class HttpWagonTestCase
     {
         StreamingWagon wagon = (StreamingWagon) getWagon();
 
-        Server server = new Server( 0 );
+        Server realServer = new Server( 0 );
         TestHeaderHandler handler = new TestHeaderHandler();
 
-        server.setHandler( handler );
-        addConnectors( server );
-        server.start();
+        realServer.setHandler( handler );
+        addConnectors( realServer );
+        realServer.start();
 
         Server redirectServer = new Server( 0 );
 
@@ -679,10 +685,10 @@ public abstract class HttpWagonTestCase
             protocol = "https";
         }
 
-        String redirectUrl = protocol + "://localhost:" + server.getConnectors()[0].getLocalPort();
+        String redirectUrl = protocol + "://localhost:" + realServer.getConnectors()[0].getLocalPort();
 
         RedirectHandler redirectHandler =
-            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, redirectUrl, null );
+            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, redirectUrl, null );
 
         redirectServer.setHandler( redirectHandler );
 
@@ -702,14 +708,14 @@ public abstract class HttpWagonTestCase
             String found = FileUtils.fileRead( tmpResult );
             assertEquals( "found:'" + found + "'", "Hello, World!", found );
 
+            checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER );
             checkHandlerResult( handler.handlerRequestResponses, HttpServletResponse.SC_OK );
-            checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_FOUND );
         }
         finally
         {
             wagon.disconnect();
 
-            server.stop();
+            realServer.stop();
 
             tmpResult.delete();
         }
@@ -720,12 +726,12 @@ public abstract class HttpWagonTestCase
     {
         StreamingWagon wagon = (StreamingWagon) getWagon();
 
-        Server server = new Server( 0 );
+        Server realServer = new Server( 0 );
         TestHeaderHandler handler = new TestHeaderHandler();
 
-        server.setHandler( handler );
-        addConnectors( server );
-        server.start();
+        realServer.setHandler( handler );
+        addConnectors( realServer );
+        realServer.start();
 
         Server redirectServer = new Server( 0 );
 
@@ -744,10 +750,10 @@ public abstract class HttpWagonTestCase
             protocol = "https";
         }
 
-        String redirectUrl = protocol + "://localhost:" + server.getConnectors()[0].getLocalPort();
+        String redirectUrl = protocol + "://localhost:" + realServer.getConnectors()[0].getLocalPort();
 
         RedirectHandler redirectHandler =
-            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, redirectUrl, null );
+            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, redirectUrl, null );
 
         redirectServer.setHandler( redirectHandler );
 
@@ -763,14 +769,14 @@ public abstract class HttpWagonTestCase
             String found = FileUtils.fileRead( tmpResult );
             assertEquals( "found:'" + found + "'", "Hello, World!", found );
 
+            checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER );
             checkHandlerResult( handler.handlerRequestResponses, HttpServletResponse.SC_OK );
-            checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_FOUND );
         }
         finally
         {
             wagon.disconnect();
 
-            server.stop();
+            realServer.stop();
 
             tmpResult.delete();
         }
@@ -814,7 +820,7 @@ public abstract class HttpWagonTestCase
         String redirectUrl = protocol + "://localhost:" + realServer.getConnectors()[0].getLocalPort();
 
         RedirectHandler redirectHandler =
-            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, redirectUrl, repositoryDirectory );
+            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, redirectUrl, repositoryDirectory );
 
         redirectServer.setHandler( redirectHandler );
 
@@ -839,6 +845,9 @@ public abstract class HttpWagonTestCase
             try
             {
                 wagon.putFromStream( fileInputStream, "test-secured-put-resource", content.length(), -1 );
+                assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
+
+                checkRequestResponseForRedirectPutWithFullUrl( redirectHandler, putHandler );
             }
             finally
             {
@@ -847,9 +856,6 @@ public abstract class HttpWagonTestCase
 
             }
 
-            assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
-
-            checkRequestResponseForRedirectPutFromStreamWithFullUrl( putHandler, redirectHandler );
         }
         finally
         {
@@ -858,11 +864,11 @@ public abstract class HttpWagonTestCase
         }
     }
 
-    protected void checkRequestResponseForRedirectPutFromStreamWithFullUrl( PutHandler putHandler,
-                                                                            RedirectHandler redirectHandler )
+    protected void checkRequestResponseForRedirectPutWithFullUrl( RedirectHandler redirectHandler,
+                                                                  PutHandler putHandler )
     {
+        checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER );
         checkHandlerResult( putHandler.handlerRequestResponses, HttpServletResponse.SC_CREATED );
-        checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_FOUND );
     }
 
     public void testRedirectPutFromStreamRelativeUrl()
@@ -885,7 +891,7 @@ public abstract class HttpWagonTestCase
         addConnectors( redirectServer );
 
         RedirectHandler redirectHandler =
-            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, "/redirectRequest/foo",
+            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, "/redirectRequest/foo",
                                  repositoryDirectory );
 
         redirectServer.setHandler( redirectHandler );
@@ -911,6 +917,9 @@ public abstract class HttpWagonTestCase
             try
             {
                 wagon.putFromStream( fileInputStream, "test-secured-put-resource", content.length(), -1 );
+                assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
+
+                checkRequestResponseForRedirectPutWithRelativeUrl( redirectHandler, putHandler );
             }
             finally
             {
@@ -919,10 +928,6 @@ public abstract class HttpWagonTestCase
 
             }
 
-            assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
-
-            checkRequestResponseForRedirectPutFromStreamWithRelativeUrl( putHandler, redirectHandler );
-
         }
         finally
         {
@@ -931,12 +936,12 @@ public abstract class HttpWagonTestCase
         }
     }
 
-    protected void checkRequestResponseForRedirectPutFromStreamWithRelativeUrl( PutHandler putHandler,
-                                                                                RedirectHandler redirectHandler )
+    protected void checkRequestResponseForRedirectPutWithRelativeUrl( RedirectHandler redirectHandler,
+                                                                      PutHandler putHandler )
     {
-        checkHandlerResult( putHandler.handlerRequestResponses );
-        checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_FOUND,
+        checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER,
                             HttpServletResponse.SC_CREATED );
+        checkHandlerResult( putHandler.handlerRequestResponses );
     }
 
     protected void checkHandlerResult( List<HandlerRequestResponse> handlerRequestResponses,
@@ -994,7 +999,7 @@ public abstract class HttpWagonTestCase
         String redirectUrl = protocol + "://localhost:" + realServer.getConnectors()[0].getLocalPort();
 
         RedirectHandler redirectHandler =
-            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, redirectUrl, repositoryDirectory );
+            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, redirectUrl, repositoryDirectory );
 
         redirectServer.setHandler( redirectHandler );
 
@@ -1018,14 +1023,15 @@ public abstract class HttpWagonTestCase
             try
             {
                 wagon.put( tempFile, "test-secured-put-resource" );
+                assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
+
+                checkRequestResponseForRedirectPutWithFullUrl( redirectHandler, putHandler );
             }
             finally
             {
                 tempFile.delete();
             }
 
-            assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
-
         }
         finally
         {
@@ -1055,7 +1061,7 @@ public abstract class HttpWagonTestCase
         addConnectors( redirectServer );
 
         RedirectHandler redirectHandler =
-            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, "/redirectRequest/foo",
+            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, "/redirectRequest/foo",
                                  repositoryDirectory );
 
         redirectServer.setHandler( redirectHandler );
@@ -1080,14 +1086,15 @@ public abstract class HttpWagonTestCase
             try
             {
                 wagon.put( tempFile, "test-secured-put-resource" );
+                assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
+
+                checkRequestResponseForRedirectPutWithRelativeUrl( redirectHandler, putHandler );
             }
             finally
             {
                 tempFile.delete();
             }
 
-            assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
-
         }
         finally
         {
@@ -1098,7 +1105,7 @@ public abstract class HttpWagonTestCase
 
 
     /**
-     * 
+     *
      */
     @SuppressWarnings( "checkstyle:visibilitymodifier" )
     public static class RedirectHandler
@@ -1122,23 +1129,28 @@ public abstract class HttpWagonTestCase
             this.repositoryDirectory = repositoryDirectory;
         }
 
-        public void handle( String s, HttpServletRequest req, HttpServletResponse resp, int i )
-            throws IOException, ServletException
+        public void handle( String target, Request baseRequest, HttpServletRequest request,
+            HttpServletResponse response ) throws IOException, ServletException
         {
-            if ( req.getRequestURI().contains( "redirectRequest" ) )
+            if ( request.getRequestURI().contains( "redirectRequest" ) )
             {
                 PutHandler putHandler = new PutHandler( this.repositoryDirectory );
-                putHandler.handle( s, req, resp, i );
+                putHandler.handle( target, baseRequest, request, response );
                 handlerRequestResponses.add(
-                    new HandlerRequestResponse( req.getMethod(), ( (Response) resp ).getStatus(),
-                                                req.getRequestURI() ) );
+                    new HandlerRequestResponse( request.getMethod(), ( (Response) response ).getStatus(),
+                                                request.getRequestURI() ) );
                 return;
             }
-            resp.setStatus( this.retCode );
-            resp.sendRedirect( this.redirectUrl + "/" + req.getRequestURI() );
+            response.setStatus( this.retCode );
+            response.setHeader( "Location", this.redirectUrl + request.getRequestURI() );
+            baseRequest.setHandled( true );
+
             handlerRequestResponses.add(
-                new HandlerRequestResponse( req.getMethod(), ( (Response) resp ).getStatus(), req.getRequestURI() ) );
+                new HandlerRequestResponse( request.getMethod(), ( (Response) response ).getStatus(),
+                                            request.getRequestURI() ) );
         }
+
+
     }
 
 
@@ -1342,7 +1354,8 @@ public abstract class HttpWagonTestCase
 
             assertEquals( "top secret", IOUtil.toString( in ) );
 
-            TestSecurityHandler securityHandler = (TestSecurityHandler) ( (Context) server.getHandler() ).getHandler();
+            TestSecurityHandler securityHandler = ( (ServletContextHandler) server.getHandler() )
+                .getChildHandlerByClass( TestSecurityHandler.class );
             testPreemptiveAuthenticationGet( securityHandler, supportPreemptiveAuthenticationGet() );
 
         }
@@ -1393,7 +1406,8 @@ public abstract class HttpWagonTestCase
 
             assertEquals( "top secret", out.toString( "US-ASCII" ) );
 
-            TestSecurityHandler securityHandler = (TestSecurityHandler) ( (Context) server.getHandler() ).getHandler();
+            TestSecurityHandler securityHandler = ( (ServletContextHandler) server.getHandler() )
+                .getChildHandlerByClass( TestSecurityHandler.class );
             testPreemptiveAuthenticationGet( securityHandler, supportPreemptiveAuthenticationGet() );
         }
         finally
@@ -1483,10 +1497,10 @@ public abstract class HttpWagonTestCase
 
         SecurityHandler sh = createSecurityHandler();
 
-        Context root = new Context( Context.SESSIONS );
-        root.setContextPath( "/" );
-        root.addHandler( sh );
+        ServletContextHandler root = new ServletContextHandler( ServletContextHandler.SESSIONS
+            | ServletContextHandler.SECURITY );
         root.setResourceBase( localRepositoryPath );
+        root.setSecurityHandler( sh );
         ServletHolder servletHolder = new ServletHolder( new DefaultServlet() );
         root.addServlet( servletHolder, "/*" );
 
@@ -1587,19 +1601,19 @@ public abstract class HttpWagonTestCase
 
             AbstractHandler handler = new AbstractHandler()
             {
-                public void handle( String s, HttpServletRequest request, HttpServletResponse response, int i )
-                    throws IOException, ServletException
+                public void handle( String target, Request baseRequest, HttpServletRequest request,
+                    HttpServletResponse response ) throws IOException, ServletException
                 {
                     if ( called.get() )
                     {
                         response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
-                        ( (Request) request ).setHandled( true );
+                        baseRequest.setHandled( true );
                     }
                     else
                     {
                         called.set( true );
                         response.setStatus( SC_TOO_MANY_REQUESTS );
-                        ( (Request) request ).setHandled( true );
+                        baseRequest.setHandled( true );
                     }
                 }
             };
@@ -1725,10 +1739,8 @@ public abstract class HttpWagonTestCase
 
         PutHandler putHandler = new PutHandler( new File( localRepositoryPath ) );
 
-        HandlerCollection handlers = new HandlerCollection();
-        handlers.setHandlers( new Handler[]{ sh, putHandler } );
-
-        server.setHandler( handlers );
+        sh.setHandler( putHandler );
+        server.setHandler( sh );
         addConnectors( server );
         server.start();
 
@@ -1796,10 +1808,15 @@ public abstract class HttpWagonTestCase
 
         PutHandler putHandler = new PutHandler( new File( localRepositoryPath ) );
 
-        HandlerCollection handlers = new HandlerCollection();
-        handlers.setHandlers( addSecurityHandler ? new Handler[]{ sh, putHandler } : new Handler[]{ putHandler } );
-
-        server.setHandler( handlers );
+        if ( addSecurityHandler )
+        {
+            sh.setHandler( putHandler );
+            server.setHandler( sh );
+        }
+        else
+        {
+            server.setHandler( putHandler );
+        }
         addConnectors( server );
         server.start();
 
@@ -1871,29 +1888,29 @@ public abstract class HttpWagonTestCase
 
     protected void testPreemptiveAuthenticationGet( TestSecurityHandler sh, boolean preemptive )
     {
-        testPreemptiveAuthentication( sh, preemptive );
+        testPreemptiveAuthentication( sh, preemptive, HttpServletResponse.SC_OK );
     }
 
     protected void testPreemptiveAuthenticationPut( TestSecurityHandler sh, boolean preemptive )
     {
-        testPreemptiveAuthentication( sh, preemptive );
+        testPreemptiveAuthentication( sh, preemptive, HttpServletResponse.SC_CREATED );
     }
 
-    protected void testPreemptiveAuthentication( TestSecurityHandler sh, boolean preemptive )
+    protected void testPreemptiveAuthentication( TestSecurityHandler sh, boolean preemptive, int statusCode )
     {
 
         if ( preemptive )
         {
             assertEquals( "not 1 security handler use " + sh.handlerRequestResponses, 1,
                           sh.handlerRequestResponses.size() );
-            assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 0 ).responseCode );
+            assertEquals( statusCode, sh.handlerRequestResponses.get( 0 ).responseCode );
         }
         else
         {
             assertEquals( "not 2 security handler use " + sh.handlerRequestResponses, 2,
                           sh.handlerRequestResponses.size() );
             assertEquals( HttpServletResponse.SC_UNAUTHORIZED, sh.handlerRequestResponses.get( 0 ).responseCode );
-            assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 1 ).responseCode );
+            assertEquals( statusCode, sh.handlerRequestResponses.get( 1 ).responseCode );
 
         }
     }
@@ -1908,13 +1925,13 @@ public abstract class HttpWagonTestCase
             this.status = status;
         }
 
-        public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
-            throws IOException, ServletException
+        public void handle( String target, Request baseRequest, HttpServletRequest request,
+            HttpServletResponse response ) throws IOException, ServletException
         {
             if ( status != 0 )
             {
                 response.setStatus( status );
-                ( (Request) request ).setHandled( true );
+                baseRequest.setHandled( true );
             }
         }
     }
@@ -1949,7 +1966,7 @@ public abstract class HttpWagonTestCase
     }
 
     /**
-     * 
+     *
      */
     @SuppressWarnings( "checkstyle:visibilitymodifier" )
     public static class PutHandler
@@ -1968,12 +1985,9 @@ public abstract class HttpWagonTestCase
             this.resourceBase = repositoryDirectory;
         }
 
-        public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
-            throws IOException, ServletException
+        public void handle( String target, Request baseRequest, HttpServletRequest request,
+            HttpServletResponse response ) throws IOException, ServletException
         {
-            Request baseRequest =
-                request instanceof Request ? (Request) request : HttpConnection.getCurrentConnection().getRequest();
-
             if ( baseRequest.isHandled() || !"PUT".equals( baseRequest.getMethod() ) )
             {
                 return;
@@ -2023,8 +2037,8 @@ public abstract class HttpWagonTestCase
 
         List<HandlerRequestResponse> handlerRequestResponses = new ArrayList<HandlerRequestResponse>();
 
-        public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
-            throws IOException, ServletException
+        public void handle( String target, Request baseRequest, HttpServletRequest request,
+            HttpServletResponse response ) throws IOException, ServletException
         {
             System.out.println( " handle proxy request" );
             if ( request.getHeader( "Proxy-Authorization" ) == null )
@@ -2036,17 +2050,17 @@ public abstract class HttpWagonTestCase
                 response.setStatus( HttpServletResponse.SC_PROXY_AUTHENTICATION_REQUIRED );
                 response.addHeader( "Proxy-Authenticate", "Basic realm=\"Squid proxy-caching web server\"" );
 
-                ( (Request) request ).setHandled( true );
+                baseRequest.setHandled( true );
                 return;
             }
             handlerRequestResponses.add(
                 new HandlerRequestResponse( request.getMethod(), HttpServletResponse.SC_OK, request.getRequestURI() ) );
-            super.handle( target, request, response, dispatch );
+            super.handle( target, baseRequest, request, response );
         }
     }
 
     /**
-     * 
+     *
      */
     @SuppressWarnings( "checkstyle:visibilitymodifier" )
     private static class TestHeaderHandler
@@ -2060,14 +2074,14 @@ public abstract class HttpWagonTestCase
         {
         }
 
-        public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
-            throws IOException, ServletException
+        public void handle( String target, Request baseRrequest, HttpServletRequest request,
+            HttpServletResponse response ) throws IOException, ServletException
         {
             headers = new HashMap<String, String>();
-            for ( Enumeration<String> e = request.getHeaderNames(); e.hasMoreElements(); )
+            for ( Enumeration<String> e = baseRrequest.getHeaderNames(); e.hasMoreElements(); )
             {
                 String name = e.nextElement();
-                Enumeration headerValues = request.getHeaders( name );
+                Enumeration headerValues = baseRrequest.getHeaders( name );
                 // as per HTTP spec http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html
                 // multiple values for the same header key are concatenated separated by comma
                 // otherwise we wouldn't notice headers with same key added multiple times
@@ -2088,10 +2102,10 @@ public abstract class HttpWagonTestCase
             response.getWriter().print( "Hello, World!" );
 
             handlerRequestResponses.add(
-                new HandlerRequestResponse( request.getMethod(), ( (Response) response ).getStatus(),
-                                            request.getRequestURI() ) );
+                new HandlerRequestResponse( baseRrequest.getMethod(), ( (Response) response ).getStatus(),
+                                            baseRrequest.getRequestURI() ) );
 
-            ( (Request) request ).setHandled( true );
+            baseRrequest.setHandled( true );
         }
 
     }
@@ -2108,39 +2122,38 @@ public abstract class HttpWagonTestCase
         cm.setPathSpec( "/*" );
 
         TestSecurityHandler sh = new TestSecurityHandler();
-        HashUserRealm hashUserRealm = new HashUserRealm( "MyRealm" );
-        hashUserRealm.put( "user", "secret" );
-        hashUserRealm.addUserToRole( "user", "admin" );
-        sh.setUserRealm( hashUserRealm );
+        HashLoginService hashLoginService = new HashLoginService( "MyRealm" );
+        hashLoginService.putUser( "user", new Password( "secret" ), new String[] { "admin" } );
+        sh.setLoginService( hashLoginService );
         sh.setConstraintMappings( new ConstraintMapping[]{ cm } );
+        sh.setAuthenticator ( new BasicAuthenticator() );
         return sh;
     }
 
     /**
-     * 
+     *
      */
     @SuppressWarnings( "checkstyle:visibilitymodifier" )
     public static class TestSecurityHandler
-        extends SecurityHandler
+        extends ConstraintSecurityHandler
     {
 
         public List<HandlerRequestResponse> handlerRequestResponses = new ArrayList<HandlerRequestResponse>();
 
         @Override
-        public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
-            throws IOException, ServletException
+        public void handle( String target, Request baseRequest, HttpServletRequest request,
+            HttpServletResponse response ) throws IOException, ServletException
         {
             String method = request.getMethod();
-            super.handle( target, request, response, dispatch );
+            super.handle( target, baseRequest, request, response );
 
             handlerRequestResponses.add(
                 new HandlerRequestResponse( method, ( (Response) response ).getStatus(), request.getRequestURI() ) );
         }
-
     }
 
     /**
-     * 
+     *
      */
     @SuppressWarnings( "checkstyle:visibilitymodifier" )
     public static class HandlerRequestResponse

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-http-lightweight/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http-lightweight/pom.xml b/wagon-providers/wagon-http-lightweight/pom.xml
index f723004..dd79d17 100644
--- a/wagon-providers/wagon-http-lightweight/pom.xml
+++ b/wagon-providers/wagon-http-lightweight/pom.xml
@@ -60,8 +60,8 @@ under the License.
       <artifactId>junit</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
+      <groupId>org.eclipse.jetty.aggregate</groupId>
+      <artifactId>jetty-all</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java b/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
index 3b532eb..fe30c83 100644
--- a/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
+++ b/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
@@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
  * under the License.
  */
 
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.security.SslSocketConnector;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
 
 public class LightweightHttpsWagonTest
     extends LightweightHttpWagonTest

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-http/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/pom.xml b/wagon-providers/wagon-http/pom.xml
index 794098d..e32cfcc 100644
--- a/wagon-providers/wagon-http/pom.xml
+++ b/wagon-providers/wagon-http/pom.xml
@@ -77,13 +77,13 @@ under the License.
       <artifactId>junit</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
+      <groupId>org.eclipse.jetty.aggregate</groupId>
+      <artifactId>jetty-all</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>servlet-api</artifactId>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
index b5ef1e8..5e7e72b 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
@@ -21,9 +21,9 @@ package org.apache.maven.wagon.providers.http;
 
 import org.apache.maven.wagon.Wagon;
 import org.codehaus.plexus.PlexusTestCase;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.ResourceHandler;
-import org.mortbay.jetty.servlet.Context;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ServletContextHandler;
 
 /**
  * User: jdumay Date: 24/01/2008 Time: 18:15:53
@@ -37,7 +37,7 @@ public abstract class HttpWagonHttpServerTestCase
 
     protected ResourceHandler resourceHandler;
 
-    protected Context context;
+    protected ServletContextHandler context;
 
     protected void setUp()
         throws Exception
@@ -45,10 +45,10 @@ public abstract class HttpWagonHttpServerTestCase
         super.setUp();
         server = new Server( httpServerPort );
 
-        context = new Context( server, "/", Context.SESSIONS );
-
+        context = new ServletContextHandler( ServletContextHandler.SESSIONS );
         resourceHandler = new ResourceHandler();
-        server.addHandler( resourceHandler );
+        context.setHandler( resourceHandler );
+        server.setHandler( context );
     }
 
     protected Wagon getWagon()

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
index 32cbf32..484d638 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
@@ -24,7 +24,7 @@ import org.apache.maven.wagon.TransferFailedException;
 import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.authorization.AuthorizationException;
 import org.apache.maven.wagon.repository.Repository;
-import org.mortbay.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.servlet.ServletHolder;
 
 import java.io.File;
 

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
index c223f23..9d2c0eb 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
@@ -23,7 +23,7 @@ import org.apache.maven.wagon.FileTestUtils;
 import org.apache.maven.wagon.TransferFailedException;
 import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.repository.Repository;
-import org.mortbay.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.servlet.ServletHolder;
 
 import java.io.File;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
index 396823b..ace5b3c 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
@@ -20,9 +20,9 @@ package org.apache.maven.wagon.providers.http;
  */
 
 import org.apache.maven.wagon.Wagon;
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.security.SslSocketConnector;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
 
 public class HttpsWagonPreemptiveTest
     extends HttpWagonTest

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java
index c22b3ef..7d0de20 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java
@@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
  * under the License.
  */
 
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.security.SslSocketConnector;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
 
 public class HttpsWagonTest
     extends HttpWagonTest

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HugeFileDownloadTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HugeFileDownloadTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HugeFileDownloadTest.java
index 0b6566d..ce91461 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HugeFileDownloadTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HugeFileDownloadTest.java
@@ -24,10 +24,10 @@ import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.observers.Debug;
 import org.apache.maven.wagon.repository.Repository;
 import org.codehaus.plexus.PlexusTestCase;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.servlet.Context;
-import org.mortbay.jetty.servlet.DefaultServlet;
-import org.mortbay.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -61,10 +61,11 @@ public class HugeFileDownloadTest
 
         server = new Server( 0 );
 
-        Context root = new Context( server, "/", Context.SESSIONS );
+        ServletContextHandler root = new ServletContextHandler( ServletContextHandler.SESSIONS );
         root.setResourceBase( new File( getBasedir(), "target" ).getAbsolutePath() );
         ServletHolder servletHolder = new ServletHolder( new DefaultServlet() );
         root.addServlet( servletHolder, "/*" );
+        server.setHandler( root );
 
         server.start();
 
@@ -103,7 +104,7 @@ public class HugeFileDownloadTest
 
         server = new Server( 0 );
 
-        Context root = new Context( server, "/", Context.SESSIONS );
+        ServletContextHandler root = new ServletContextHandler( ServletContextHandler.SESSIONS );
         root.setResourceBase( new File( getBasedir(), "target" ).getAbsolutePath() );
         ServletHolder servletHolder = new ServletHolder( new HttpServlet()
         {
@@ -123,6 +124,7 @@ public class HugeFileDownloadTest
             }
         } );
         root.addServlet( servletHolder, "/*" );
+        server.setHandler( root );
 
         server.start();
 

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-ssh/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh/pom.xml b/wagon-providers/wagon-ssh/pom.xml
index 2052c6c..1c7a9b6 100644
--- a/wagon-providers/wagon-ssh/pom.xml
+++ b/wagon-providers/wagon-ssh/pom.xml
@@ -68,13 +68,13 @@ under the License.
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
+      <groupId>org.eclipse.jetty.aggregate</groupId>
+      <artifactId>jetty-all</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>servlet-api</artifactId>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java b/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
index 9d5f985..48bc173 100644
--- a/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
+++ b/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
@@ -34,10 +34,10 @@ import org.apache.maven.wagon.authentication.AuthenticationException;
 import org.apache.maven.wagon.proxy.ProxyInfo;
 import org.apache.maven.wagon.repository.Repository;
 import org.codehaus.plexus.PlexusTestCase;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 public class ScpWagonWithProxyTest
     extends PlexusTestCase
@@ -50,13 +50,13 @@ public class ScpWagonWithProxyTest
         handled = false;
         Handler handler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
-                throws IOException, ServletException
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                HttpServletResponse response ) throws IOException, ServletException
             {
                 assertEquals( "CONNECT", request.getMethod() );
 
                 handled = true;
-                ( (Request) request ).setHandled( true );
+                baseRequest.setHandled( true );
             }
         };
 
@@ -165,7 +165,7 @@ public class ScpWagonWithProxyTest
                         {
                             continue;
                         }
-                        
+
                         handled = true;
                     }
                     catch ( IOException e )

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-webdav-jackrabbit/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-webdav-jackrabbit/pom.xml b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
index 016adcb..948fecb 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/pom.xml
+++ b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
@@ -105,8 +105,8 @@ under the License.
       <artifactId>junit</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
+      <groupId>org.eclipse.jetty.aggregate</groupId>
+      <artifactId>jetty-all</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -120,7 +120,7 @@ under the License.
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
     </dependency>
- 
+
     <dependency>
       <groupId>biz.aQute</groupId>
       <artifactId>bnd</artifactId>
@@ -164,5 +164,5 @@ under the License.
         </executions>
       </plugin>
     </plugins>
-  </build>  
+  </build>
 </project>

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java b/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
index 1bab212..b5ca481 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
+++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
@@ -6,9 +6,9 @@ package org.apache.maven.wagon.providers.webdav;
  * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance with the License. You may obtain a
  * copy of the License at
- * 
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software distributed under the License
  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
  * or implied. See the License for the specific language governing permissions and limitations under
@@ -25,9 +25,9 @@ import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.http.HttpWagonTestCase;
 import org.apache.maven.wagon.repository.Repository;
 import org.apache.maven.wagon.resource.Resource;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.servlet.Context;
-import org.mortbay.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
 
 import java.io.File;
 import java.io.IOException;
@@ -35,11 +35,13 @@ import java.net.SocketTimeoutException;
 import java.util.List;
 import java.util.Properties;
 
+import javax.servlet.http.HttpServletResponse;
+
 /*
  * WebDAV Wagon Test
- * 
+ *
  * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * 
+ *
  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
  */
 public class WebDavWagonTest
@@ -56,20 +58,21 @@ public class WebDavWagonTest
         return "dav";
     }
 
-    protected void createContext( Server server, File repositoryDirectory )
+    protected ServletContextHandler createContext( Server server, File repositoryDirectory )
         throws IOException
     {
-        Context dav = new Context( server, "/", Context.SESSIONS );
+        ServletContextHandler dav = new ServletContextHandler( ServletContextHandler.SESSIONS );
         ServletHolder davServletHolder = new ServletHolder( new DAVServlet() );
         davServletHolder.setInitParameter( "rootPath", repositoryDirectory.getAbsolutePath() );
         davServletHolder.setInitParameter( "xmlOnly", "false" );
         dav.addServlet( davServletHolder, "/*" );
+        return dav;
     }
 
     protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
     {
         File file = new File( getDavRepository(), resource.getName() );
-        return ( file.lastModified() / 1000 ) * 1000;
+        return ( file.lastModified() / 1000L ) * 1000L;
     }
 
 
@@ -422,14 +425,14 @@ public class WebDavWagonTest
         {
             assertEquals( "testPreemptiveAuthenticationGet preemptive=true: expected 1 request, got "
                 + sh.handlerRequestResponses, 1, sh.handlerRequestResponses.size() );
-            assertEquals( 200, sh.handlerRequestResponses.get( 0 ).responseCode );
+            assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 0 ).responseCode );
         }
         else
         {
             assertEquals( "testPreemptiveAuthenticationGet preemptive=false: expected 2 requests (401,200), got "
                 + sh.handlerRequestResponses, 2, sh.handlerRequestResponses.size() );
-            assertEquals( 401, sh.handlerRequestResponses.get( 0 ).responseCode );
-            assertEquals( 200, sh.handlerRequestResponses.get( 1 ).responseCode );
+            assertEquals( HttpServletResponse.SC_UNAUTHORIZED, sh.handlerRequestResponses.get( 0 ).responseCode );
+            assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 1 ).responseCode );
         }
     }
 
@@ -437,64 +440,70 @@ public class WebDavWagonTest
     {
         if ( preemptive )
         {
-            assertEquals( "testPreemptiveAuthenticationPut preemptive=true: expected 2 requests (200,.), got "
+            assertEquals( "testPreemptiveAuthenticationPut preemptive=true: expected 2 requests (200,201), got "
                 + sh.handlerRequestResponses, 2, sh.handlerRequestResponses.size() );
-            assertEquals( 200, sh.handlerRequestResponses.get( 0 ).responseCode );
+            assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 0 ).responseCode );
+            assertEquals( HttpServletResponse.SC_CREATED, sh.handlerRequestResponses.get( 1 ).responseCode );
         }
         else
         {
-            assertEquals( "testPreemptiveAuthenticationPut preemptive=false: expected 3 requests (401,200,.), got "
+            assertEquals( "testPreemptiveAuthenticationPut preemptive=false: expected 3 requests (401,200,201), got "
                 + sh.handlerRequestResponses, 3, sh.handlerRequestResponses.size() );
-            assertEquals( 401, sh.handlerRequestResponses.get( 0 ).responseCode );
-            assertEquals( 200, sh.handlerRequestResponses.get( 1 ).responseCode );
+            assertEquals( HttpServletResponse.SC_UNAUTHORIZED, sh.handlerRequestResponses.get( 0 ).responseCode );
+            assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 1 ).responseCode );
+            assertEquals( HttpServletResponse.SC_CREATED, sh.handlerRequestResponses.get( 2 ).responseCode );
         }
     }
 
 
-    @Override
+    /* This method cannot be reasonable used to represend GET and PUT for WebDAV, it would contain too much
+     * duplicate code. Leave as-is, but don't use it.
+     */
     protected void testPreemptiveAuthentication( TestSecurityHandler sh, boolean preemptive )
     {
         if ( preemptive )
         {
             assertEquals( "testPreemptiveAuthentication preemptive=false: expected 2 requests (200,.), got "
                 + sh.handlerRequestResponses, 2, sh.handlerRequestResponses.size() );
-            assertEquals( 200, sh.handlerRequestResponses.get( 0 ).responseCode );
+            assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 0 ).responseCode );
         }
         else
         {
             assertEquals( "testPreemptiveAuthentication preemptive=false: expected 3 requests (401,200,200), got "
                 + sh.handlerRequestResponses, 3, sh.handlerRequestResponses.size() );
-            assertEquals( 401, sh.handlerRequestResponses.get( 0 ).responseCode );
-            assertEquals( 200, sh.handlerRequestResponses.get( 1 ).responseCode );
-            assertEquals( 200, sh.handlerRequestResponses.get( 2 ).responseCode );
+            assertEquals( HttpServletResponse.SC_UNAUTHORIZED, sh.handlerRequestResponses.get( 0 ).responseCode );
+            assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 1 ).responseCode );
+            assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 2 ).responseCode );
 
         }
     }
 
-    protected void checkRequestResponseForRedirectPutFromStreamWithFullUrl( PutHandler putHandler,
-                                                                            RedirectHandler redirectHandler )
+    @Override
+    protected void checkRequestResponseForRedirectPutWithFullUrl( RedirectHandler redirectHandler,
+                                                                  PutHandler putHandler )
     {
         assertEquals( "found:" + putHandler.handlerRequestResponses, 1, putHandler.handlerRequestResponses.size() );
-        assertEquals( "found:" + putHandler.handlerRequestResponses, 201,
+        assertEquals( "found:" + putHandler.handlerRequestResponses, HttpServletResponse.SC_CREATED,
                       putHandler.handlerRequestResponses.get( 0 ).responseCode );
         assertEquals( "found:" + redirectHandler.handlerRequestResponses, 3,
                       redirectHandler.handlerRequestResponses.size() );
-        assertEquals( "found:" + redirectHandler.handlerRequestResponses, 302,
+        assertEquals( "found:" + redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER,
                       redirectHandler.handlerRequestResponses.get( 0 ).responseCode );
     }
 
-    protected void checkRequestResponseForRedirectPutFromStreamWithRelativeUrl( PutHandler putHandler,
-                                                                                RedirectHandler redirectHandler )
+    @Override
+    protected void checkRequestResponseForRedirectPutWithRelativeUrl( RedirectHandler redirectHandler,
+                                                                      PutHandler putHandler )
     {
         assertEquals( "found:" + putHandler.handlerRequestResponses, 0, putHandler.handlerRequestResponses.size() );
 
         assertEquals( "found:" + redirectHandler.handlerRequestResponses, 4,
                       redirectHandler.handlerRequestResponses.size() );
-        assertEquals( "found:" + redirectHandler.handlerRequestResponses, 302,
+        assertEquals( "found:" + redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER,
                       redirectHandler.handlerRequestResponses.get( 0 ).responseCode );
-        assertEquals( "found:" + redirectHandler.handlerRequestResponses, 302,
+        assertEquals( "found:" + redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER,
                       redirectHandler.handlerRequestResponses.get( 1 ).responseCode );
-        assertEquals( "found:" + redirectHandler.handlerRequestResponses, 201,
+        assertEquals( "found:" + redirectHandler.handlerRequestResponses, HttpServletResponse.SC_CREATED,
                       redirectHandler.handlerRequestResponses.get( 3 ).responseCode );
 
     }

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java b/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
index ba18510..2ac44d6 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
+++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
@@ -1,8 +1,8 @@
 package org.apache.maven.wagon.providers.webdav;
 
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.security.SslSocketConnector;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-tcks/wagon-tck-http/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-tcks/wagon-tck-http/pom.xml b/wagon-tcks/wagon-tck-http/pom.xml
index c874bbc..16d51e2 100644
--- a/wagon-tcks/wagon-tck-http/pom.xml
+++ b/wagon-tcks/wagon-tck-http/pom.xml
@@ -19,7 +19,7 @@ under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
-  
+
   <parent>
     <groupId>org.apache.maven.wagon</groupId>
     <artifactId>wagon-tcks</artifactId>
@@ -28,7 +28,7 @@ under the License.
   </parent>
 
   <artifactId>wagon-tck-http</artifactId>
-  
+
   <name>Apache Maven Wagon :: HTTP Test Compatibility Kit</name>
 
   <dependencies>
@@ -43,12 +43,12 @@ under the License.
       <version>2.2.2</version>
     </dependency>
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
+      <groupId>org.eclipse.jetty.aggregate</groupId>
+      <artifactId>jetty-all</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>servlet-api</artifactId>
+      <groupId>javax.servlet</groupId>
+      <artifactId>javax.servlet-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.wagon</groupId>

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/fixture/ServerFixture.java
----------------------------------------------------------------------
diff --git a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/fixture/ServerFixture.java b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/fixture/ServerFixture.java
index 9152e34..063f47b 100644
--- a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/fixture/ServerFixture.java
+++ b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/fixture/ServerFixture.java
@@ -19,23 +19,24 @@ package org.apache.maven.wagon.tck.http.fixture;
  * under the License.
  */
 
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerCollection;
-import org.mortbay.jetty.nio.SelectChannelConnector;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
-import org.mortbay.jetty.security.SslSocketConnector;
-import org.mortbay.jetty.servlet.AbstractSessionManager;
-import org.mortbay.jetty.servlet.FilterHolder;
-import org.mortbay.jetty.servlet.FilterMapping;
-import org.mortbay.jetty.servlet.ServletHolder;
-import org.mortbay.jetty.servlet.SessionHandler;
-import org.mortbay.jetty.webapp.WebAppContext;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerCollection;
+import org.eclipse.jetty.server.nio.SelectChannelConnector;
+import org.eclipse.jetty.server.session.AbstractSessionManager;
+import org.eclipse.jetty.server.session.SessionHandler;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
+import org.eclipse.jetty.servlet.FilterHolder;
+import org.eclipse.jetty.servlet.FilterMapping;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
+import org.eclipse.jetty.webapp.WebAppContext;
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
@@ -49,7 +50,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * 
+ *
  */
 public class ServerFixture
 {
@@ -69,9 +70,9 @@ public class ServerFixture
 
     private final WebAppContext webappContext;
 
-    private final HashUserRealm securityRealm;
+    private final HashLoginService loginService;
 
-    private final SecurityHandler securityHandler;
+    private final ConstraintSecurityHandler securityHandler;
 
     private int filterCount = 0;
 
@@ -116,11 +117,11 @@ public class ServerFixture
         cm.setConstraint( constraint );
         cm.setPathSpec( "/protected/*" );
 
-        securityHandler = new SecurityHandler();
+        securityHandler = new ConstraintSecurityHandler();
 
-        securityRealm = new HashUserRealm( "Test Server" );
+        loginService = new HashLoginService( "Test Server" );
 
-        securityHandler.setUserRealm( securityRealm );
+        securityHandler.setLoginService( loginService );
         securityHandler.setConstraintMappings( new ConstraintMapping[]{ cm } );
 
         webappContext = new WebAppContext();
@@ -129,7 +130,7 @@ public class ServerFixture
         File base = getResource( SERVER_ROOT_RESOURCE_PATH );
         logger.info( "docroot: " + base );
         webappContext.setWar( base.getAbsolutePath() );
-        webappContext.addHandler( securityHandler );
+        webappContext.setHandler( securityHandler );
 
         SessionHandler sessionHandler = webappContext.getSessionHandler();
         ( (AbstractSessionManager) sessionHandler.getSessionManager() ).setUsingCookies( false );
@@ -161,8 +162,7 @@ public class ServerFixture
 
     public void addUser( final String user, final String password )
     {
-        securityRealm.put( user, password );
-        securityRealm.addUserToRole( user, "allowed" );
+        loginService.putUser( user, new Password( password ), new String[] { "allowed" } );
     }
 
     public Server getServer()


Re: [1/2] maven-wagon git commit: [WAGON-474] Upgrade and revise all tests for Jetty 8

Posted by Michael Osipov <mi...@apache.org>.
Am 2016-12-26 um 02:56 schrieb Dan Tran:
> redhat7/openjdk 7 ( latest)
>
> this test fails on timeout.  I have seen this issue before not lately. Used
> to work on  2.9, 2 10, and 2.11)

Please add the following to your Surefire config:
>               <org.slf4j.simpleLogger.showDateTime>true</org.slf4j.simpleLogger.showDateTime>
>               <org.slf4j.simpleLogger.dateTimeFormat>yyyy-MM-dd'T'HH:mm:ss.SSS</org.slf4j.simpleLogger.dateTimeFormat>
>               <org.slf4j.simpleLogger.log.org.apache.http>debug</org.slf4j.simpleLogger.log.org.apache.http>
>               <org.slf4j.simpleLogger.log.org.apache.http.wire>error</org.slf4j.simpleLogger.log.org.apache.http.wire>
>               <org.slf4j.simpleLogger.log.org.apache.http.impl.conn>debug</org.slf4j.simpleLogger.log.org.apache.http.impl.conn>
>               <org.slf4j.simpleLogger.log.org.apache.http.impl.auth>debug</org.slf4j.simpleLogger.log.org.apache.http.impl.auth>
>               <org.slf4j.simpleLogger.log.org.apache.http.impl.client>debug</org.slf4j.simpleLogger.log.org.apache.http.impl.client>
>               <org.slf4j.simpleLogger.log.org.apache.http.client>debug</org.slf4j.simpleLogger.log.org.apache.http.client>
>               <org.slf4j.simpleLogger.log.org.apache.httpclient.wire.header>debug</org.slf4j.simpleLogger.log.org.apache.httpclient.wire.header>
>               <org.slf4j.simpleLogger.log.org.apache.commons.httpclient>error</org.slf4j.simpleLogger.log.org.apache.commons.httpclient>

and we will see what the HttpClient does and why it is is failing. I ran 
preliminary tests on FC25 with OpenJDK 8, no issues so far.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: [1/2] maven-wagon git commit: [WAGON-474] Upgrade and revise all tests for Jetty 8

Posted by Dan Tran <da...@gmail.com>.
redhat7/openjdk 7 ( latest)

this test fails on timeout.  I have seen this issue before not lately. Used
to work on  2.9, 2 10, and 2.11)

-D

On Sun, Dec 25, 2016 at 4:59 PM, Michael Osipov <mi...@apache.org> wrote:

> Am 2016-12-26 um 01:45 schrieb Dan Tran:
>
>> this branch has one test consistently fail test on my local redhat 7,
>> java 7
>>
>> Running org.apache.maven.wagon.providers.http.HugeFileDownloadTest
>>
>
> What does it say? What JDK version do you use?
>
> This test works for me on two operating systems and five JDK versions.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

Re: [1/2] maven-wagon git commit: [WAGON-474] Upgrade and revise all tests for Jetty 8

Posted by Michael Osipov <mi...@apache.org>.
Am 2016-12-26 um 01:45 schrieb Dan Tran:
> this branch has one test consistently fail test on my local redhat 7, java 7
>
> Running org.apache.maven.wagon.providers.http.HugeFileDownloadTest

What does it say? What JDK version do you use?

This test works for me on two operating systems and five JDK versions.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: [1/2] maven-wagon git commit: [WAGON-474] Upgrade and revise all tests for Jetty 8

Posted by Dan Tran <da...@gmail.com>.
this branch has one test consistently fail test on my local redhat 7, java 7

Running org.apache.maven.wagon.providers.http.HugeFileDownloadTest




On Sun, Dec 25, 2016 at 3:58 PM, <mi...@apache.org> wrote:

> Repository: maven-wagon
> Updated Branches:
>   refs/heads/jetty-8 [created] e707a2691
>
>
> [WAGON-474] Upgrade and revise all tests for Jetty 8
>
> * Upgrade all test code to Jetty 8.1.22 and Servlet 3.0
> * Unify variable names in redirect usecases to realServer and
>   redirectServer
> * RedirectHandler: redirect code is passed but completely ignored because
>   sendRedirect() always sends 302
> * Chronologically sort checkHandlerResult() calls
> ** Set redirect code (See Other (303)) as requested
> ** Update checkHandlerResult() for requested status codes rather sent
>    chosen by server (mismatched previously)
> * testPreemptiveAuthentication*(): properly check for OK for GET and
>   CREATED for PUT instead of OK only for both
> * WebDavWagonTest: replace status code literal for
>   HttpServletResponse.SC_* for better readability
> * testRedirect*(): add more checkHandlerResults
>
>
> Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
> Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/2e1c807e
> Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/2e1c807e
> Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/2e1c807e
>
> Branch: refs/heads/jetty-8
> Commit: 2e1c807e5345a1999376771f8b378b8cd3328fee
> Parents: b451e41
> Author: Michael Osipov <mi...@apache.org>
> Authored: Mon Dec 26 00:55:09 2016 +0100
> Committer: Michael Osipov <mi...@apache.org>
> Committed: Mon Dec 26 00:55:09 2016 +0100
>
> ----------------------------------------------------------------------
>  pom.xml                                         |  14 +-
>  wagon-provider-test/pom.xml                     |   8 +-
>  .../maven/wagon/http/HttpWagonTestCase.java     | 273 ++++++++++---------
>  wagon-providers/wagon-http-lightweight/pom.xml  |   4 +-
>  .../http/LightweightHttpsWagonTest.java         |   6 +-
>  wagon-providers/wagon-http/pom.xml              |   8 +-
>  .../http/HttpWagonHttpServerTestCase.java       |  14 +-
>  .../http/HttpWagonReasonPhraseTest.java         |   2 +-
>  .../providers/http/HttpWagonTimeoutTest.java    |   2 +-
>  .../http/HttpsWagonPreemptiveTest.java          |   6 +-
>  .../wagon/providers/http/HttpsWagonTest.java    |   6 +-
>  .../providers/http/HugeFileDownloadTest.java    |  14 +-
>  wagon-providers/wagon-ssh/pom.xml               |   8 +-
>  .../ssh/jsch/ScpWagonWithProxyTest.java         |  16 +-
>  wagon-providers/wagon-webdav-jackrabbit/pom.xml |   8 +-
>  .../wagon/providers/webdav/WebDavWagonTest.java |  73 ++---
>  .../providers/webdav/WebDavsWagonTest.java      |   6 +-
>  wagon-tcks/wagon-tck-http/pom.xml               |  12 +-
>  .../wagon/tck/http/fixture/ServerFixture.java   |  52 ++--
>  19 files changed, 278 insertions(+), 254 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/pom.xml
> ----------------------------------------------------------------------
> diff --git a/pom.xml b/pom.xml
> index e127da4..a90a1ba 100644
> --- a/pom.xml
> +++ b/pom.xml
> @@ -313,14 +313,14 @@ under the License.
>        </dependency>
>
>        <dependency>
> -        <groupId>org.mortbay.jetty</groupId>
> -        <artifactId>jetty</artifactId>
> -        <version>6.1.26</version>
> +        <groupId>org.eclipse.jetty.aggregate</groupId>
> +        <artifactId>jetty-all</artifactId>
> +        <version>8.1.22.v20160922</version>
>        </dependency>
>        <dependency>
> -        <groupId>org.mortbay.jetty</groupId>
> -        <artifactId>servlet-api</artifactId>
> -        <version>2.5-20081211</version>
> +        <groupId>javax.servlet</groupId>
> +        <artifactId>javax.servlet-api</artifactId>
> +        <version>3.0.1</version>
>      </dependency>
>      </dependencies>
>    </dependencyManagement>
> @@ -565,5 +565,5 @@ under the License.
>        </reporting>
>      </profile>
>    </profiles>
> -
> +
>  </project>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-provider-test/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-provider-test/pom.xml b/wagon-provider-test/pom.xml
> index b19e7ac..9b0f4e5 100644
> --- a/wagon-provider-test/pom.xml
> +++ b/wagon-provider-test/pom.xml
> @@ -51,12 +51,12 @@ under the License.
>        <scope>compile</scope>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>servlet-api</artifactId>
> +      <groupId>javax.servlet</groupId>
> +      <artifactId>javax.servlet-api</artifactId>
>      </dependency>
>      <dependency>
>        <groupId>org.slf4j</groupId>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/
> HttpWagonTestCase.java
> ----------------------------------------------------------------------
> diff --git a/wagon-provider-test/src/main/java/org/apache/maven/
> wagon/http/HttpWagonTestCase.java b/wagon-provider-test/src/
> main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
> index dfc499e..cf479fd 100644
> --- a/wagon-provider-test/src/main/java/org/apache/maven/
> wagon/http/HttpWagonTestCase.java
> +++ b/wagon-provider-test/src/main/java/org/apache/maven/
> wagon/http/HttpWagonTestCase.java
> @@ -34,20 +34,21 @@ import org.apache.maven.wagon.resource.Resource;
>  import org.codehaus.plexus.util.FileUtils;
>  import org.codehaus.plexus.util.IOUtil;
>  import org.codehaus.plexus.util.StringUtils;
> -import org.mortbay.jetty.Handler;
> -import org.mortbay.jetty.HttpConnection;
> -import org.mortbay.jetty.Request;
> -import org.mortbay.jetty.Response;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.handler.AbstractHandler;
> -import org.mortbay.jetty.handler.HandlerCollection;
> -import org.mortbay.jetty.security.Constraint;
> -import org.mortbay.jetty.security.ConstraintMapping;
> -import org.mortbay.jetty.security.HashUserRealm;
> -import org.mortbay.jetty.security.SecurityHandler;
> -import org.mortbay.jetty.servlet.Context;
> -import org.mortbay.jetty.servlet.DefaultServlet;
> -import org.mortbay.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.security.ConstraintMapping;
> +import org.eclipse.jetty.security.ConstraintSecurityHandler;
> +import org.eclipse.jetty.security.HashLoginService;
> +import org.eclipse.jetty.security.SecurityHandler;
> +import org.eclipse.jetty.security.authentication.BasicAuthenticator;
> +import org.eclipse.jetty.server.Request;
> +import org.eclipse.jetty.server.Response;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.handler.AbstractHandler;
> +import org.eclipse.jetty.server.handler.HandlerCollection;
> +import org.eclipse.jetty.util.security.Constraint;
> +import org.eclipse.jetty.util.security.Password;
> +import org.eclipse.jetty.servlet.DefaultServlet;
> +import org.eclipse.jetty.servlet.ServletContextHandler;
> +import org.eclipse.jetty.servlet.ServletHolder;
>
>  import javax.servlet.ServletException;
>  import javax.servlet.http.HttpServletRequest;
> @@ -99,9 +100,12 @@ public abstract class HttpWagonTestCase
>          server = new Server( 0 );
>
>          PutHandler putHandler = new PutHandler( repositoryDirectory );
> -        server.addHandler( putHandler );
>
> -        createContext( server, repositoryDirectory );
> +        ServletContextHandler context = createContext( server,
> repositoryDirectory );
> +        HandlerCollection handlers = new HandlerCollection();
> +        handlers.addHandler( putHandler );
> +        handlers.addHandler( context );
> +        server.setHandler( handlers );
>
>          addConnectors( server );
>
> @@ -120,13 +124,14 @@ public abstract class HttpWagonTestCase
>          return server.getConnectors()[0].getLocalPort();
>      }
>
> -    protected void createContext( Server server, File repositoryDirectory
> )
> +    protected ServletContextHandler createContext( Server server, File
> repositoryDirectory )
>          throws IOException
>      {
> -        Context root = new Context( server, "/", Context.SESSIONS );
> +        ServletContextHandler root = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          root.setResourceBase( repositoryDirectory.getAbsolutePath() );
>          ServletHolder servletHolder = new ServletHolder( new
> DefaultServlet() );
>          root.addServlet( servletHolder, "/*" );
> +        return root;
>      }
>
>      protected void tearDownWagonTestingFixtures()
> @@ -216,7 +221,7 @@ public abstract class HttpWagonTestCase
>          server.setHandler( handler );
>          addConnectors( server );
>          server.start();
> -        wagon.connect( new Repository( "id", getProtocol() +
> "://localhost:"
> +        wagon.connect( new Repository( "id", getProtocol() +
> "://localhost:"
>            + server.getConnectors()[0].getLocalPort() ) );
>          wagon.getToStream( "resource", new ByteArrayOutputStream() );
>          wagon.disconnect();
> @@ -309,19 +314,19 @@ public abstract class HttpWagonTestCase
>
>              AbstractHandler handler = new AbstractHandler()
>              {
> -                public void handle( String s, HttpServletRequest request,
> HttpServletResponse response, int i )
> -                    throws IOException, ServletException
> +                public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +                    HttpServletResponse response ) throws IOException,
> ServletException
>                  {
>                      if ( called.get() )
>                      {
>                          response.setStatus( HttpServletResponse.SC_OK );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>                      }
>                      else
>                      {
>                          called.set( true );
>                          response.setStatus( SC_TOO_MANY_REQUESTS );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>
>                      }
>                  }
> @@ -456,19 +461,19 @@ public abstract class HttpWagonTestCase
>
>              AbstractHandler handler = new AbstractHandler()
>              {
> -                public void handle( String s, HttpServletRequest request,
> HttpServletResponse response, int i )
> -                    throws IOException, ServletException
> +                public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +                    HttpServletResponse response ) throws IOException,
> ServletException
>                  {
>                      if ( called.get() )
>                      {
>                          response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR
> );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>                      }
>                      else
>                      {
>                          called.set( true );
>                          response.setStatus( SC_TOO_MANY_REQUESTS );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>                      }
>                  }
>              };
> @@ -543,12 +548,13 @@ public abstract class HttpWagonTestCase
>          Server server = new Server( getTestRepositoryPort() );
>
>          String localRepositoryPath = FileTestUtils.
> getTestOutputDir().toString();
> -        Context root = new Context( server, "/", Context.SESSIONS );
> +        ServletContextHandler root = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          root.setResourceBase( localRepositoryPath );
>          ServletHolder servletHolder = new ServletHolder( new
> DefaultServlet() );
>          servletHolder.setInitParameter( "gzip", "true" );
>          root.addServlet( servletHolder, "/*" );
>          addConnectors( server );
> +        server.setHandler( root );
>          server.start();
>
>          try
> @@ -655,12 +661,12 @@ public abstract class HttpWagonTestCase
>      {
>          StreamingWagon wagon = (StreamingWagon) getWagon();
>
> -        Server server = new Server( 0 );
> +        Server realServer = new Server( 0 );
>          TestHeaderHandler handler = new TestHeaderHandler();
>
> -        server.setHandler( handler );
> -        addConnectors( server );
> -        server.start();
> +        realServer.setHandler( handler );
> +        addConnectors( realServer );
> +        realServer.start();
>
>          Server redirectServer = new Server( 0 );
>
> @@ -679,10 +685,10 @@ public abstract class HttpWagonTestCase
>              protocol = "https";
>          }
>
> -        String redirectUrl = protocol + "://localhost:" +
> server.getConnectors()[0].getLocalPort();
> +        String redirectUrl = protocol + "://localhost:" +
> realServer.getConnectors()[0].getLocalPort();
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, null );
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, null );
>
>          redirectServer.setHandler( redirectHandler );
>
> @@ -702,14 +708,14 @@ public abstract class HttpWagonTestCase
>              String found = FileUtils.fileRead( tmpResult );
>              assertEquals( "found:'" + found + "'", "Hello, World!", found
> );
>
> +            checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER );
>              checkHandlerResult( handler.handlerRequestResponses,
> HttpServletResponse.SC_OK );
> -            checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_FOUND );
>          }
>          finally
>          {
>              wagon.disconnect();
>
> -            server.stop();
> +            realServer.stop();
>
>              tmpResult.delete();
>          }
> @@ -720,12 +726,12 @@ public abstract class HttpWagonTestCase
>      {
>          StreamingWagon wagon = (StreamingWagon) getWagon();
>
> -        Server server = new Server( 0 );
> +        Server realServer = new Server( 0 );
>          TestHeaderHandler handler = new TestHeaderHandler();
>
> -        server.setHandler( handler );
> -        addConnectors( server );
> -        server.start();
> +        realServer.setHandler( handler );
> +        addConnectors( realServer );
> +        realServer.start();
>
>          Server redirectServer = new Server( 0 );
>
> @@ -744,10 +750,10 @@ public abstract class HttpWagonTestCase
>              protocol = "https";
>          }
>
> -        String redirectUrl = protocol + "://localhost:" +
> server.getConnectors()[0].getLocalPort();
> +        String redirectUrl = protocol + "://localhost:" +
> realServer.getConnectors()[0].getLocalPort();
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, null );
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, null );
>
>          redirectServer.setHandler( redirectHandler );
>
> @@ -763,14 +769,14 @@ public abstract class HttpWagonTestCase
>              String found = FileUtils.fileRead( tmpResult );
>              assertEquals( "found:'" + found + "'", "Hello, World!", found
> );
>
> +            checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER );
>              checkHandlerResult( handler.handlerRequestResponses,
> HttpServletResponse.SC_OK );
> -            checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_FOUND );
>          }
>          finally
>          {
>              wagon.disconnect();
>
> -            server.stop();
> +            realServer.stop();
>
>              tmpResult.delete();
>          }
> @@ -814,7 +820,7 @@ public abstract class HttpWagonTestCase
>          String redirectUrl = protocol + "://localhost:" +
> realServer.getConnectors()[0].getLocalPort();
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, repositoryDirectory );
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, repositoryDirectory );
>
>          redirectServer.setHandler( redirectHandler );
>
> @@ -839,6 +845,9 @@ public abstract class HttpWagonTestCase
>              try
>              {
>                  wagon.putFromStream( fileInputStream,
> "test-secured-put-resource", content.length(), -1 );
> +                assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> +
> +                checkRequestResponseForRedirectPutWithFullUrl(
> redirectHandler, putHandler );
>              }
>              finally
>              {
> @@ -847,9 +856,6 @@ public abstract class HttpWagonTestCase
>
>              }
>
> -            assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> -
> -            checkRequestResponseForRedirectPutFromStreamWithFullUrl(
> putHandler, redirectHandler );
>          }
>          finally
>          {
> @@ -858,11 +864,11 @@ public abstract class HttpWagonTestCase
>          }
>      }
>
> -    protected void checkRequestResponseForRedirectPutFromStreamWithFullUrl(
> PutHandler putHandler,
> -
>   RedirectHandler redirectHandler )
> +    protected void checkRequestResponseForRedirectPutWithFullUrl(
> RedirectHandler redirectHandler,
> +
> PutHandler putHandler )
>      {
> +        checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER );
>          checkHandlerResult( putHandler.handlerRequestResponses,
> HttpServletResponse.SC_CREATED );
> -        checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_FOUND );
>      }
>
>      public void testRedirectPutFromStreamRelativeUrl()
> @@ -885,7 +891,7 @@ public abstract class HttpWagonTestCase
>          addConnectors( redirectServer );
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> "/redirectRequest/foo",
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> "/redirectRequest/foo",
>                                   repositoryDirectory );
>
>          redirectServer.setHandler( redirectHandler );
> @@ -911,6 +917,9 @@ public abstract class HttpWagonTestCase
>              try
>              {
>                  wagon.putFromStream( fileInputStream,
> "test-secured-put-resource", content.length(), -1 );
> +                assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> +
> +                checkRequestResponseForRedirectPutWithRelativeUrl(
> redirectHandler, putHandler );
>              }
>              finally
>              {
> @@ -919,10 +928,6 @@ public abstract class HttpWagonTestCase
>
>              }
>
> -            assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> -
> -            checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
> putHandler, redirectHandler );
> -
>          }
>          finally
>          {
> @@ -931,12 +936,12 @@ public abstract class HttpWagonTestCase
>          }
>      }
>
> -    protected void checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
> PutHandler putHandler,
> -
>       RedirectHandler redirectHandler )
> +    protected void checkRequestResponseForRedirectPutWithRelativeUrl(
> RedirectHandler redirectHandler,
> +
> PutHandler putHandler )
>      {
> -        checkHandlerResult( putHandler.handlerRequestResponses );
> -        checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_FOUND,
> +        checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER,
>                              HttpServletResponse.SC_CREATED );
> +        checkHandlerResult( putHandler.handlerRequestResponses );
>      }
>
>      protected void checkHandlerResult( List<HandlerRequestResponse>
> handlerRequestResponses,
> @@ -994,7 +999,7 @@ public abstract class HttpWagonTestCase
>          String redirectUrl = protocol + "://localhost:" +
> realServer.getConnectors()[0].getLocalPort();
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, repositoryDirectory );
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, repositoryDirectory );
>
>          redirectServer.setHandler( redirectHandler );
>
> @@ -1018,14 +1023,15 @@ public abstract class HttpWagonTestCase
>              try
>              {
>                  wagon.put( tempFile, "test-secured-put-resource" );
> +                assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> +
> +                checkRequestResponseForRedirectPutWithFullUrl(
> redirectHandler, putHandler );
>              }
>              finally
>              {
>                  tempFile.delete();
>              }
>
> -            assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> -
>          }
>          finally
>          {
> @@ -1055,7 +1061,7 @@ public abstract class HttpWagonTestCase
>          addConnectors( redirectServer );
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> "/redirectRequest/foo",
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> "/redirectRequest/foo",
>                                   repositoryDirectory );
>
>          redirectServer.setHandler( redirectHandler );
> @@ -1080,14 +1086,15 @@ public abstract class HttpWagonTestCase
>              try
>              {
>                  wagon.put( tempFile, "test-secured-put-resource" );
> +                assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> +
> +                checkRequestResponseForRedirectPutWithRelativeUrl(
> redirectHandler, putHandler );
>              }
>              finally
>              {
>                  tempFile.delete();
>              }
>
> -            assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> -
>          }
>          finally
>          {
> @@ -1098,7 +1105,7 @@ public abstract class HttpWagonTestCase
>
>
>      /**
> -     *
> +     *
>       */
>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>      public static class RedirectHandler
> @@ -1122,23 +1129,28 @@ public abstract class HttpWagonTestCase
>              this.repositoryDirectory = repositoryDirectory;
>          }
>
> -        public void handle( String s, HttpServletRequest req,
> HttpServletResponse resp, int i )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
> -            if ( req.getRequestURI().contains( "redirectRequest" ) )
> +            if ( request.getRequestURI().contains( "redirectRequest" ) )
>              {
>                  PutHandler putHandler = new PutHandler(
> this.repositoryDirectory );
> -                putHandler.handle( s, req, resp, i );
> +                putHandler.handle( target, baseRequest, request, response
> );
>                  handlerRequestResponses.add(
> -                    new HandlerRequestResponse( req.getMethod(), (
> (Response) resp ).getStatus(),
> -                                                req.getRequestURI() ) );
> +                    new HandlerRequestResponse( request.getMethod(), (
> (Response) response ).getStatus(),
> +                                                request.getRequestURI() )
> );
>                  return;
>              }
> -            resp.setStatus( this.retCode );
> -            resp.sendRedirect( this.redirectUrl + "/" +
> req.getRequestURI() );
> +            response.setStatus( this.retCode );
> +            response.setHeader( "Location", this.redirectUrl +
> request.getRequestURI() );
> +            baseRequest.setHandled( true );
> +
>              handlerRequestResponses.add(
> -                new HandlerRequestResponse( req.getMethod(), ( (Response)
> resp ).getStatus(), req.getRequestURI() ) );
> +                new HandlerRequestResponse( request.getMethod(), (
> (Response) response ).getStatus(),
> +                                            request.getRequestURI() ) );
>          }
> +
> +
>      }
>
>
> @@ -1342,7 +1354,8 @@ public abstract class HttpWagonTestCase
>
>              assertEquals( "top secret", IOUtil.toString( in ) );
>
> -            TestSecurityHandler securityHandler = (TestSecurityHandler) (
> (Context) server.getHandler() ).getHandler();
> +            TestSecurityHandler securityHandler = (
> (ServletContextHandler) server.getHandler() )
> +                .getChildHandlerByClass( TestSecurityHandler.class );
>              testPreemptiveAuthenticationGet( securityHandler,
> supportPreemptiveAuthenticationGet() );
>
>          }
> @@ -1393,7 +1406,8 @@ public abstract class HttpWagonTestCase
>
>              assertEquals( "top secret", out.toString( "US-ASCII" ) );
>
> -            TestSecurityHandler securityHandler = (TestSecurityHandler) (
> (Context) server.getHandler() ).getHandler();
> +            TestSecurityHandler securityHandler = (
> (ServletContextHandler) server.getHandler() )
> +                .getChildHandlerByClass( TestSecurityHandler.class );
>              testPreemptiveAuthenticationGet( securityHandler,
> supportPreemptiveAuthenticationGet() );
>          }
>          finally
> @@ -1483,10 +1497,10 @@ public abstract class HttpWagonTestCase
>
>          SecurityHandler sh = createSecurityHandler();
>
> -        Context root = new Context( Context.SESSIONS );
> -        root.setContextPath( "/" );
> -        root.addHandler( sh );
> +        ServletContextHandler root = new ServletContextHandler(
> ServletContextHandler.SESSIONS
> +            | ServletContextHandler.SECURITY );
>          root.setResourceBase( localRepositoryPath );
> +        root.setSecurityHandler( sh );
>          ServletHolder servletHolder = new ServletHolder( new
> DefaultServlet() );
>          root.addServlet( servletHolder, "/*" );
>
> @@ -1587,19 +1601,19 @@ public abstract class HttpWagonTestCase
>
>              AbstractHandler handler = new AbstractHandler()
>              {
> -                public void handle( String s, HttpServletRequest request,
> HttpServletResponse response, int i )
> -                    throws IOException, ServletException
> +                public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +                    HttpServletResponse response ) throws IOException,
> ServletException
>                  {
>                      if ( called.get() )
>                      {
>                          response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR
> );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>                      }
>                      else
>                      {
>                          called.set( true );
>                          response.setStatus( SC_TOO_MANY_REQUESTS );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>                      }
>                  }
>              };
> @@ -1725,10 +1739,8 @@ public abstract class HttpWagonTestCase
>
>          PutHandler putHandler = new PutHandler( new File(
> localRepositoryPath ) );
>
> -        HandlerCollection handlers = new HandlerCollection();
> -        handlers.setHandlers( new Handler[]{ sh, putHandler } );
> -
> -        server.setHandler( handlers );
> +        sh.setHandler( putHandler );
> +        server.setHandler( sh );
>          addConnectors( server );
>          server.start();
>
> @@ -1796,10 +1808,15 @@ public abstract class HttpWagonTestCase
>
>          PutHandler putHandler = new PutHandler( new File(
> localRepositoryPath ) );
>
> -        HandlerCollection handlers = new HandlerCollection();
> -        handlers.setHandlers( addSecurityHandler ? new Handler[]{ sh,
> putHandler } : new Handler[]{ putHandler } );
> -
> -        server.setHandler( handlers );
> +        if ( addSecurityHandler )
> +        {
> +            sh.setHandler( putHandler );
> +            server.setHandler( sh );
> +        }
> +        else
> +        {
> +            server.setHandler( putHandler );
> +        }
>          addConnectors( server );
>          server.start();
>
> @@ -1871,29 +1888,29 @@ public abstract class HttpWagonTestCase
>
>      protected void testPreemptiveAuthenticationGet( TestSecurityHandler
> sh, boolean preemptive )
>      {
> -        testPreemptiveAuthentication( sh, preemptive );
> +        testPreemptiveAuthentication( sh, preemptive,
> HttpServletResponse.SC_OK );
>      }
>
>      protected void testPreemptiveAuthenticationPut( TestSecurityHandler
> sh, boolean preemptive )
>      {
> -        testPreemptiveAuthentication( sh, preemptive );
> +        testPreemptiveAuthentication( sh, preemptive,
> HttpServletResponse.SC_CREATED );
>      }
>
> -    protected void testPreemptiveAuthentication( TestSecurityHandler sh,
> boolean preemptive )
> +    protected void testPreemptiveAuthentication( TestSecurityHandler sh,
> boolean preemptive, int statusCode )
>      {
>
>          if ( preemptive )
>          {
>              assertEquals( "not 1 security handler use " +
> sh.handlerRequestResponses, 1,
>                            sh.handlerRequestResponses.size() );
> -            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> +            assertEquals( statusCode, sh.handlerRequestResponses.get( 0
> ).responseCode );
>          }
>          else
>          {
>              assertEquals( "not 2 security handler use " +
> sh.handlerRequestResponses, 2,
>                            sh.handlerRequestResponses.size() );
>              assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> -            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 1 ).responseCode );
> +            assertEquals( statusCode, sh.handlerRequestResponses.get( 1
> ).responseCode );
>
>          }
>      }
> @@ -1908,13 +1925,13 @@ public abstract class HttpWagonTestCase
>              this.status = status;
>          }
>
> -        public void handle( String target, HttpServletRequest request,
> HttpServletResponse response, int dispatch )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
>              if ( status != 0 )
>              {
>                  response.setStatus( status );
> -                ( (Request) request ).setHandled( true );
> +                baseRequest.setHandled( true );
>              }
>          }
>      }
> @@ -1949,7 +1966,7 @@ public abstract class HttpWagonTestCase
>      }
>
>      /**
> -     *
> +     *
>       */
>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>      public static class PutHandler
> @@ -1968,12 +1985,9 @@ public abstract class HttpWagonTestCase
>              this.resourceBase = repositoryDirectory;
>          }
>
> -        public void handle( String target, HttpServletRequest request,
> HttpServletResponse response, int dispatch )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
> -            Request baseRequest =
> -                request instanceof Request ? (Request) request :
> HttpConnection.getCurrentConnection().getRequest();
> -
>              if ( baseRequest.isHandled() || !"PUT".equals(
> baseRequest.getMethod() ) )
>              {
>                  return;
> @@ -2023,8 +2037,8 @@ public abstract class HttpWagonTestCase
>
>          List<HandlerRequestResponse> handlerRequestResponses = new
> ArrayList<HandlerRequestResponse>();
>
> -        public void handle( String target, HttpServletRequest request,
> HttpServletResponse response, int dispatch )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
>              System.out.println( " handle proxy request" );
>              if ( request.getHeader( "Proxy-Authorization" ) == null )
> @@ -2036,17 +2050,17 @@ public abstract class HttpWagonTestCase
>                  response.setStatus( HttpServletResponse.SC_PROXY_AUTHENTICATION_REQUIRED
> );
>                  response.addHeader( "Proxy-Authenticate", "Basic
> realm=\"Squid proxy-caching web server\"" );
>
> -                ( (Request) request ).setHandled( true );
> +                baseRequest.setHandled( true );
>                  return;
>              }
>              handlerRequestResponses.add(
>                  new HandlerRequestResponse( request.getMethod(),
> HttpServletResponse.SC_OK, request.getRequestURI() ) );
> -            super.handle( target, request, response, dispatch );
> +            super.handle( target, baseRequest, request, response );
>          }
>      }
>
>      /**
> -     *
> +     *
>       */
>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>      private static class TestHeaderHandler
> @@ -2060,14 +2074,14 @@ public abstract class HttpWagonTestCase
>          {
>          }
>
> -        public void handle( String target, HttpServletRequest request,
> HttpServletResponse response, int dispatch )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRrequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
>              headers = new HashMap<String, String>();
> -            for ( Enumeration<String> e = request.getHeaderNames();
> e.hasMoreElements(); )
> +            for ( Enumeration<String> e = baseRrequest.getHeaderNames();
> e.hasMoreElements(); )
>              {
>                  String name = e.nextElement();
> -                Enumeration headerValues = request.getHeaders( name );
> +                Enumeration headerValues = baseRrequest.getHeaders( name
> );
>                  // as per HTTP spec http://www.w3.org/Protocols/
> rfc2616/rfc2616-sec4.html
>                  // multiple values for the same header key are
> concatenated separated by comma
>                  // otherwise we wouldn't notice headers with same key
> added multiple times
> @@ -2088,10 +2102,10 @@ public abstract class HttpWagonTestCase
>              response.getWriter().print( "Hello, World!" );
>
>              handlerRequestResponses.add(
> -                new HandlerRequestResponse( request.getMethod(), (
> (Response) response ).getStatus(),
> -                                            request.getRequestURI() ) );
> +                new HandlerRequestResponse( baseRrequest.getMethod(), (
> (Response) response ).getStatus(),
> +                                            baseRrequest.getRequestURI()
> ) );
>
> -            ( (Request) request ).setHandled( true );
> +            baseRrequest.setHandled( true );
>          }
>
>      }
> @@ -2108,39 +2122,38 @@ public abstract class HttpWagonTestCase
>          cm.setPathSpec( "/*" );
>
>          TestSecurityHandler sh = new TestSecurityHandler();
> -        HashUserRealm hashUserRealm = new HashUserRealm( "MyRealm" );
> -        hashUserRealm.put( "user", "secret" );
> -        hashUserRealm.addUserToRole( "user", "admin" );
> -        sh.setUserRealm( hashUserRealm );
> +        HashLoginService hashLoginService = new HashLoginService(
> "MyRealm" );
> +        hashLoginService.putUser( "user", new Password( "secret" ), new
> String[] { "admin" } );
> +        sh.setLoginService( hashLoginService );
>          sh.setConstraintMappings( new ConstraintMapping[]{ cm } );
> +        sh.setAuthenticator ( new BasicAuthenticator() );
>          return sh;
>      }
>
>      /**
> -     *
> +     *
>       */
>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>      public static class TestSecurityHandler
> -        extends SecurityHandler
> +        extends ConstraintSecurityHandler
>      {
>
>          public List<HandlerRequestResponse> handlerRequestResponses = new
> ArrayList<HandlerRequestResponse>();
>
>          @Override
> -        public void handle( String target, HttpServletRequest request,
> HttpServletResponse response, int dispatch )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
>              String method = request.getMethod();
> -            super.handle( target, request, response, dispatch );
> +            super.handle( target, baseRequest, request, response );
>
>              handlerRequestResponses.add(
>                  new HandlerRequestResponse( method, ( (Response) response
> ).getStatus(), request.getRequestURI() ) );
>          }
> -
>      }
>
>      /**
> -     *
> +     *
>       */
>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>      public static class HandlerRequestResponse
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http-lightweight/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http-lightweight/pom.xml
> b/wagon-providers/wagon-http-lightweight/pom.xml
> index f723004..dd79d17 100644
> --- a/wagon-providers/wagon-http-lightweight/pom.xml
> +++ b/wagon-providers/wagon-http-lightweight/pom.xml
> @@ -60,8 +60,8 @@ under the License.
>        <artifactId>junit</artifactId>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http-lightweight/src/
> test/java/org/apache/maven/wagon/providers/http/
> LightweightHttpsWagonTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http-lightweight/src/test/java/org/
> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
> b/wagon-providers/wagon-http-lightweight/src/test/java/org/
> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
> index 3b532eb..fe30c83 100644
> --- a/wagon-providers/wagon-http-lightweight/src/test/java/org/
> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
> +++ b/wagon-providers/wagon-http-lightweight/src/test/java/org/
> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
> @@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
>   * under the License.
>   */
>
> -import org.mortbay.jetty.Connector;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.security.SslSocketConnector;
> +import org.eclipse.jetty.server.Connector;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>  public class LightweightHttpsWagonTest
>      extends LightweightHttpWagonTest
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/pom.xml
> b/wagon-providers/wagon-http/pom.xml
> index 794098d..e32cfcc 100644
> --- a/wagon-providers/wagon-http/pom.xml
> +++ b/wagon-providers/wagon-http/pom.xml
> @@ -77,13 +77,13 @@ under the License.
>        <artifactId>junit</artifactId>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>servlet-api</artifactId>
> +      <groupId>javax.servlet</groupId>
> +      <artifactId>javax.servlet-api</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
> index b5ef1e8..5e7e72b 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
> @@ -21,9 +21,9 @@ package org.apache.maven.wagon.providers.http;
>
>  import org.apache.maven.wagon.Wagon;
>  import org.codehaus.plexus.PlexusTestCase;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.handler.ResourceHandler;
> -import org.mortbay.jetty.servlet.Context;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.handler.ResourceHandler;
> +import org.eclipse.jetty.servlet.ServletContextHandler;
>
>  /**
>   * User: jdumay Date: 24/01/2008 Time: 18:15:53
> @@ -37,7 +37,7 @@ public abstract class HttpWagonHttpServerTestCase
>
>      protected ResourceHandler resourceHandler;
>
> -    protected Context context;
> +    protected ServletContextHandler context;
>
>      protected void setUp()
>          throws Exception
> @@ -45,10 +45,10 @@ public abstract class HttpWagonHttpServerTestCase
>          super.setUp();
>          server = new Server( httpServerPort );
>
> -        context = new Context( server, "/", Context.SESSIONS );
> -
> +        context = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          resourceHandler = new ResourceHandler();
> -        server.addHandler( resourceHandler );
> +        context.setHandler( resourceHandler );
> +        server.setHandler( context );
>      }
>
>      protected Wagon getWagon()
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
> index 32cbf32..484d638 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
> @@ -24,7 +24,7 @@ import org.apache.maven.wagon.TransferFailedException;
>  import org.apache.maven.wagon.Wagon;
>  import org.apache.maven.wagon.authorization.AuthorizationException;
>  import org.apache.maven.wagon.repository.Repository;
> -import org.mortbay.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.servlet.ServletHolder;
>
>  import java.io.File;
>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonTimeoutTest.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonTimeoutTest.java
> index c223f23..9d2c0eb 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonTimeoutTest.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonTimeoutTest.java
> @@ -23,7 +23,7 @@ import org.apache.maven.wagon.FileTestUtils;
>  import org.apache.maven.wagon.TransferFailedException;
>  import org.apache.maven.wagon.Wagon;
>  import org.apache.maven.wagon.repository.Repository;
> -import org.mortbay.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.servlet.ServletHolder;
>
>  import java.io.File;
>  import java.util.Random;
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
> index 396823b..ace5b3c 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
> @@ -20,9 +20,9 @@ package org.apache.maven.wagon.providers.http;
>   */
>
>  import org.apache.maven.wagon.Wagon;
> -import org.mortbay.jetty.Connector;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.security.SslSocketConnector;
> +import org.eclipse.jetty.server.Connector;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>  public class HttpsWagonPreemptiveTest
>      extends HttpWagonTest
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HttpsWagonTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonTest.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonTest.java
> index c22b3ef..7d0de20 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonTest.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonTest.java
> @@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
>   * under the License.
>   */
>
> -import org.mortbay.jetty.Connector;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.security.SslSocketConnector;
> +import org.eclipse.jetty.server.Connector;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>  public class HttpsWagonTest
>      extends HttpWagonTest
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HugeFileDownloadTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HugeFileDownloadTest.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HugeFileDownloadTest.java
> index 0b6566d..ce91461 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HugeFileDownloadTest.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HugeFileDownloadTest.java
> @@ -24,10 +24,10 @@ import org.apache.maven.wagon.Wagon;
>  import org.apache.maven.wagon.observers.Debug;
>  import org.apache.maven.wagon.repository.Repository;
>  import org.codehaus.plexus.PlexusTestCase;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.servlet.Context;
> -import org.mortbay.jetty.servlet.DefaultServlet;
> -import org.mortbay.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.servlet.DefaultServlet;
> +import org.eclipse.jetty.servlet.ServletContextHandler;
> +import org.eclipse.jetty.servlet.ServletHolder;
>
>  import javax.servlet.ServletException;
>  import javax.servlet.http.HttpServlet;
> @@ -61,10 +61,11 @@ public class HugeFileDownloadTest
>
>          server = new Server( 0 );
>
> -        Context root = new Context( server, "/", Context.SESSIONS );
> +        ServletContextHandler root = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          root.setResourceBase( new File( getBasedir(), "target"
> ).getAbsolutePath() );
>          ServletHolder servletHolder = new ServletHolder( new
> DefaultServlet() );
>          root.addServlet( servletHolder, "/*" );
> +        server.setHandler( root );
>
>          server.start();
>
> @@ -103,7 +104,7 @@ public class HugeFileDownloadTest
>
>          server = new Server( 0 );
>
> -        Context root = new Context( server, "/", Context.SESSIONS );
> +        ServletContextHandler root = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          root.setResourceBase( new File( getBasedir(), "target"
> ).getAbsolutePath() );
>          ServletHolder servletHolder = new ServletHolder( new HttpServlet()
>          {
> @@ -123,6 +124,7 @@ public class HugeFileDownloadTest
>              }
>          } );
>          root.addServlet( servletHolder, "/*" );
> +        server.setHandler( root );
>
>          server.start();
>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-ssh/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-ssh/pom.xml
> b/wagon-providers/wagon-ssh/pom.xml
> index 2052c6c..1c7a9b6 100644
> --- a/wagon-providers/wagon-ssh/pom.xml
> +++ b/wagon-providers/wagon-ssh/pom.xml
> @@ -68,13 +68,13 @@ under the License.
>        <scope>test</scope>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>servlet-api</artifactId>
> +      <groupId>javax.servlet</groupId>
> +      <artifactId>javax.servlet-api</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-ssh/src/test/java/org/
> apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-ssh/src/test/java/org/apache/
> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
> b/wagon-providers/wagon-ssh/src/test/java/org/apache/
> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
> index 9d5f985..48bc173 100644
> --- a/wagon-providers/wagon-ssh/src/test/java/org/apache/
> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
> +++ b/wagon-providers/wagon-ssh/src/test/java/org/apache/
> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
> @@ -34,10 +34,10 @@ import org.apache.maven.wagon.authentication.
> AuthenticationException;
>  import org.apache.maven.wagon.proxy.ProxyInfo;
>  import org.apache.maven.wagon.repository.Repository;
>  import org.codehaus.plexus.PlexusTestCase;
> -import org.mortbay.jetty.Handler;
> -import org.mortbay.jetty.Request;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.handler.AbstractHandler;
> +import org.eclipse.jetty.server.Handler;
> +import org.eclipse.jetty.server.Request;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.handler.AbstractHandler;
>
>  public class ScpWagonWithProxyTest
>      extends PlexusTestCase
> @@ -50,13 +50,13 @@ public class ScpWagonWithProxyTest
>          handled = false;
>          Handler handler = new AbstractHandler()
>          {
> -            public void handle( String target, HttpServletRequest
> request, HttpServletResponse response, int dispatch )
> -                throws IOException, ServletException
> +            public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +                HttpServletResponse response ) throws IOException,
> ServletException
>              {
>                  assertEquals( "CONNECT", request.getMethod() );
>
>                  handled = true;
> -                ( (Request) request ).setHandled( true );
> +                baseRequest.setHandled( true );
>              }
>          };
>
> @@ -165,7 +165,7 @@ public class ScpWagonWithProxyTest
>                          {
>                              continue;
>                          }
> -
> +
>                          handled = true;
>                      }
>                      catch ( IOException e )
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-webdav-jackrabbit/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-webdav-jackrabbit/pom.xml
> b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
> index 016adcb..948fecb 100644
> --- a/wagon-providers/wagon-webdav-jackrabbit/pom.xml
> +++ b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
> @@ -105,8 +105,8 @@ under the License.
>        <artifactId>junit</artifactId>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
> @@ -120,7 +120,7 @@ under the License.
>        <groupId>org.slf4j</groupId>
>        <artifactId>slf4j-simple</artifactId>
>      </dependency>
> -
> +
>      <dependency>
>        <groupId>biz.aQute</groupId>
>        <artifactId>bnd</artifactId>
> @@ -164,5 +164,5 @@ under the License.
>          </executions>
>        </plugin>
>      </plugins>
> -  </build>
> +  </build>
>  </project>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-webdav-jackrabbit/src/
> test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
> b/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
> index 1bab212..b5ca481 100644
> --- a/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
> +++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
> @@ -6,9 +6,9 @@ package org.apache.maven.wagon.providers.webdav;
>   * copyright ownership. The ASF licenses this file to you under the
> Apache License, Version 2.0 (the
>   * "License"); you may not use this file except in compliance with the
> License. You may obtain a
>   * copy of the License at
> - *
> + *
>   * http://www.apache.org/licenses/LICENSE-2.0
> - *
> + *
>   * Unless required by applicable law or agreed to in writing, software
> distributed under the License
>   * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
> OF ANY KIND, either express
>   * or implied. See the License for the specific language governing
> permissions and limitations under
> @@ -25,9 +25,9 @@ import org.apache.maven.wagon.Wagon;
>  import org.apache.maven.wagon.http.HttpWagonTestCase;
>  import org.apache.maven.wagon.repository.Repository;
>  import org.apache.maven.wagon.resource.Resource;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.servlet.Context;
> -import org.mortbay.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.servlet.ServletContextHandler;
> +import org.eclipse.jetty.servlet.ServletHolder;
>
>  import java.io.File;
>  import java.io.IOException;
> @@ -35,11 +35,13 @@ import java.net.SocketTimeoutException;
>  import java.util.List;
>  import java.util.Properties;
>
> +import javax.servlet.http.HttpServletResponse;
> +
>  /*
>   * WebDAV Wagon Test
> - *
> + *
>   * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
> - *
> + *
>   * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
>   */
>  public class WebDavWagonTest
> @@ -56,20 +58,21 @@ public class WebDavWagonTest
>          return "dav";
>      }
>
> -    protected void createContext( Server server, File repositoryDirectory
> )
> +    protected ServletContextHandler createContext( Server server, File
> repositoryDirectory )
>          throws IOException
>      {
> -        Context dav = new Context( server, "/", Context.SESSIONS );
> +        ServletContextHandler dav = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          ServletHolder davServletHolder = new ServletHolder( new
> DAVServlet() );
>          davServletHolder.setInitParameter( "rootPath",
> repositoryDirectory.getAbsolutePath() );
>          davServletHolder.setInitParameter( "xmlOnly", "false" );
>          dav.addServlet( davServletHolder, "/*" );
> +        return dav;
>      }
>
>      protected long getExpectedLastModifiedOnGet( Repository repository,
> Resource resource )
>      {
>          File file = new File( getDavRepository(), resource.getName() );
> -        return ( file.lastModified() / 1000 ) * 1000;
> +        return ( file.lastModified() / 1000L ) * 1000L;
>      }
>
>
> @@ -422,14 +425,14 @@ public class WebDavWagonTest
>          {
>              assertEquals( "testPreemptiveAuthenticationGet
> preemptive=true: expected 1 request, got "
>                  + sh.handlerRequestResponses, 1,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 0
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 0 ).responseCode );
>          }
>          else
>          {
>              assertEquals( "testPreemptiveAuthenticationGet
> preemptive=false: expected 2 requests (401,200), got "
>                  + sh.handlerRequestResponses, 2,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 401, sh.handlerRequestResponses.get( 0
> ).responseCode );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 1
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 1 ).responseCode );
>          }
>      }
>
> @@ -437,64 +440,70 @@ public class WebDavWagonTest
>      {
>          if ( preemptive )
>          {
> -            assertEquals( "testPreemptiveAuthenticationPut
> preemptive=true: expected 2 requests (200,.), got "
> +            assertEquals( "testPreemptiveAuthenticationPut
> preemptive=true: expected 2 requests (200,201), got "
>                  + sh.handlerRequestResponses, 2,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 0
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_CREATED,
> sh.handlerRequestResponses.get( 1 ).responseCode );
>          }
>          else
>          {
> -            assertEquals( "testPreemptiveAuthenticationPut
> preemptive=false: expected 3 requests (401,200,.), got "
> +            assertEquals( "testPreemptiveAuthenticationPut
> preemptive=false: expected 3 requests (401,200,201), got "
>                  + sh.handlerRequestResponses, 3,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 401, sh.handlerRequestResponses.get( 0
> ).responseCode );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 1
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 1 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_CREATED,
> sh.handlerRequestResponses.get( 2 ).responseCode );
>          }
>      }
>
>
> -    @Override
> +    /* This method cannot be reasonable used to represend GET and PUT for
> WebDAV, it would contain too much
> +     * duplicate code. Leave as-is, but don't use it.
> +     */
>      protected void testPreemptiveAuthentication( TestSecurityHandler sh,
> boolean preemptive )
>      {
>          if ( preemptive )
>          {
>              assertEquals( "testPreemptiveAuthentication preemptive=false:
> expected 2 requests (200,.), got "
>                  + sh.handlerRequestResponses, 2,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 0
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 0 ).responseCode );
>          }
>          else
>          {
>              assertEquals( "testPreemptiveAuthentication preemptive=false:
> expected 3 requests (401,200,200), got "
>                  + sh.handlerRequestResponses, 3,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 401, sh.handlerRequestResponses.get( 0
> ).responseCode );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 1
> ).responseCode );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 2
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 1 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 2 ).responseCode );
>
>          }
>      }
>
> -    protected void checkRequestResponseForRedirectPutFromStreamWithFullUrl(
> PutHandler putHandler,
> -
>   RedirectHandler redirectHandler )
> +    @Override
> +    protected void checkRequestResponseForRedirectPutWithFullUrl(
> RedirectHandler redirectHandler,
> +
> PutHandler putHandler )
>      {
>          assertEquals( "found:" + putHandler.handlerRequestResponses, 1,
> putHandler.handlerRequestResponses.size() );
> -        assertEquals( "found:" + putHandler.handlerRequestResponses, 201,
> +        assertEquals( "found:" + putHandler.handlerRequestResponses,
> HttpServletResponse.SC_CREATED,
>                        putHandler.handlerRequestResponses.get( 0
> ).responseCode );
>          assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 3,
>                        redirectHandler.handlerRequestResponses.size() );
> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 302,
> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER,
>                        redirectHandler.handlerRequestResponses.get( 0
> ).responseCode );
>      }
>
> -    protected void checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
> PutHandler putHandler,
> -
>       RedirectHandler redirectHandler )
> +    @Override
> +    protected void checkRequestResponseForRedirectPutWithRelativeUrl(
> RedirectHandler redirectHandler,
> +
> PutHandler putHandler )
>      {
>          assertEquals( "found:" + putHandler.handlerRequestResponses, 0,
> putHandler.handlerRequestResponses.size() );
>
>          assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 4,
>                        redirectHandler.handlerRequestResponses.size() );
> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 302,
> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER,
>                        redirectHandler.handlerRequestResponses.get( 0
> ).responseCode );
> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 302,
> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER,
>                        redirectHandler.handlerRequestResponses.get( 1
> ).responseCode );
> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 201,
> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_CREATED,
>                        redirectHandler.handlerRequestResponses.get( 3
> ).responseCode );
>
>      }
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-webdav-jackrabbit/src/
> test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
> b/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
> index ba18510..2ac44d6 100644
> --- a/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
> +++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
> @@ -1,8 +1,8 @@
>  package org.apache.maven.wagon.providers.webdav;
>
> -import org.mortbay.jetty.Connector;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.security.SslSocketConnector;
> +import org.eclipse.jetty.server.Connector;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>  /*
>   * Licensed to the Apache Software Foundation (ASF) under one
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-tcks/wagon-tck-http/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-tcks/wagon-tck-http/pom.xml
> b/wagon-tcks/wagon-tck-http/pom.xml
> index c874bbc..16d51e2 100644
> --- a/wagon-tcks/wagon-tck-http/pom.xml
> +++ b/wagon-tcks/wagon-tck-http/pom.xml
> @@ -19,7 +19,7 @@ under the License.
>  -->
>  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://
> maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
>    <modelVersion>4.0.0</modelVersion>
> -
> +
>    <parent>
>      <groupId>org.apache.maven.wagon</groupId>
>      <artifactId>wagon-tcks</artifactId>
> @@ -28,7 +28,7 @@ under the License.
>    </parent>
>
>    <artifactId>wagon-tck-http</artifactId>
> -
> +
>    <name>Apache Maven Wagon :: HTTP Test Compatibility Kit</name>
>
>    <dependencies>
> @@ -43,12 +43,12 @@ under the License.
>        <version>2.2.2</version>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>servlet-api</artifactId>
> +      <groupId>javax.servlet</groupId>
> +      <artifactId>javax.servlet-api</artifactId>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.maven.wagon</groupId>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
> maven/wagon/tck/http/fixture/ServerFixture.java
> ----------------------------------------------------------------------
> diff --git a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
> maven/wagon/tck/http/fixture/ServerFixture.java
> b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
> maven/wagon/tck/http/fixture/ServerFixture.java
> index 9152e34..063f47b 100644
> --- a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
> maven/wagon/tck/http/fixture/ServerFixture.java
> +++ b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
> maven/wagon/tck/http/fixture/ServerFixture.java
> @@ -19,23 +19,24 @@ package org.apache.maven.wagon.tck.http.fixture;
>   * under the License.
>   */
>
> -import org.mortbay.jetty.Connector;
> -import org.mortbay.jetty.Handler;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.handler.DefaultHandler;
> -import org.mortbay.jetty.handler.HandlerCollection;
> -import org.mortbay.jetty.nio.SelectChannelConnector;
> -import org.mortbay.jetty.security.Constraint;
> -import org.mortbay.jetty.security.ConstraintMapping;
> -import org.mortbay.jetty.security.HashUserRealm;
> -import org.mortbay.jetty.security.SecurityHandler;
> -import org.mortbay.jetty.security.SslSocketConnector;
> -import org.mortbay.jetty.servlet.AbstractSessionManager;
> -import org.mortbay.jetty.servlet.FilterHolder;
> -import org.mortbay.jetty.servlet.FilterMapping;
> -import org.mortbay.jetty.servlet.ServletHolder;
> -import org.mortbay.jetty.servlet.SessionHandler;
> -import org.mortbay.jetty.webapp.WebAppContext;
> +import org.eclipse.jetty.server.Connector;
> +import org.eclipse.jetty.server.Handler;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.handler.DefaultHandler;
> +import org.eclipse.jetty.server.handler.HandlerCollection;
> +import org.eclipse.jetty.server.nio.SelectChannelConnector;
> +import org.eclipse.jetty.server.session.AbstractSessionManager;
> +import org.eclipse.jetty.server.session.SessionHandler;
> +import org.eclipse.jetty.security.ConstraintMapping;
> +import org.eclipse.jetty.security.ConstraintSecurityHandler;
> +import org.eclipse.jetty.security.HashLoginService;
> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
> +import org.eclipse.jetty.servlet.FilterHolder;
> +import org.eclipse.jetty.servlet.FilterMapping;
> +import org.eclipse.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.util.security.Constraint;
> +import org.eclipse.jetty.util.security.Password;
> +import org.eclipse.jetty.webapp.WebAppContext;
>
>  import javax.servlet.Filter;
>  import javax.servlet.Servlet;
> @@ -49,7 +50,7 @@ import org.slf4j.Logger;
>  import org.slf4j.LoggerFactory;
>
>  /**
> - *
> + *
>   */
>  public class ServerFixture
>  {
> @@ -69,9 +70,9 @@ public class ServerFixture
>
>      private final WebAppContext webappContext;
>
> -    private final HashUserRealm securityRealm;
> +    private final HashLoginService loginService;
>
> -    private final SecurityHandler securityHandler;
> +    private final ConstraintSecurityHandler securityHandler;
>
>      private int filterCount = 0;
>
> @@ -116,11 +117,11 @@ public class ServerFixture
>          cm.setConstraint( constraint );
>          cm.setPathSpec( "/protected/*" );
>
> -        securityHandler = new SecurityHandler();
> +        securityHandler = new ConstraintSecurityHandler();
>
> -        securityRealm = new HashUserRealm( "Test Server" );
> +        loginService = new HashLoginService( "Test Server" );
>
> -        securityHandler.setUserRealm( securityRealm );
> +        securityHandler.setLoginService( loginService );
>          securityHandler.setConstraintMappings( new ConstraintMapping[]{
> cm } );
>
>          webappContext = new WebAppContext();
> @@ -129,7 +130,7 @@ public class ServerFixture
>          File base = getResource( SERVER_ROOT_RESOURCE_PATH );
>          logger.info( "docroot: " + base );
>          webappContext.setWar( base.getAbsolutePath() );
> -        webappContext.addHandler( securityHandler );
> +        webappContext.setHandler( securityHandler );
>
>          SessionHandler sessionHandler = webappContext.
> getSessionHandler();
>          ( (AbstractSessionManager) sessionHandler.getSessionManager()
> ).setUsingCookies( false );
> @@ -161,8 +162,7 @@ public class ServerFixture
>
>      public void addUser( final String user, final String password )
>      {
> -        securityRealm.put( user, password );
> -        securityRealm.addUserToRole( user, "allowed" );
> +        loginService.putUser( user, new Password( password ), new
> String[] { "allowed" } );
>      }
>
>      public Server getServer()
>
>

Re: [1/2] maven-wagon git commit: [WAGON-474] Upgrade and revise all tests for Jetty 8

Posted by Dan Tran <da...@gmail.com>.
strange, i placed your recommended logger settings
under systemPropertyVariables

and see no log for the timeout issue

Anyway I am going to cancel the vote and have to roll it again

Thanks

-Dan

On Wed, Dec 28, 2016 at 6:18 AM, Michael Osipov <mi...@apache.org> wrote:

> Am 2016-12-28 um 15:07 schrieb Olivier Lamy:
>
>> 2017 is in few days so maybe java 1.7 shouldn't be a big problem....
>>
>
> While this is correct, I don't want to change 10 things at once. At last,
> if no one changes the code to 1.7, there won't be any benefit. I'd move
> this for n+1 release.
>
> Michael
>
> On Wed, 28 Dec 2016 at 11:09 am, Michael Osipov <mi...@apache.org>
>> wrote:
>>
>> Am 2016-12-28 um 08:54 schrieb Olivier Lamy:
>>
>> Hi
>>>
>>
>> What about at least Jetty 9.2? (8.x is not anymore supported)
>>>
>>
>>
>>
>> Wagon is still Java 1.6, therefore I had to stick to Jetty 8.
>>
>> Moving from 8 to 9 is easier than from 6 to 9.
>>
>>
>>
>> See:
>>
>> https://www.eclipse.org/jetty/documentation/9.3.x/what-jetty-version.html
>>
>>
>>
>> On 26 December 2016 at 10:58, <mi...@apache.org> wrote:
>>>
>>
>>
>>>
>> Repository: maven-wagon
>>>>
>>>
>> Updated Branches:
>>>>
>>>
>>   refs/heads/jetty-8 [created] e707a2691
>>>>
>>>
>>
>>>>
>>
>>>>
>> [WAGON-474] Upgrade and revise all tests for Jetty 8
>>>>
>>>
>>
>>>>
>> * Upgrade all test code to Jetty 8.1.22 and Servlet 3.0
>>>>
>>>
>> * Unify variable names in redirect usecases to realServer and
>>>>
>>>
>>   redirectServer
>>>>
>>>
>> * RedirectHandler: redirect code is passed but completely ignored because
>>>>
>>>
>>   sendRedirect() always sends 302
>>>>
>>>
>> * Chronologically sort checkHandlerResult() calls
>>>>
>>>
>> ** Set redirect code (See Other (303)) as requested
>>>>
>>>
>> ** Update checkHandlerResult() for requested status codes rather sent
>>>>
>>>
>>    chosen by server (mismatched previously)
>>>>
>>>
>> * testPreemptiveAuthentication*(): properly check for OK for GET and
>>>>
>>>
>>   CREATED for PUT instead of OK only for both
>>>>
>>>
>> * WebDavWagonTest: replace status code literal for
>>>>
>>>
>>   HttpServletResponse.SC_* for better readability
>>>>
>>>
>> * testRedirect*(): add more checkHandlerResults
>>>>
>>>
>>
>>>>
>>
>>>>
>> Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
>>>>
>>>
>> Commit:
>>>>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/2e1c807e
>>
>> Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/2e1c807e
>>>>
>>>
>> Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/2e1c807e
>>>>
>>>
>>
>>>>
>> Branch: refs/heads/jetty-8
>>>>
>>>
>> Commit: 2e1c807e5345a1999376771f8b378b8cd3328fee
>>>>
>>>
>> Parents: b451e41
>>>>
>>>
>> Author: Michael Osipov <mi...@apache.org>
>>>>
>>>
>> Authored: Mon Dec 26 00:55:09 2016 +0100
>>>>
>>>
>> Committer: Michael Osipov <mi...@apache.org>
>>>>
>>>
>> Committed: Mon Dec 26 00:55:09 2016 +0100
>>>>
>>>
>>
>>>>
>> ----------------------------------------------------------------------
>>>>
>>>
>>  pom.xml                                         |  14 +-
>>>>
>>>
>>  wagon-provider-test/pom.xml                     |   8 +-
>>>>
>>>
>>  .../maven/wagon/http/HttpWagonTestCase.java     | 273
>>>>
>>> ++++++++++---------
>>
>>  wagon-providers/wagon-http-lightweight/pom.xml  |   4 +-
>>>>
>>>
>>  .../http/LightweightHttpsWagonTest.java         |   6 +-
>>>>
>>>
>>  wagon-providers/wagon-http/pom.xml              |   8 +-
>>>>
>>>
>>  .../http/HttpWagonHttpServerTestCase.java       |  14 +-
>>>>
>>>
>>  .../http/HttpWagonReasonPhraseTest.java         |   2 +-
>>>>
>>>
>>  .../providers/http/HttpWagonTimeoutTest.java    |   2 +-
>>>>
>>>
>>  .../http/HttpsWagonPreemptiveTest.java          |   6 +-
>>>>
>>>
>>  .../wagon/providers/http/HttpsWagonTest.java    |   6 +-
>>>>
>>>
>>  .../providers/http/HugeFileDownloadTest.java    |  14 +-
>>>>
>>>
>>  wagon-providers/wagon-ssh/pom.xml               |   8 +-
>>>>
>>>
>>  .../ssh/jsch/ScpWagonWithProxyTest.java         |  16 +-
>>>>
>>>
>>  wagon-providers/wagon-webdav-jackrabbit/pom.xml |   8 +-
>>>>
>>>
>>  .../wagon/providers/webdav/WebDavWagonTest.java |  73 ++---
>>>>
>>>
>>  .../providers/webdav/WebDavsWagonTest.java      |   6 +-
>>>>
>>>
>>  wagon-tcks/wagon-tck-http/pom.xml               |  12 +-
>>>>
>>>
>>  .../wagon/tck/http/fixture/ServerFixture.java   |  52 ++--
>>>>
>>>
>>  19 files changed, 278 insertions(+), 254 deletions(-)
>>>>
>>>
>> ----------------------------------------------------------------------
>>>>
>>>
>>
>>>>
>>
>>>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/pom.xml
>>>>
>>>
>> ----------------------------------------------------------------------
>>>>
>>>
>> diff --git a/pom.xml b/pom.xml
>>>>
>>>
>> index e127da4..a90a1ba 100644
>>>>
>>>
>> --- a/pom.xml
>>>>
>>>
>> +++ b/pom.xml
>>>>
>>>
>> @@ -313,14 +313,14 @@ under the License.
>>>>
>>>
>>        </dependency>
>>>>
>>>
>>
>>>>
>>        <dependency>
>>>>
>>>
>> -        <groupId>org.mortbay.jetty</groupId>
>>>>
>>>
>> -        <artifactId>jetty</artifactId>
>>>>
>>>
>> -        <version>6.1.26</version>
>>>>
>>>
>> +        <groupId>org.eclipse.jetty.aggregate</groupId>
>>>>
>>>
>> +        <artifactId>jetty-all</artifactId>
>>>>
>>>
>> +        <version>8.1.22.v20160922</version>
>>>>
>>>
>>        </dependency>
>>>>
>>>
>>        <dependency>
>>>>
>>>
>> -        <groupId>org.mortbay.jetty</groupId>
>>>>
>>>
>> -        <artifactId>servlet-api</artifactId>
>>>>
>>>
>> -        <version>2.5-20081211</version>
>>>>
>>>
>> +        <groupId>javax.servlet</groupId>
>>>>
>>>
>> +        <artifactId>javax.servlet-api</artifactId>
>>>>
>>>
>> +        <version>3.0.1</version>
>>>>
>>>
>>      </dependency>
>>>>
>>>
>>      </dependencies>
>>>>
>>>
>>    </dependencyManagement>
>>>>
>>>
>> @@ -565,5 +565,5 @@ under the License.
>>>>
>>>
>>        </reporting>
>>>>
>>>
>>      </profile>
>>>>
>>>
>>    </profiles>
>>>>
>>>
>> -
>>>>
>>>
>> +
>>>>
>>>
>>  </project>
>>>>
>>>
>>
>>>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>>>>
>>>
>> 2e1c807e/wagon-provider-test/pom.xml
>>>>
>>>
>> ----------------------------------------------------------------------
>>>>
>>>
>> diff --git a/wagon-provider-test/pom.xml b/wagon-provider-test/pom.xml
>>>>
>>>
>> index b19e7ac..9b0f4e5 100644
>>>>
>>>
>> --- a/wagon-provider-test/pom.xml
>>>>
>>>
>> +++ b/wagon-provider-test/pom.xml
>>>>
>>>
>> @@ -51,12 +51,12 @@ under the License.
>>>>
>>>
>>        <scope>compile</scope>
>>>>
>>>
>>      </dependency>
>>>>
>>>
>>      <dependency>
>>>>
>>>
>> -      <groupId>org.mortbay.jetty</groupId>
>>>>
>>>
>> -      <artifactId>jetty</artifactId>
>>>>
>>>
>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>>>>
>>>
>> +      <artifactId>jetty-all</artifactId>
>>>>
>>>
>>      </dependency>
>>>>
>>>
>>      <dependency>
>>>>
>>>
>> -      <groupId>org.mortbay.jetty</groupId>
>>>>
>>>
>> -      <artifactId>servlet-api</artifactId>
>>>>
>>>
>> +      <groupId>javax.servlet</groupId>
>>>>
>>>
>> +      <artifactId>javax.servlet-api</artifactId>
>>>>
>>>
>>      </dependency>
>>>>
>>>
>>      <dependency>
>>>>
>>>
>>        <groupId>org.slf4j</groupId>
>>>>
>>>
>>
>>>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>>>>
>>>
>> 2e1c807e/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/
>>>>
>>>
>> HttpWagonTestCase.java
>>>>
>>>
>> ----------------------------------------------------------------------
>>>>
>>>
>> diff --git a/wagon-provider-test/src/main/java/org/apache/maven/
>>>>
>>>
>> wagon/http/HttpWagonTestCase.java b/wagon-provider-test/src/
>>>>
>>>
>> main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
>>>>
>>>
>> index dfc499e..cf479fd 100644
>>>>
>>>
>> --- a/wagon-provider-test/src/main/java/org/apache/maven/
>>>>
>>>
>> wagon/http/HttpWagonTestCase.java
>>>>
>>>
>> +++ b/wagon-provider-test/src/main/java/org/apache/maven/
>>>>
>>>
>> wagon/http/HttpWagonTestCase.java
>>>>
>>>
>> @@ -34,20 +34,21 @@ import org.apache.maven.wagon.resource.Resource;
>>>>
>>>
>>  import org.codehaus.plexus.util.FileUtils;
>>>>
>>>
>>  import org.codehaus.plexus.util.IOUtil;
>>>>
>>>
>>  import org.codehaus.plexus.util.StringUtils;
>>>>
>>>
>> -import org.mortbay.jetty.Handler;
>>>>
>>>
>> -import org.mortbay.jetty.HttpConnection;
>>>>
>>>
>> -import org.mortbay.jetty.Request;
>>>>
>>>
>> -import org.mortbay.jetty.Response;
>>>>
>>>
>> -import org.mortbay.jetty.Server;
>>>>
>>>
>> -import org.mortbay.jetty.handler.AbstractHandler;
>>>>
>>>
>> -import org.mortbay.jetty.handler.HandlerCollection;
>>>>
>>>
>> -import org.mortbay.jetty.security.Constraint;
>>>>
>>>
>> -import org.mortbay.jetty.security.ConstraintMapping;
>>>>
>>>
>> -import org.mortbay.jetty.security.HashUserRealm;
>>>>
>>>
>> -import org.mortbay.jetty.security.SecurityHandler;
>>>>
>>>
>> -import org.mortbay.jetty.servlet.Context;
>>>>
>>>
>> -import org.mortbay.jetty.servlet.DefaultServlet;
>>>>
>>>
>> -import org.mortbay.jetty.servlet.ServletHolder;
>>>>
>>>
>> +import org.eclipse.jetty.security.ConstraintMapping;
>>>>
>>>
>> +import org.eclipse.jetty.security.ConstraintSecurityHandler;
>>>>
>>>
>> +import org.eclipse.jetty.security.HashLoginService;
>>>>
>>>
>> +import org.eclipse.jetty.security.SecurityHandler;
>>>>
>>>
>> +import org.eclipse.jetty.security.authentication.BasicAuthenticator;
>>>>
>>>
>> +import org.eclipse.jetty.server.Request;
>>>>
>>>
>> +import org.eclipse.jetty.server.Response;
>>>>
>>>
>> +import org.eclipse.jetty.server.Server;
>>>>
>>>
>> +import org.eclipse.jetty.server.handler.AbstractHandler;
>>>>
>>>
>> +import org.eclipse.jetty.server.handler.HandlerCollection;
>>>>
>>>
>> +import org.eclipse.jetty.util.security.Constraint;
>>>>
>>>
>> +import org.eclipse.jetty.util.security.Password;
>>>>
>>>
>> +import org.eclipse.jetty.servlet.DefaultServlet;
>>>>
>>>
>> +import org.eclipse.jetty.servlet.ServletContextHandler;
>>>>
>>>
>> +import org.eclipse.jetty.servlet.ServletHolder;
>>>>
>>>
>>
>>>>
>>  import javax.servlet.ServletException;
>>>>
>>>
>>  import javax.servlet.http.HttpServletRequest;
>>>>
>>>
>> @@ -99,9 +100,12 @@ public abstract class HttpWagonTestCase
>>>>
>>>
>>          server = new Server( 0 );
>>>>
>>>
>>
>>>>
>>          PutHandler putHandler = new PutHandler( repositoryDirectory );
>>>>
>>>
>> -        server.addHandler( putHandler );
>>>>
>>>
>>
>>>>
>> -        createContext( server, repositoryDirectory );
>>>>
>>>
>> +        ServletContextHandler context = createContext( server,
>>>>
>>>
>> repositoryDirectory );
>>>>
>>>
>> +        HandlerCollection handlers = new HandlerCollection();
>>>>
>>>
>> +        handlers.addHandler( putHandler );
>>>>
>>>
>> +        handlers.addHandler( context );
>>>>
>>>
>> +        server.setHandler( handlers );
>>>>
>>>
>>
>>>>
>>          addConnectors( server );
>>>>
>>>
>>
>>>>
>> @@ -120,13 +124,14 @@ public abstract class HttpWagonTestCase
>>>>
>>>
>>          return server.getConnectors()[0].getLocalPort();
>>>>
>>>
>>      }
>>>>
>>>
>>
>>>>
>> -    protected void createContext( Server server, File
>>>>
>>> repositoryDirectory
>>
>> )
>>>>
>>>
>> +    protected ServletContextHandler createContext( Server server, File
>>>>
>>>
>> repositoryDirectory )
>>>>
>>>
>>          throws IOException
>>>>
>>>
>>      {
>>>>
>>>
>> -        Context root = new Context( server, "/", Context.SESSIONS );
>>>>
>>>
>> +        ServletContextHandler root = new ServletContextHandler(
>>>>
>>>
>> ServletContextHandler.SESSIONS );
>>>>
>>>
>>          root.setResourceBase( repositoryDirectory.getAbsolutePath() );
>>>>
>>>
>>          ServletHolder servletHolder = new ServletHolder( new
>>>>
>>>
>> DefaultServlet() );
>>>>
>>>
>>          root.addServlet( servletHolder, "/*" );
>>>>
>>>
>> +        return root;
>>>>
>>>
>>      }
>>>>
>>>
>>
>>>>
>>      protected void tearDownWagonTestingFixtures()
>>>>
>>>
>> @@ -216,7 +221,7 @@ public abstract class HttpWagonTestCase
>>>>
>>>
>>          server.setHandler( handler );
>>>>
>>>
>>          addConnectors( server );
>>>>
>>>
>>          server.start();
>>>>
>>>
>> -        wagon.connect( new Repository( "id", getProtocol() +
>>>>
>>>
>> "://localhost:"
>>>>
>>>
>> +        wagon.connect( new Repository( "id", getProtocol() +
>>>>
>>>
>> "://localhost:"
>>>>
>>>
>>            + server.getConnectors()[0].getLocalPort() ) );
>>>>
>>>
>>          wagon.getToStream( "resource", new ByteArrayOutputStream() );
>>>>
>>>
>>          wagon.disconnect();
>>>>
>>>
>> @@ -309,19 +314,19 @@ public abstract class HttpWagonTestCase
>>>>
>>>
>>
>>>>
>>              AbstractHandler handler = new AbstractHandler()
>>>>
>>>
>>              {
>>>>
>>>
>> -                public void handle( String s, HttpServletRequest
>>>>
>>> request,
>>
>> HttpServletResponse response, int i )
>>>>
>>>
>> -                    throws IOException, ServletException
>>>>
>>>
>> +                public void handle( String target, Request baseRequest,
>>>>
>>>
>> HttpServletRequest request,
>>>>
>>>
>> +                    HttpServletResponse response ) throws IOException,
>>>>
>>>
>> ServletException
>>>>
>>>
>>                  {
>>>>
>>>
>>                      if ( called.get() )
>>>>
>>>
>>                      {
>>>>
>>>
>>                          response.setStatus( HttpServletResponse.SC_OK );
>>>>
>>>
>> -                        ( (Request) request ).setHandled( true );
>>>>
>>>
>> +                        baseRequest.setHandled( true );
>>>>
>>>
>>                      }
>>>>
>>>
>>                      else
>>>>
>>>
>>                      {
>>>>
>>>
>>                          called.set( true );
>>>>
>>>
>>                          response.setStatus( SC_TOO_MANY_REQUESTS );
>>>>
>>>
>> -                        ( (Request) request ).setHandled( true );
>>>>
>>>
>> +                        baseRequest.setHandled( true );
>>>>
>>>
>>
>>>>
>>                      }
>>>>
>>>
>>                  }
>>>>
>>>
>> @@ -456,19 +461,19 @@ public abstract class HttpWagonTestCase
>>>>
>>>
>>
>>>>
>>              AbstractHandler handler = new AbstractHandler()
>>>>
>>>
>>              {
>>>>
>>>
>> -                public void handle( String s, HttpServletRequest
>>>>
>>> request,
>>
>> HttpServletResponse response, int i )
>>>>
>>>
>> -                    throws IOException, ServletException
>>>>
>>>
>> +                public void handle( String target, Request baseRequest,
>>>>
>>>
>> HttpServletRequest request,
>>>>
>>>
>> +                    HttpServletResponse response ) throws IOException,
>>>>
>>>
>> ServletException
>>>>
>>>
>>                  {
>>>>
>>>
>>                      if ( called.get() )
>>>>
>>>
>>                      {
>>>>
>>>
>>                          response.setStatus(
>>>>
>>> HttpServletResponse.SC_INTERNAL_SERVER_ERROR
>>
>> );
>>>>
>>>
>> -                        ( (Request) request ).setHandled( true );
>>>>
>>>
>> +                        baseRequest.setHandled( true );
>>>>
>>>
>>                      }
>>>>
>>>
>>                      else
>>>>
>>>
>>                      {
>>>>
>>>
>>                          called.set( true );
>>>>
>>>
>>                          response.setStatus( SC_TOO_MANY_REQUESTS );
>>>>
>>>
>> -                        ( (Request) request ).setHandled( true );
>>>>
>>>
>> +                        baseRequest.setHandled( true );
>>>>
>>>
>>                      }
>>>>
>>>
>>                  }
>>>>
>>>
>>              };
>>>>
>>>
>> @@ -543,12 +548,13 @@ public abstract class HttpWagonTestCase
>>>>
>>>
>>          Server server = new Server( getTestRepositoryPort() );
>>>>
>>>
>>
>>>>
>>          String localRepositoryPath = FileTestUtils.
>>>>
>>>
>> getTestOutputDir().toString();
>>>>
>>>
>> -        Context root = new Context( server, "/", Context.SESSIONS );
>>>>
>>>
>> +        ServletContextHandler root = new ServletContextHandler(
>>>>
>>>
>> ServletContextHandler.SESSIONS );
>>>>
>>>
>>          root.setResourceBase( localRepositoryPath );
>>>>
>>>
>>          ServletHolder servletHolder = new ServletHolder( new
>>>>
>>>
>> DefaultServlet() );
>>>>
>>>
>>          servletHolder.setInitParameter( "gzip", "true" );
>>>>
>>>
>>          root.addServlet( servletHolder, "/*" );
>>>>
>>>
>>          addConnectors( server );
>>>>
>>>
>> +        server.setHandler( root );
>>>>
>>>
>>          server.start();
>>>>
>>>
>>
>>>>
>>          try
>>>>
>>>
>> @@ -655,12 +661,12 @@ public abstract class HttpWagonTestCase
>>>>
>>>
>>      {
>>>>
>>>
>>          StreamingWagon wagon = (StreamingWagon) getWagon();
>>>>
>>>
>>
>>>>
>> -        Server server = new Server( 0 );
>>>>
>>>
>> +        Server realServer = new Server( 0 );
>>>>
>>>
>>          TestHeaderHandler handler = new TestHeaderHandler();
>>>>
>>>
>>
>>>>
>> -        server.setHandler( handler );
>>>>
>>>
>> -        addConnectors( server );
>>>>
>>>
>> -        server.start();
>>>>
>>>
>> +        realServer.setHandler( handler );
>>>>
>>>
>> +        addConnectors( realServer );
>>>>
>>>
>> +        realServer.start();
>>>>
>>>
>>
>>>>
>>          Server redirectServer = new Server( 0 );
>>>>
>>>
>>
>>>>
>> @@ -679,10 +685,10 @@ public abstract class HttpWagonTestCase
>>>>
>>>
>>              protocol = "https";
>>>>
>>>
>>          }
>>>>
>>>
>>
>>>>
>> -        String redirectUrl = protocol + "://localhost:" +
>>>>
>>>
>> server.getConnectors()[0].getLocalPort();
>>>>
>>>
>> +        String redirectUrl = protocol + "://localhost:" +
>>>>
>>>
>> realServer.getConnectors()[0].getLocalPort();
>>>>
>>>
>>
>>>>
>>          RedirectHandler redirectHandler =
>>>>
>>>
>> -            new RedirectHandler( "Found",
>>>>
>>> HttpServletResponse.SC_SEE_OTHER,
>>
>> redirectUrl, null );
>>>>
>>>
>> +            new RedirectHandler( "See Other",
>>>>
>>> HttpServletResponse.SC_SEE_OTHER,
>>
>> redirectUrl, null );
>>>>
>>>
>>
>>>>
>>          redirectServer.setHandler( redirectHandler );
>>>>
>>>
>>
>>>>
>> @@ -702,14 +708,14 @@ public abstract class HttpWagonTestCase
>>>>
>>>
>>              String found = FileUtils.fileRead( tmpResult );
>>>>
>>>
>>              assertEquals( "found:'" + found + "'", "Hello, World!",
>>>>
>>> found
>>
>> );
>>>
>>>

Re: [1/2] maven-wagon git commit: [WAGON-474] Upgrade and revise all tests for Jetty 8

Posted by Michael Osipov <mi...@apache.org>.
Am 2016-12-28 um 15:07 schrieb Olivier Lamy:
> 2017 is in few days so maybe java 1.7 shouldn't be a big problem....

While this is correct, I don't want to change 10 things at once. At 
last, if no one changes the code to 1.7, there won't be any benefit. I'd 
move this for n+1 release.

Michael

> On Wed, 28 Dec 2016 at 11:09 am, Michael Osipov <mi...@apache.org> wrote:
>
> Am 2016-12-28 um 08:54 schrieb Olivier Lamy:
>
>> Hi
>
>> What about at least Jetty 9.2? (8.x is not anymore supported)
>
>
>
> Wagon is still Java 1.6, therefore I had to stick to Jetty 8.
>
> Moving from 8 to 9 is easier than from 6 to 9.
>
>
>
> See:
>
> https://www.eclipse.org/jetty/documentation/9.3.x/what-jetty-version.html
>
>
>
>> On 26 December 2016 at 10:58, <mi...@apache.org> wrote:
>
>>
>
>>> Repository: maven-wagon
>
>>> Updated Branches:
>
>>>   refs/heads/jetty-8 [created] e707a2691
>
>>>
>
>>>
>
>>> [WAGON-474] Upgrade and revise all tests for Jetty 8
>
>>>
>
>>> * Upgrade all test code to Jetty 8.1.22 and Servlet 3.0
>
>>> * Unify variable names in redirect usecases to realServer and
>
>>>   redirectServer
>
>>> * RedirectHandler: redirect code is passed but completely ignored because
>
>>>   sendRedirect() always sends 302
>
>>> * Chronologically sort checkHandlerResult() calls
>
>>> ** Set redirect code (See Other (303)) as requested
>
>>> ** Update checkHandlerResult() for requested status codes rather sent
>
>>>    chosen by server (mismatched previously)
>
>>> * testPreemptiveAuthentication*(): properly check for OK for GET and
>
>>>   CREATED for PUT instead of OK only for both
>
>>> * WebDavWagonTest: replace status code literal for
>
>>>   HttpServletResponse.SC_* for better readability
>
>>> * testRedirect*(): add more checkHandlerResults
>
>>>
>
>>>
>
>>> Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
>
>>> Commit:
> http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/2e1c807e
>
>>> Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/2e1c807e
>
>>> Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/2e1c807e
>
>>>
>
>>> Branch: refs/heads/jetty-8
>
>>> Commit: 2e1c807e5345a1999376771f8b378b8cd3328fee
>
>>> Parents: b451e41
>
>>> Author: Michael Osipov <mi...@apache.org>
>
>>> Authored: Mon Dec 26 00:55:09 2016 +0100
>
>>> Committer: Michael Osipov <mi...@apache.org>
>
>>> Committed: Mon Dec 26 00:55:09 2016 +0100
>
>>>
>
>>> ----------------------------------------------------------------------
>
>>>  pom.xml                                         |  14 +-
>
>>>  wagon-provider-test/pom.xml                     |   8 +-
>
>>>  .../maven/wagon/http/HttpWagonTestCase.java     | 273
> ++++++++++---------
>
>>>  wagon-providers/wagon-http-lightweight/pom.xml  |   4 +-
>
>>>  .../http/LightweightHttpsWagonTest.java         |   6 +-
>
>>>  wagon-providers/wagon-http/pom.xml              |   8 +-
>
>>>  .../http/HttpWagonHttpServerTestCase.java       |  14 +-
>
>>>  .../http/HttpWagonReasonPhraseTest.java         |   2 +-
>
>>>  .../providers/http/HttpWagonTimeoutTest.java    |   2 +-
>
>>>  .../http/HttpsWagonPreemptiveTest.java          |   6 +-
>
>>>  .../wagon/providers/http/HttpsWagonTest.java    |   6 +-
>
>>>  .../providers/http/HugeFileDownloadTest.java    |  14 +-
>
>>>  wagon-providers/wagon-ssh/pom.xml               |   8 +-
>
>>>  .../ssh/jsch/ScpWagonWithProxyTest.java         |  16 +-
>
>>>  wagon-providers/wagon-webdav-jackrabbit/pom.xml |   8 +-
>
>>>  .../wagon/providers/webdav/WebDavWagonTest.java |  73 ++---
>
>>>  .../providers/webdav/WebDavsWagonTest.java      |   6 +-
>
>>>  wagon-tcks/wagon-tck-http/pom.xml               |  12 +-
>
>>>  .../wagon/tck/http/fixture/ServerFixture.java   |  52 ++--
>
>>>  19 files changed, 278 insertions(+), 254 deletions(-)
>
>>> ----------------------------------------------------------------------
>
>>>
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/pom.xml
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/pom.xml b/pom.xml
>
>>> index e127da4..a90a1ba 100644
>
>>> --- a/pom.xml
>
>>> +++ b/pom.xml
>
>>> @@ -313,14 +313,14 @@ under the License.
>
>>>        </dependency>
>
>>>
>
>>>        <dependency>
>
>>> -        <groupId>org.mortbay.jetty</groupId>
>
>>> -        <artifactId>jetty</artifactId>
>
>>> -        <version>6.1.26</version>
>
>>> +        <groupId>org.eclipse.jetty.aggregate</groupId>
>
>>> +        <artifactId>jetty-all</artifactId>
>
>>> +        <version>8.1.22.v20160922</version>
>
>>>        </dependency>
>
>>>        <dependency>
>
>>> -        <groupId>org.mortbay.jetty</groupId>
>
>>> -        <artifactId>servlet-api</artifactId>
>
>>> -        <version>2.5-20081211</version>
>
>>> +        <groupId>javax.servlet</groupId>
>
>>> +        <artifactId>javax.servlet-api</artifactId>
>
>>> +        <version>3.0.1</version>
>
>>>      </dependency>
>
>>>      </dependencies>
>
>>>    </dependencyManagement>
>
>>> @@ -565,5 +565,5 @@ under the License.
>
>>>        </reporting>
>
>>>      </profile>
>
>>>    </profiles>
>
>>> -
>
>>> +
>
>>>  </project>
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-provider-test/pom.xml
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-provider-test/pom.xml b/wagon-provider-test/pom.xml
>
>>> index b19e7ac..9b0f4e5 100644
>
>>> --- a/wagon-provider-test/pom.xml
>
>>> +++ b/wagon-provider-test/pom.xml
>
>>> @@ -51,12 +51,12 @@ under the License.
>
>>>        <scope>compile</scope>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>> -      <groupId>org.mortbay.jetty</groupId>
>
>>> -      <artifactId>jetty</artifactId>
>
>>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>
>>> +      <artifactId>jetty-all</artifactId>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>> -      <groupId>org.mortbay.jetty</groupId>
>
>>> -      <artifactId>servlet-api</artifactId>
>
>>> +      <groupId>javax.servlet</groupId>
>
>>> +      <artifactId>javax.servlet-api</artifactId>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>>        <groupId>org.slf4j</groupId>
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/
>
>>> HttpWagonTestCase.java
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-provider-test/src/main/java/org/apache/maven/
>
>>> wagon/http/HttpWagonTestCase.java b/wagon-provider-test/src/
>
>>> main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
>
>>> index dfc499e..cf479fd 100644
>
>>> --- a/wagon-provider-test/src/main/java/org/apache/maven/
>
>>> wagon/http/HttpWagonTestCase.java
>
>>> +++ b/wagon-provider-test/src/main/java/org/apache/maven/
>
>>> wagon/http/HttpWagonTestCase.java
>
>>> @@ -34,20 +34,21 @@ import org.apache.maven.wagon.resource.Resource;
>
>>>  import org.codehaus.plexus.util.FileUtils;
>
>>>  import org.codehaus.plexus.util.IOUtil;
>
>>>  import org.codehaus.plexus.util.StringUtils;
>
>>> -import org.mortbay.jetty.Handler;
>
>>> -import org.mortbay.jetty.HttpConnection;
>
>>> -import org.mortbay.jetty.Request;
>
>>> -import org.mortbay.jetty.Response;
>
>>> -import org.mortbay.jetty.Server;
>
>>> -import org.mortbay.jetty.handler.AbstractHandler;
>
>>> -import org.mortbay.jetty.handler.HandlerCollection;
>
>>> -import org.mortbay.jetty.security.Constraint;
>
>>> -import org.mortbay.jetty.security.ConstraintMapping;
>
>>> -import org.mortbay.jetty.security.HashUserRealm;
>
>>> -import org.mortbay.jetty.security.SecurityHandler;
>
>>> -import org.mortbay.jetty.servlet.Context;
>
>>> -import org.mortbay.jetty.servlet.DefaultServlet;
>
>>> -import org.mortbay.jetty.servlet.ServletHolder;
>
>>> +import org.eclipse.jetty.security.ConstraintMapping;
>
>>> +import org.eclipse.jetty.security.ConstraintSecurityHandler;
>
>>> +import org.eclipse.jetty.security.HashLoginService;
>
>>> +import org.eclipse.jetty.security.SecurityHandler;
>
>>> +import org.eclipse.jetty.security.authentication.BasicAuthenticator;
>
>>> +import org.eclipse.jetty.server.Request;
>
>>> +import org.eclipse.jetty.server.Response;
>
>>> +import org.eclipse.jetty.server.Server;
>
>>> +import org.eclipse.jetty.server.handler.AbstractHandler;
>
>>> +import org.eclipse.jetty.server.handler.HandlerCollection;
>
>>> +import org.eclipse.jetty.util.security.Constraint;
>
>>> +import org.eclipse.jetty.util.security.Password;
>
>>> +import org.eclipse.jetty.servlet.DefaultServlet;
>
>>> +import org.eclipse.jetty.servlet.ServletContextHandler;
>
>>> +import org.eclipse.jetty.servlet.ServletHolder;
>
>>>
>
>>>  import javax.servlet.ServletException;
>
>>>  import javax.servlet.http.HttpServletRequest;
>
>>> @@ -99,9 +100,12 @@ public abstract class HttpWagonTestCase
>
>>>          server = new Server( 0 );
>
>>>
>
>>>          PutHandler putHandler = new PutHandler( repositoryDirectory );
>
>>> -        server.addHandler( putHandler );
>
>>>
>
>>> -        createContext( server, repositoryDirectory );
>
>>> +        ServletContextHandler context = createContext( server,
>
>>> repositoryDirectory );
>
>>> +        HandlerCollection handlers = new HandlerCollection();
>
>>> +        handlers.addHandler( putHandler );
>
>>> +        handlers.addHandler( context );
>
>>> +        server.setHandler( handlers );
>
>>>
>
>>>          addConnectors( server );
>
>>>
>
>>> @@ -120,13 +124,14 @@ public abstract class HttpWagonTestCase
>
>>>          return server.getConnectors()[0].getLocalPort();
>
>>>      }
>
>>>
>
>>> -    protected void createContext( Server server, File
> repositoryDirectory
>
>>> )
>
>>> +    protected ServletContextHandler createContext( Server server, File
>
>>> repositoryDirectory )
>
>>>          throws IOException
>
>>>      {
>
>>> -        Context root = new Context( server, "/", Context.SESSIONS );
>
>>> +        ServletContextHandler root = new ServletContextHandler(
>
>>> ServletContextHandler.SESSIONS );
>
>>>          root.setResourceBase( repositoryDirectory.getAbsolutePath() );
>
>>>          ServletHolder servletHolder = new ServletHolder( new
>
>>> DefaultServlet() );
>
>>>          root.addServlet( servletHolder, "/*" );
>
>>> +        return root;
>
>>>      }
>
>>>
>
>>>      protected void tearDownWagonTestingFixtures()
>
>>> @@ -216,7 +221,7 @@ public abstract class HttpWagonTestCase
>
>>>          server.setHandler( handler );
>
>>>          addConnectors( server );
>
>>>          server.start();
>
>>> -        wagon.connect( new Repository( "id", getProtocol() +
>
>>> "://localhost:"
>
>>> +        wagon.connect( new Repository( "id", getProtocol() +
>
>>> "://localhost:"
>
>>>            + server.getConnectors()[0].getLocalPort() ) );
>
>>>          wagon.getToStream( "resource", new ByteArrayOutputStream() );
>
>>>          wagon.disconnect();
>
>>> @@ -309,19 +314,19 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>              AbstractHandler handler = new AbstractHandler()
>
>>>              {
>
>>> -                public void handle( String s, HttpServletRequest
> request,
>
>>> HttpServletResponse response, int i )
>
>>> -                    throws IOException, ServletException
>
>>> +                public void handle( String target, Request baseRequest,
>
>>> HttpServletRequest request,
>
>>> +                    HttpServletResponse response ) throws IOException,
>
>>> ServletException
>
>>>                  {
>
>>>                      if ( called.get() )
>
>>>                      {
>
>>>                          response.setStatus( HttpServletResponse.SC_OK );
>
>>> -                        ( (Request) request ).setHandled( true );
>
>>> +                        baseRequest.setHandled( true );
>
>>>                      }
>
>>>                      else
>
>>>                      {
>
>>>                          called.set( true );
>
>>>                          response.setStatus( SC_TOO_MANY_REQUESTS );
>
>>> -                        ( (Request) request ).setHandled( true );
>
>>> +                        baseRequest.setHandled( true );
>
>>>
>
>>>                      }
>
>>>                  }
>
>>> @@ -456,19 +461,19 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>              AbstractHandler handler = new AbstractHandler()
>
>>>              {
>
>>> -                public void handle( String s, HttpServletRequest
> request,
>
>>> HttpServletResponse response, int i )
>
>>> -                    throws IOException, ServletException
>
>>> +                public void handle( String target, Request baseRequest,
>
>>> HttpServletRequest request,
>
>>> +                    HttpServletResponse response ) throws IOException,
>
>>> ServletException
>
>>>                  {
>
>>>                      if ( called.get() )
>
>>>                      {
>
>>>                          response.setStatus(
> HttpServletResponse.SC_INTERNAL_SERVER_ERROR
>
>>> );
>
>>> -                        ( (Request) request ).setHandled( true );
>
>>> +                        baseRequest.setHandled( true );
>
>>>                      }
>
>>>                      else
>
>>>                      {
>
>>>                          called.set( true );
>
>>>                          response.setStatus( SC_TOO_MANY_REQUESTS );
>
>>> -                        ( (Request) request ).setHandled( true );
>
>>> +                        baseRequest.setHandled( true );
>
>>>                      }
>
>>>                  }
>
>>>              };
>
>>> @@ -543,12 +548,13 @@ public abstract class HttpWagonTestCase
>
>>>          Server server = new Server( getTestRepositoryPort() );
>
>>>
>
>>>          String localRepositoryPath = FileTestUtils.
>
>>> getTestOutputDir().toString();
>
>>> -        Context root = new Context( server, "/", Context.SESSIONS );
>
>>> +        ServletContextHandler root = new ServletContextHandler(
>
>>> ServletContextHandler.SESSIONS );
>
>>>          root.setResourceBase( localRepositoryPath );
>
>>>          ServletHolder servletHolder = new ServletHolder( new
>
>>> DefaultServlet() );
>
>>>          servletHolder.setInitParameter( "gzip", "true" );
>
>>>          root.addServlet( servletHolder, "/*" );
>
>>>          addConnectors( server );
>
>>> +        server.setHandler( root );
>
>>>          server.start();
>
>>>
>
>>>          try
>
>>> @@ -655,12 +661,12 @@ public abstract class HttpWagonTestCase
>
>>>      {
>
>>>          StreamingWagon wagon = (StreamingWagon) getWagon();
>
>>>
>
>>> -        Server server = new Server( 0 );
>
>>> +        Server realServer = new Server( 0 );
>
>>>          TestHeaderHandler handler = new TestHeaderHandler();
>
>>>
>
>>> -        server.setHandler( handler );
>
>>> -        addConnectors( server );
>
>>> -        server.start();
>
>>> +        realServer.setHandler( handler );
>
>>> +        addConnectors( realServer );
>
>>> +        realServer.start();
>
>>>
>
>>>          Server redirectServer = new Server( 0 );
>
>>>
>
>>> @@ -679,10 +685,10 @@ public abstract class HttpWagonTestCase
>
>>>              protocol = "https";
>
>>>          }
>
>>>
>
>>> -        String redirectUrl = protocol + "://localhost:" +
>
>>> server.getConnectors()[0].getLocalPort();
>
>>> +        String redirectUrl = protocol + "://localhost:" +
>
>>> realServer.getConnectors()[0].getLocalPort();
>
>>>
>
>>>          RedirectHandler redirectHandler =
>
>>> -            new RedirectHandler( "Found",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> redirectUrl, null );
>
>>> +            new RedirectHandler( "See Other",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> redirectUrl, null );
>
>>>
>
>>>          redirectServer.setHandler( redirectHandler );
>
>>>
>
>>> @@ -702,14 +708,14 @@ public abstract class HttpWagonTestCase
>
>>>              String found = FileUtils.fileRead( tmpResult );
>
>>>              assertEquals( "found:'" + found + "'", "Hello, World!",
> found
>
>>> );
>
>>>
>
>>> +            checkHandlerResult( redirectHandler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_SEE_OTHER );
>
>>>              checkHandlerResult( handler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_OK );
>
>>> -            checkHandlerResult( redirectHandler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_FOUND );
>
>>>          }
>
>>>          finally
>
>>>          {
>
>>>              wagon.disconnect();
>
>>>
>
>>> -            server.stop();
>
>>> +            realServer.stop();
>
>>>
>
>>>              tmpResult.delete();
>
>>>          }
>
>>> @@ -720,12 +726,12 @@ public abstract class HttpWagonTestCase
>
>>>      {
>
>>>          StreamingWagon wagon = (StreamingWagon) getWagon();
>
>>>
>
>>> -        Server server = new Server( 0 );
>
>>> +        Server realServer = new Server( 0 );
>
>>>          TestHeaderHandler handler = new TestHeaderHandler();
>
>>>
>
>>> -        server.setHandler( handler );
>
>>> -        addConnectors( server );
>
>>> -        server.start();
>
>>> +        realServer.setHandler( handler );
>
>>> +        addConnectors( realServer );
>
>>> +        realServer.start();
>
>>>
>
>>>          Server redirectServer = new Server( 0 );
>
>>>
>
>>> @@ -744,10 +750,10 @@ public abstract class HttpWagonTestCase
>
>>>              protocol = "https";
>
>>>          }
>
>>>
>
>>> -        String redirectUrl = protocol + "://localhost:" +
>
>>> server.getConnectors()[0].getLocalPort();
>
>>> +        String redirectUrl = protocol + "://localhost:" +
>
>>> realServer.getConnectors()[0].getLocalPort();
>
>>>
>
>>>          RedirectHandler redirectHandler =
>
>>> -            new RedirectHandler( "Found",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> redirectUrl, null );
>
>>> +            new RedirectHandler( "See Other",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> redirectUrl, null );
>
>>>
>
>>>          redirectServer.setHandler( redirectHandler );
>
>>>
>
>>> @@ -763,14 +769,14 @@ public abstract class HttpWagonTestCase
>
>>>              String found = FileUtils.fileRead( tmpResult );
>
>>>              assertEquals( "found:'" + found + "'", "Hello, World!",
> found
>
>>> );
>
>>>
>
>>> +            checkHandlerResult( redirectHandler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_SEE_OTHER );
>
>>>              checkHandlerResult( handler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_OK );
>
>>> -            checkHandlerResult( redirectHandler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_FOUND );
>
>>>          }
>
>>>          finally
>
>>>          {
>
>>>              wagon.disconnect();
>
>>>
>
>>> -            server.stop();
>
>>> +            realServer.stop();
>
>>>
>
>>>              tmpResult.delete();
>
>>>          }
>
>>> @@ -814,7 +820,7 @@ public abstract class HttpWagonTestCase
>
>>>          String redirectUrl = protocol + "://localhost:" +
>
>>> realServer.getConnectors()[0].getLocalPort();
>
>>>
>
>>>          RedirectHandler redirectHandler =
>
>>> -            new RedirectHandler( "Found",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> redirectUrl, repositoryDirectory );
>
>>> +            new RedirectHandler( "See Other",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> redirectUrl, repositoryDirectory );
>
>>>
>
>>>          redirectServer.setHandler( redirectHandler );
>
>>>
>
>>> @@ -839,6 +845,9 @@ public abstract class HttpWagonTestCase
>
>>>              try
>
>>>              {
>
>>>                  wagon.putFromStream( fileInputStream,
>
>>> "test-secured-put-resource", content.length(), -1 );
>
>>> +                assertEquals( content, FileUtils.fileRead(
>
>>> sourceFile.getAbsolutePath() ) );
>
>>> +
>
>>> +                checkRequestResponseForRedirectPutWithFullUrl(
>
>>> redirectHandler, putHandler );
>
>>>              }
>
>>>              finally
>
>>>              {
>
>>> @@ -847,9 +856,6 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>              }
>
>>>
>
>>> -            assertEquals( content, FileUtils.fileRead(
>
>>> sourceFile.getAbsolutePath() ) );
>
>>> -
>
>>> -            checkRequestResponseForRedirectPutFromStreamWithFullUrl(
>
>>> putHandler, redirectHandler );
>
>>>          }
>
>>>          finally
>
>>>          {
>
>>> @@ -858,11 +864,11 @@ public abstract class HttpWagonTestCase
>
>>>          }
>
>>>      }
>
>>>
>
>>> -    protected void
> checkRequestResponseForRedirectPutFromStreamWithFullUrl(
>
>>> PutHandler putHandler,
>
>>> -
>
>>>   RedirectHandler redirectHandler )
>
>>> +    protected void checkRequestResponseForRedirectPutWithFullUrl(
>
>>> RedirectHandler redirectHandler,
>
>>> +
>
>>> PutHandler putHandler )
>
>>>      {
>
>>> +        checkHandlerResult( redirectHandler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_SEE_OTHER );
>
>>>          checkHandlerResult( putHandler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_CREATED );
>
>>> -        checkHandlerResult( redirectHandler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_FOUND );
>
>>>      }
>
>>>
>
>>>      public void testRedirectPutFromStreamRelativeUrl()
>
>>> @@ -885,7 +891,7 @@ public abstract class HttpWagonTestCase
>
>>>          addConnectors( redirectServer );
>
>>>
>
>>>          RedirectHandler redirectHandler =
>
>>> -            new RedirectHandler( "Found",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> "/redirectRequest/foo",
>
>>> +            new RedirectHandler( "See Other",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> "/redirectRequest/foo",
>
>>>                                   repositoryDirectory );
>
>>>
>
>>>          redirectServer.setHandler( redirectHandler );
>
>>> @@ -911,6 +917,9 @@ public abstract class HttpWagonTestCase
>
>>>              try
>
>>>              {
>
>>>                  wagon.putFromStream( fileInputStream,
>
>>> "test-secured-put-resource", content.length(), -1 );
>
>>> +                assertEquals( content, FileUtils.fileRead(
>
>>> sourceFile.getAbsolutePath() ) );
>
>>> +
>
>>> +                checkRequestResponseForRedirectPutWithRelativeUrl(
>
>>> redirectHandler, putHandler );
>
>>>              }
>
>>>              finally
>
>>>              {
>
>>> @@ -919,10 +928,6 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>              }
>
>>>
>
>>> -            assertEquals( content, FileUtils.fileRead(
>
>>> sourceFile.getAbsolutePath() ) );
>
>>> -
>
>>> -            checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
>
>>> putHandler, redirectHandler );
>
>>> -
>
>>>          }
>
>>>          finally
>
>>>          {
>
>>> @@ -931,12 +936,12 @@ public abstract class HttpWagonTestCase
>
>>>          }
>
>>>      }
>
>>>
>
>>> -    protected void
> checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
>
>>> PutHandler putHandler,
>
>>> -
>
>>>       RedirectHandler redirectHandler )
>
>>> +    protected void checkRequestResponseForRedirectPutWithRelativeUrl(
>
>>> RedirectHandler redirectHandler,
>
>>> +
>
>>> PutHandler putHandler )
>
>>>      {
>
>>> -        checkHandlerResult( putHandler.handlerRequestResponses );
>
>>> -        checkHandlerResult( redirectHandler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_FOUND,
>
>>> +        checkHandlerResult( redirectHandler.handlerRequestResponses,
>
>>> HttpServletResponse.SC_SEE_OTHER,
>
>>>                              HttpServletResponse.SC_CREATED );
>
>>> +        checkHandlerResult( putHandler.handlerRequestResponses );
>
>>>      }
>
>>>
>
>>>      protected void checkHandlerResult( List<HandlerRequestResponse>
>
>>> handlerRequestResponses,
>
>>> @@ -994,7 +999,7 @@ public abstract class HttpWagonTestCase
>
>>>          String redirectUrl = protocol + "://localhost:" +
>
>>> realServer.getConnectors()[0].getLocalPort();
>
>>>
>
>>>          RedirectHandler redirectHandler =
>
>>> -            new RedirectHandler( "Found",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> redirectUrl, repositoryDirectory );
>
>>> +            new RedirectHandler( "See Other",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> redirectUrl, repositoryDirectory );
>
>>>
>
>>>          redirectServer.setHandler( redirectHandler );
>
>>>
>
>>> @@ -1018,14 +1023,15 @@ public abstract class HttpWagonTestCase
>
>>>              try
>
>>>              {
>
>>>                  wagon.put( tempFile, "test-secured-put-resource" );
>
>>> +                assertEquals( content, FileUtils.fileRead(
>
>>> sourceFile.getAbsolutePath() ) );
>
>>> +
>
>>> +                checkRequestResponseForRedirectPutWithFullUrl(
>
>>> redirectHandler, putHandler );
>
>>>              }
>
>>>              finally
>
>>>              {
>
>>>                  tempFile.delete();
>
>>>              }
>
>>>
>
>>> -            assertEquals( content, FileUtils.fileRead(
>
>>> sourceFile.getAbsolutePath() ) );
>
>>> -
>
>>>          }
>
>>>          finally
>
>>>          {
>
>>> @@ -1055,7 +1061,7 @@ public abstract class HttpWagonTestCase
>
>>>          addConnectors( redirectServer );
>
>>>
>
>>>          RedirectHandler redirectHandler =
>
>>> -            new RedirectHandler( "Found",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> "/redirectRequest/foo",
>
>>> +            new RedirectHandler( "See Other",
> HttpServletResponse.SC_SEE_OTHER,
>
>>> "/redirectRequest/foo",
>
>>>                                   repositoryDirectory );
>
>>>
>
>>>          redirectServer.setHandler( redirectHandler );
>
>>> @@ -1080,14 +1086,15 @@ public abstract class HttpWagonTestCase
>
>>>              try
>
>>>              {
>
>>>                  wagon.put( tempFile, "test-secured-put-resource" );
>
>>> +                assertEquals( content, FileUtils.fileRead(
>
>>> sourceFile.getAbsolutePath() ) );
>
>>> +
>
>>> +                checkRequestResponseForRedirectPutWithRelativeUrl(
>
>>> redirectHandler, putHandler );
>
>>>              }
>
>>>              finally
>
>>>              {
>
>>>                  tempFile.delete();
>
>>>              }
>
>>>
>
>>> -            assertEquals( content, FileUtils.fileRead(
>
>>> sourceFile.getAbsolutePath() ) );
>
>>> -
>
>>>          }
>
>>>          finally
>
>>>          {
>
>>> @@ -1098,7 +1105,7 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>
>
>>>      /**
>
>>> -     *
>
>>> +     *
>
>>>       */
>
>>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>
>>>      public static class RedirectHandler
>
>>> @@ -1122,23 +1129,28 @@ public abstract class HttpWagonTestCase
>
>>>              this.repositoryDirectory = repositoryDirectory;
>
>>>          }
>
>>>
>
>>> -        public void handle( String s, HttpServletRequest req,
>
>>> HttpServletResponse resp, int i )
>
>>> -            throws IOException, ServletException
>
>>> +        public void handle( String target, Request baseRequest,
>
>>> HttpServletRequest request,
>
>>> +            HttpServletResponse response ) throws IOException,
>
>>> ServletException
>
>>>          {
>
>>> -            if ( req.getRequestURI().contains( "redirectRequest" ) )
>
>>> +            if ( request.getRequestURI().contains( "redirectRequest" ) )
>
>>>              {
>
>>>                  PutHandler putHandler = new PutHandler(
>
>>> this.repositoryDirectory );
>
>>> -                putHandler.handle( s, req, resp, i );
>
>>> +                putHandler.handle( target, baseRequest, request,
> response
>
>>> );
>
>>>                  handlerRequestResponses.add(
>
>>> -                    new HandlerRequestResponse( req.getMethod(), (
>
>>> (Response) resp ).getStatus(),
>
>>> -                                                req.getRequestURI() ) );
>
>>> +                    new HandlerRequestResponse( request.getMethod(), (
>
>>> (Response) response ).getStatus(),
>
>>> +                                                request.getRequestURI()
> )
>
>>> );
>
>>>                  return;
>
>>>              }
>
>>> -            resp.setStatus( this.retCode );
>
>>> -            resp.sendRedirect( this.redirectUrl + "/" +
>
>>> req.getRequestURI() );
>
>>> +            response.setStatus( this.retCode );
>
>>> +            response.setHeader( "Location", this.redirectUrl +
>
>>> request.getRequestURI() );
>
>>> +            baseRequest.setHandled( true );
>
>>> +
>
>>>              handlerRequestResponses.add(
>
>>> -                new HandlerRequestResponse( req.getMethod(), (
> (Response)
>
>>> resp ).getStatus(), req.getRequestURI() ) );
>
>>> +                new HandlerRequestResponse( request.getMethod(), (
>
>>> (Response) response ).getStatus(),
>
>>> +                                            request.getRequestURI() ) );
>
>>>          }
>
>>> +
>
>>> +
>
>>>      }
>
>>>
>
>>>
>
>>> @@ -1342,7 +1354,8 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>              assertEquals( "top secret", IOUtil.toString( in ) );
>
>>>
>
>>> -            TestSecurityHandler securityHandler = (TestSecurityHandler)
> (
>
>>> (Context) server.getHandler() ).getHandler();
>
>>> +            TestSecurityHandler securityHandler = (
>
>>> (ServletContextHandler) server.getHandler() )
>
>>> +                .getChildHandlerByClass( TestSecurityHandler.class );
>
>>>              testPreemptiveAuthenticationGet( securityHandler,
>
>>> supportPreemptiveAuthenticationGet() );
>
>>>
>
>>>          }
>
>>> @@ -1393,7 +1406,8 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>              assertEquals( "top secret", out.toString( "US-ASCII" ) );
>
>>>
>
>>> -            TestSecurityHandler securityHandler = (TestSecurityHandler)
> (
>
>>> (Context) server.getHandler() ).getHandler();
>
>>> +            TestSecurityHandler securityHandler = (
>
>>> (ServletContextHandler) server.getHandler() )
>
>>> +                .getChildHandlerByClass( TestSecurityHandler.class );
>
>>>              testPreemptiveAuthenticationGet( securityHandler,
>
>>> supportPreemptiveAuthenticationGet() );
>
>>>          }
>
>>>          finally
>
>>> @@ -1483,10 +1497,10 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>          SecurityHandler sh = createSecurityHandler();
>
>>>
>
>>> -        Context root = new Context( Context.SESSIONS );
>
>>> -        root.setContextPath( "/" );
>
>>> -        root.addHandler( sh );
>
>>> +        ServletContextHandler root = new ServletContextHandler(
>
>>> ServletContextHandler.SESSIONS
>
>>> +            | ServletContextHandler.SECURITY );
>
>>>          root.setResourceBase( localRepositoryPath );
>
>>> +        root.setSecurityHandler( sh );
>
>>>          ServletHolder servletHolder = new ServletHolder( new
>
>>> DefaultServlet() );
>
>>>          root.addServlet( servletHolder, "/*" );
>
>>>
>
>>> @@ -1587,19 +1601,19 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>              AbstractHandler handler = new AbstractHandler()
>
>>>              {
>
>>> -                public void handle( String s, HttpServletRequest
> request,
>
>>> HttpServletResponse response, int i )
>
>>> -                    throws IOException, ServletException
>
>>> +                public void handle( String target, Request baseRequest,
>
>>> HttpServletRequest request,
>
>>> +                    HttpServletResponse response ) throws IOException,
>
>>> ServletException
>
>>>                  {
>
>>>                      if ( called.get() )
>
>>>                      {
>
>>>                          response.setStatus(
> HttpServletResponse.SC_INTERNAL_SERVER_ERROR
>
>>> );
>
>>> -                        ( (Request) request ).setHandled( true );
>
>>> +                        baseRequest.setHandled( true );
>
>>>                      }
>
>>>                      else
>
>>>                      {
>
>>>                          called.set( true );
>
>>>                          response.setStatus( SC_TOO_MANY_REQUESTS );
>
>>> -                        ( (Request) request ).setHandled( true );
>
>>> +                        baseRequest.setHandled( true );
>
>>>                      }
>
>>>                  }
>
>>>              };
>
>>> @@ -1725,10 +1739,8 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>          PutHandler putHandler = new PutHandler( new File(
>
>>> localRepositoryPath ) );
>
>>>
>
>>> -        HandlerCollection handlers = new HandlerCollection();
>
>>> -        handlers.setHandlers( new Handler[]{ sh, putHandler } );
>
>>> -
>
>>> -        server.setHandler( handlers );
>
>>> +        sh.setHandler( putHandler );
>
>>> +        server.setHandler( sh );
>
>>>          addConnectors( server );
>
>>>          server.start();
>
>>>
>
>>> @@ -1796,10 +1808,15 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>          PutHandler putHandler = new PutHandler( new File(
>
>>> localRepositoryPath ) );
>
>>>
>
>>> -        HandlerCollection handlers = new HandlerCollection();
>
>>> -        handlers.setHandlers( addSecurityHandler ? new Handler[]{ sh,
>
>>> putHandler } : new Handler[]{ putHandler } );
>
>>> -
>
>>> -        server.setHandler( handlers );
>
>>> +        if ( addSecurityHandler )
>
>>> +        {
>
>>> +            sh.setHandler( putHandler );
>
>>> +            server.setHandler( sh );
>
>>> +        }
>
>>> +        else
>
>>> +        {
>
>>> +            server.setHandler( putHandler );
>
>>> +        }
>
>>>          addConnectors( server );
>
>>>          server.start();
>
>>>
>
>>> @@ -1871,29 +1888,29 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>      protected void testPreemptiveAuthenticationGet( TestSecurityHandler
>
>>> sh, boolean preemptive )
>
>>>      {
>
>>> -        testPreemptiveAuthentication( sh, preemptive );
>
>>> +        testPreemptiveAuthentication( sh, preemptive,
>
>>> HttpServletResponse.SC_OK );
>
>>>      }
>
>>>
>
>>>      protected void testPreemptiveAuthenticationPut( TestSecurityHandler
>
>>> sh, boolean preemptive )
>
>>>      {
>
>>> -        testPreemptiveAuthentication( sh, preemptive );
>
>>> +        testPreemptiveAuthentication( sh, preemptive,
>
>>> HttpServletResponse.SC_CREATED );
>
>>>      }
>
>>>
>
>>> -    protected void testPreemptiveAuthentication( TestSecurityHandler sh,
>
>>> boolean preemptive )
>
>>> +    protected void testPreemptiveAuthentication( TestSecurityHandler sh,
>
>>> boolean preemptive, int statusCode )
>
>>>      {
>
>>>
>
>>>          if ( preemptive )
>
>>>          {
>
>>>              assertEquals( "not 1 security handler use " +
>
>>> sh.handlerRequestResponses, 1,
>
>>>                            sh.handlerRequestResponses.size() );
>
>>> -            assertEquals( HttpServletResponse.SC_OK,
>
>>> sh.handlerRequestResponses.get( 0 ).responseCode );
>
>>> +            assertEquals( statusCode, sh.handlerRequestResponses.get( 0
>
>>> ).responseCode );
>
>>>          }
>
>>>          else
>
>>>          {
>
>>>              assertEquals( "not 2 security handler use " +
>
>>> sh.handlerRequestResponses, 2,
>
>>>                            sh.handlerRequestResponses.size() );
>
>>>              assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
>
>>> sh.handlerRequestResponses.get( 0 ).responseCode );
>
>>> -            assertEquals( HttpServletResponse.SC_OK,
>
>>> sh.handlerRequestResponses.get( 1 ).responseCode );
>
>>> +            assertEquals( statusCode, sh.handlerRequestResponses.get( 1
>
>>> ).responseCode );
>
>>>
>
>>>          }
>
>>>      }
>
>>> @@ -1908,13 +1925,13 @@ public abstract class HttpWagonTestCase
>
>>>              this.status = status;
>
>>>          }
>
>>>
>
>>> -        public void handle( String target, HttpServletRequest request,
>
>>> HttpServletResponse response, int dispatch )
>
>>> -            throws IOException, ServletException
>
>>> +        public void handle( String target, Request baseRequest,
>
>>> HttpServletRequest request,
>
>>> +            HttpServletResponse response ) throws IOException,
>
>>> ServletException
>
>>>          {
>
>>>              if ( status != 0 )
>
>>>              {
>
>>>                  response.setStatus( status );
>
>>> -                ( (Request) request ).setHandled( true );
>
>>> +                baseRequest.setHandled( true );
>
>>>              }
>
>>>          }
>
>>>      }
>
>>> @@ -1949,7 +1966,7 @@ public abstract class HttpWagonTestCase
>
>>>      }
>
>>>
>
>>>      /**
>
>>> -     *
>
>>> +     *
>
>>>       */
>
>>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>
>>>      public static class PutHandler
>
>>> @@ -1968,12 +1985,9 @@ public abstract class HttpWagonTestCase
>
>>>              this.resourceBase = repositoryDirectory;
>
>>>          }
>
>>>
>
>>> -        public void handle( String target, HttpServletRequest request,
>
>>> HttpServletResponse response, int dispatch )
>
>>> -            throws IOException, ServletException
>
>>> +        public void handle( String target, Request baseRequest,
>
>>> HttpServletRequest request,
>
>>> +            HttpServletResponse response ) throws IOException,
>
>>> ServletException
>
>>>          {
>
>>> -            Request baseRequest =
>
>>> -                request instanceof Request ? (Request) request :
>
>>> HttpConnection.getCurrentConnection().getRequest();
>
>>> -
>
>>>              if ( baseRequest.isHandled() || !"PUT".equals(
>
>>> baseRequest.getMethod() ) )
>
>>>              {
>
>>>                  return;
>
>>> @@ -2023,8 +2037,8 @@ public abstract class HttpWagonTestCase
>
>>>
>
>>>          List<HandlerRequestResponse> handlerRequestResponses = new
>
>>> ArrayList<HandlerRequestResponse>();
>
>>>
>
>>> -        public void handle( String target, HttpServletRequest request,
>
>>> HttpServletResponse response, int dispatch )
>
>>> -            throws IOException, ServletException
>
>>> +        public void handle( String target, Request baseRequest,
>
>>> HttpServletRequest request,
>
>>> +            HttpServletResponse response ) throws IOException,
>
>>> ServletException
>
>>>          {
>
>>>              System.out.println( " handle proxy request" );
>
>>>              if ( request.getHeader( "Proxy-Authorization" ) == null )
>
>>> @@ -2036,17 +2050,17 @@ public abstract class HttpWagonTestCase
>
>>>                  response.setStatus(
> HttpServletResponse.SC_PROXY_AUTHENTICATION_REQUIRED
>
>>> );
>
>>>                  response.addHeader( "Proxy-Authenticate", "Basic
>
>>> realm=\"Squid proxy-caching web server\"" );
>
>>>
>
>>> -                ( (Request) request ).setHandled( true );
>
>>> +                baseRequest.setHandled( true );
>
>>>                  return;
>
>>>              }
>
>>>              handlerRequestResponses.add(
>
>>>                  new HandlerRequestResponse( request.getMethod(),
>
>>> HttpServletResponse.SC_OK, request.getRequestURI() ) );
>
>>> -            super.handle( target, request, response, dispatch );
>
>>> +            super.handle( target, baseRequest, request, response );
>
>>>          }
>
>>>      }
>
>>>
>
>>>      /**
>
>>> -     *
>
>>> +     *
>
>>>       */
>
>>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>
>>>      private static class TestHeaderHandler
>
>>> @@ -2060,14 +2074,14 @@ public abstract class HttpWagonTestCase
>
>>>          {
>
>>>          }
>
>>>
>
>>> -        public void handle( String target, HttpServletRequest request,
>
>>> HttpServletResponse response, int dispatch )
>
>>> -            throws IOException, ServletException
>
>>> +        public void handle( String target, Request baseRrequest,
>
>>> HttpServletRequest request,
>
>>> +            HttpServletResponse response ) throws IOException,
>
>>> ServletException
>
>>>          {
>
>>>              headers = new HashMap<String, String>();
>
>>> -            for ( Enumeration<String> e = request.getHeaderNames();
>
>>> e.hasMoreElements(); )
>
>>> +            for ( Enumeration<String> e = baseRrequest.getHeaderNames();
>
>>> e.hasMoreElements(); )
>
>>>              {
>
>>>                  String name = e.nextElement();
>
>>> -                Enumeration headerValues = request.getHeaders( name );
>
>>> +                Enumeration headerValues = baseRrequest.getHeaders( name
>
>>> );
>
>>>                  // as per HTTP spec http://www.w3.org/Protocols/
>
>>> rfc2616/rfc2616-sec4.html
>
>>>                  // multiple values for the same header key are
>
>>> concatenated separated by comma
>
>>>                  // otherwise we wouldn't notice headers with same key
>
>>> added multiple times
>
>>> @@ -2088,10 +2102,10 @@ public abstract class HttpWagonTestCase
>
>>>              response.getWriter().print( "Hello, World!" );
>
>>>
>
>>>              handlerRequestResponses.add(
>
>>> -                new HandlerRequestResponse( request.getMethod(), (
>
>>> (Response) response ).getStatus(),
>
>>> -                                            request.getRequestURI() ) );
>
>>> +                new HandlerRequestResponse( baseRrequest.getMethod(), (
>
>>> (Response) response ).getStatus(),
>
>>> +                                            baseRrequest.getRequestURI()
>
>>> ) );
>
>>>
>
>>> -            ( (Request) request ).setHandled( true );
>
>>> +            baseRrequest.setHandled( true );
>
>>>          }
>
>>>
>
>>>      }
>
>>> @@ -2108,39 +2122,38 @@ public abstract class HttpWagonTestCase
>
>>>          cm.setPathSpec( "/*" );
>
>>>
>
>>>          TestSecurityHandler sh = new TestSecurityHandler();
>
>>> -        HashUserRealm hashUserRealm = new HashUserRealm( "MyRealm" );
>
>>> -        hashUserRealm.put( "user", "secret" );
>
>>> -        hashUserRealm.addUserToRole( "user", "admin" );
>
>>> -        sh.setUserRealm( hashUserRealm );
>
>>> +        HashLoginService hashLoginService = new HashLoginService(
>
>>> "MyRealm" );
>
>>> +        hashLoginService.putUser( "user", new Password( "secret" ), new
>
>>> String[] { "admin" } );
>
>>> +        sh.setLoginService( hashLoginService );
>
>>>          sh.setConstraintMappings( new ConstraintMapping[]{ cm } );
>
>>> +        sh.setAuthenticator ( new BasicAuthenticator() );
>
>>>          return sh;
>
>>>      }
>
>>>
>
>>>      /**
>
>>> -     *
>
>>> +     *
>
>>>       */
>
>>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>
>>>      public static class TestSecurityHandler
>
>>> -        extends SecurityHandler
>
>>> +        extends ConstraintSecurityHandler
>
>>>      {
>
>>>
>
>>>          public List<HandlerRequestResponse> handlerRequestResponses =
> new
>
>>> ArrayList<HandlerRequestResponse>();
>
>>>
>
>>>          @Override
>
>>> -        public void handle( String target, HttpServletRequest request,
>
>>> HttpServletResponse response, int dispatch )
>
>>> -            throws IOException, ServletException
>
>>> +        public void handle( String target, Request baseRequest,
>
>>> HttpServletRequest request,
>
>>> +            HttpServletResponse response ) throws IOException,
>
>>> ServletException
>
>>>          {
>
>>>              String method = request.getMethod();
>
>>> -            super.handle( target, request, response, dispatch );
>
>>> +            super.handle( target, baseRequest, request, response );
>
>>>
>
>>>              handlerRequestResponses.add(
>
>>>                  new HandlerRequestResponse( method, ( (Response)
> response
>
>>> ).getStatus(), request.getRequestURI() ) );
>
>>>          }
>
>>> -
>
>>>      }
>
>>>
>
>>>      /**
>
>>> -     *
>
>>> +     *
>
>>>       */
>
>>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>
>>>      public static class HandlerRequestResponse
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-http-lightweight/pom.xml
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-http-lightweight/pom.xml
>
>>> b/wagon-providers/wagon-http-lightweight/pom.xml
>
>>> index f723004..dd79d17 100644
>
>>> --- a/wagon-providers/wagon-http-lightweight/pom.xml
>
>>> +++ b/wagon-providers/wagon-http-lightweight/pom.xml
>
>>> @@ -60,8 +60,8 @@ under the License.
>
>>>        <artifactId>junit</artifactId>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>> -      <groupId>org.mortbay.jetty</groupId>
>
>>> -      <artifactId>jetty</artifactId>
>
>>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>
>>> +      <artifactId>jetty-all</artifactId>
>
>>>        <scope>test</scope>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-http-lightweight/src/
>
>>> test/java/org/apache/maven/wagon/providers/http/
>
>>> LightweightHttpsWagonTest.java
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-http-lightweight/src/test/java/org/
>
>>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
>
>>> b/wagon-providers/wagon-http-lightweight/src/test/java/org/
>
>>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
>
>>> index 3b532eb..fe30c83 100644
>
>>> --- a/wagon-providers/wagon-http-lightweight/src/test/java/org/
>
>>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
>
>>> +++ b/wagon-providers/wagon-http-lightweight/src/test/java/org/
>
>>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
>
>>> @@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
>
>>>   * under the License.
>
>>>   */
>
>>>
>
>>> -import org.mortbay.jetty.Connector;
>
>>> -import org.mortbay.jetty.Server;
>
>>> -import org.mortbay.jetty.security.SslSocketConnector;
>
>>> +import org.eclipse.jetty.server.Connector;
>
>>> +import org.eclipse.jetty.server.Server;
>
>>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>>>
>
>>>  public class LightweightHttpsWagonTest
>
>>>      extends LightweightHttpWagonTest
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-http/pom.xml
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-http/pom.xml
>
>>> b/wagon-providers/wagon-http/pom.xml
>
>>> index 794098d..e32cfcc 100644
>
>>> --- a/wagon-providers/wagon-http/pom.xml
>
>>> +++ b/wagon-providers/wagon-http/pom.xml
>
>>> @@ -77,13 +77,13 @@ under the License.
>
>>>        <artifactId>junit</artifactId>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>> -      <groupId>org.mortbay.jetty</groupId>
>
>>> -      <artifactId>jetty</artifactId>
>
>>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>
>>> +      <artifactId>jetty-all</artifactId>
>
>>>        <scope>test</scope>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>> -      <groupId>org.mortbay.jetty</groupId>
>
>>> -      <artifactId>servlet-api</artifactId>
>
>>> +      <groupId>javax.servlet</groupId>
>
>>> +      <artifactId>javax.servlet-api</artifactId>
>
>>>        <scope>test</scope>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>
>>> apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
>
>>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
>
>>> index b5ef1e8..5e7e72b 100644
>
>>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
>
>>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
>
>>> @@ -21,9 +21,9 @@ package org.apache.maven.wagon.providers.http;
>
>>>
>
>>>  import org.apache.maven.wagon.Wagon;
>
>>>  import org.codehaus.plexus.PlexusTestCase;
>
>>> -import org.mortbay.jetty.Server;
>
>>> -import org.mortbay.jetty.handler.ResourceHandler;
>
>>> -import org.mortbay.jetty.servlet.Context;
>
>>> +import org.eclipse.jetty.server.Server;
>
>>> +import org.eclipse.jetty.server.handler.ResourceHandler;
>
>>> +import org.eclipse.jetty.servlet.ServletContextHandler;
>
>>>
>
>>>  /**
>
>>>   * User: jdumay Date: 24/01/2008 Time: 18:15:53
>
>>> @@ -37,7 +37,7 @@ public abstract class HttpWagonHttpServerTestCase
>
>>>
>
>>>      protected ResourceHandler resourceHandler;
>
>>>
>
>>> -    protected Context context;
>
>>> +    protected ServletContextHandler context;
>
>>>
>
>>>      protected void setUp()
>
>>>          throws Exception
>
>>> @@ -45,10 +45,10 @@ public abstract class HttpWagonHttpServerTestCase
>
>>>          super.setUp();
>
>>>          server = new Server( httpServerPort );
>
>>>
>
>>> -        context = new Context( server, "/", Context.SESSIONS );
>
>>> -
>
>>> +        context = new ServletContextHandler(
>
>>> ServletContextHandler.SESSIONS );
>
>>>          resourceHandler = new ResourceHandler();
>
>>> -        server.addHandler( resourceHandler );
>
>>> +        context.setHandler( resourceHandler );
>
>>> +        server.setHandler( context );
>
>>>      }
>
>>>
>
>>>      protected Wagon getWagon()
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>
>>> apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
>
>>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
>
>>> index 32cbf32..484d638 100644
>
>>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
>
>>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
>
>>> @@ -24,7 +24,7 @@ import org.apache.maven.wagon.TransferFailedException;
>
>>>  import org.apache.maven.wagon.Wagon;
>
>>>  import org.apache.maven.wagon.authorization.AuthorizationException;
>
>>>  import org.apache.maven.wagon.repository.Repository;
>
>>> -import org.mortbay.jetty.servlet.ServletHolder;
>
>>> +import org.eclipse.jetty.servlet.ServletHolder;
>
>>>
>
>>>  import java.io.File;
>
>>>
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>
>>> apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonTimeoutTest.java
>
>>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonTimeoutTest.java
>
>>> index c223f23..9d2c0eb 100644
>
>>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonTimeoutTest.java
>
>>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpWagonTimeoutTest.java
>
>>> @@ -23,7 +23,7 @@ import org.apache.maven.wagon.FileTestUtils;
>
>>>  import org.apache.maven.wagon.TransferFailedException;
>
>>>  import org.apache.maven.wagon.Wagon;
>
>>>  import org.apache.maven.wagon.repository.Repository;
>
>>> -import org.mortbay.jetty.servlet.ServletHolder;
>
>>> +import org.eclipse.jetty.servlet.ServletHolder;
>
>>>
>
>>>  import java.io.File;
>
>>>  import java.util.Random;
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>
>>> apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
>
>>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
>
>>> index 396823b..ace5b3c 100644
>
>>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
>
>>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
>
>>> @@ -20,9 +20,9 @@ package org.apache.maven.wagon.providers.http;
>
>>>   */
>
>>>
>
>>>  import org.apache.maven.wagon.Wagon;
>
>>> -import org.mortbay.jetty.Connector;
>
>>> -import org.mortbay.jetty.Server;
>
>>> -import org.mortbay.jetty.security.SslSocketConnector;
>
>>> +import org.eclipse.jetty.server.Connector;
>
>>> +import org.eclipse.jetty.server.Server;
>
>>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>>>
>
>>>  public class HttpsWagonPreemptiveTest
>
>>>      extends HttpWagonTest
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>
>>> apache/maven/wagon/providers/http/HttpsWagonTest.java
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpsWagonTest.java
>
>>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpsWagonTest.java
>
>>> index c22b3ef..7d0de20 100644
>
>>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpsWagonTest.java
>
>>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HttpsWagonTest.java
>
>>> @@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
>
>>>   * under the License.
>
>>>   */
>
>>>
>
>>> -import org.mortbay.jetty.Connector;
>
>>> -import org.mortbay.jetty.Server;
>
>>> -import org.mortbay.jetty.security.SslSocketConnector;
>
>>> +import org.eclipse.jetty.server.Connector;
>
>>> +import org.eclipse.jetty.server.Server;
>
>>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>>>
>
>>>  public class HttpsWagonTest
>
>>>      extends HttpWagonTest
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>
>>> apache/maven/wagon/providers/http/HugeFileDownloadTest.java
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HugeFileDownloadTest.java
>
>>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HugeFileDownloadTest.java
>
>>> index 0b6566d..ce91461 100644
>
>>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HugeFileDownloadTest.java
>
>>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>
>>> maven/wagon/providers/http/HugeFileDownloadTest.java
>
>>> @@ -24,10 +24,10 @@ import org.apache.maven.wagon.Wagon;
>
>>>  import org.apache.maven.wagon.observers.Debug;
>
>>>  import org.apache.maven.wagon.repository.Repository;
>
>>>  import org.codehaus.plexus.PlexusTestCase;
>
>>> -import org.mortbay.jetty.Server;
>
>>> -import org.mortbay.jetty.servlet.Context;
>
>>> -import org.mortbay.jetty.servlet.DefaultServlet;
>
>>> -import org.mortbay.jetty.servlet.ServletHolder;
>
>>> +import org.eclipse.jetty.server.Server;
>
>>> +import org.eclipse.jetty.servlet.DefaultServlet;
>
>>> +import org.eclipse.jetty.servlet.ServletContextHandler;
>
>>> +import org.eclipse.jetty.servlet.ServletHolder;
>
>>>
>
>>>  import javax.servlet.ServletException;
>
>>>  import javax.servlet.http.HttpServlet;
>
>>> @@ -61,10 +61,11 @@ public class HugeFileDownloadTest
>
>>>
>
>>>          server = new Server( 0 );
>
>>>
>
>>> -        Context root = new Context( server, "/", Context.SESSIONS );
>
>>> +        ServletContextHandler root = new ServletContextHandler(
>
>>> ServletContextHandler.SESSIONS );
>
>>>          root.setResourceBase( new File( getBasedir(), "target"
>
>>> ).getAbsolutePath() );
>
>>>          ServletHolder servletHolder = new ServletHolder( new
>
>>> DefaultServlet() );
>
>>>          root.addServlet( servletHolder, "/*" );
>
>>> +        server.setHandler( root );
>
>>>
>
>>>          server.start();
>
>>>
>
>>> @@ -103,7 +104,7 @@ public class HugeFileDownloadTest
>
>>>
>
>>>          server = new Server( 0 );
>
>>>
>
>>> -        Context root = new Context( server, "/", Context.SESSIONS );
>
>>> +        ServletContextHandler root = new ServletContextHandler(
>
>>> ServletContextHandler.SESSIONS );
>
>>>          root.setResourceBase( new File( getBasedir(), "target"
>
>>> ).getAbsolutePath() );
>
>>>          ServletHolder servletHolder = new ServletHolder( new
> HttpServlet()
>
>>>          {
>
>>> @@ -123,6 +124,7 @@ public class HugeFileDownloadTest
>
>>>              }
>
>>>          } );
>
>>>          root.addServlet( servletHolder, "/*" );
>
>>> +        server.setHandler( root );
>
>>>
>
>>>          server.start();
>
>>>
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-ssh/pom.xml
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-ssh/pom.xml
>
>>> b/wagon-providers/wagon-ssh/pom.xml
>
>>> index 2052c6c..1c7a9b6 100644
>
>>> --- a/wagon-providers/wagon-ssh/pom.xml
>
>>> +++ b/wagon-providers/wagon-ssh/pom.xml
>
>>> @@ -68,13 +68,13 @@ under the License.
>
>>>        <scope>test</scope>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>> -      <groupId>org.mortbay.jetty</groupId>
>
>>> -      <artifactId>jetty</artifactId>
>
>>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>
>>> +      <artifactId>jetty-all</artifactId>
>
>>>        <scope>test</scope>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>> -      <groupId>org.mortbay.jetty</groupId>
>
>>> -      <artifactId>servlet-api</artifactId>
>
>>> +      <groupId>javax.servlet</groupId>
>
>>> +      <artifactId>javax.servlet-api</artifactId>
>
>>>        <scope>test</scope>
>
>>>      </dependency>
>
>>>      <dependency>
>
>>>
>
>>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>
>>> 2e1c807e/wagon-providers/wagon-ssh/src/test/java/org/
>
>>> apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
>
>>> ----------------------------------------------------------------------
>
>>> diff --git a/wagon-providers/wagon-ssh/src/test/java/org/apache/
>
>>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
>
>>> b/wagon-providers/wagon-ssh/src/test/java/org/apache/
>
>>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
>
>>> index 9d5f985..48bc173 100644
>
>>> --- a/wagon-providers/wagon-ssh/src/test/java/org/apache/
>
>>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
>
>>> +++ b/wagon-providers/wagon-ssh/src/test/java/org/apache/
>
>>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
>
>>> @@ -34,10 +34,10 @@ import org.apache.maven.wagon.authentication.
>
>>> AuthenticationExcepti
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: [1/2] maven-wagon git commit: [WAGON-474] Upgrade and revise all tests for Jetty 8

Posted by Olivier Lamy <ol...@apache.org>.
2017 is in few days so maybe java 1.7 shouldn't be a big problem....

On Wed, 28 Dec 2016 at 11:09 am, Michael Osipov <mi...@apache.org> wrote:

Am 2016-12-28 um 08:54 schrieb Olivier Lamy:

> Hi

> What about at least Jetty 9.2? (8.x is not anymore supported)



Wagon is still Java 1.6, therefore I had to stick to Jetty 8.

Moving from 8 to 9 is easier than from 6 to 9.



See:

https://www.eclipse.org/jetty/documentation/9.3.x/what-jetty-version.html



> On 26 December 2016 at 10:58, <mi...@apache.org> wrote:

>

>> Repository: maven-wagon

>> Updated Branches:

>>   refs/heads/jetty-8 [created] e707a2691

>>

>>

>> [WAGON-474] Upgrade and revise all tests for Jetty 8

>>

>> * Upgrade all test code to Jetty 8.1.22 and Servlet 3.0

>> * Unify variable names in redirect usecases to realServer and

>>   redirectServer

>> * RedirectHandler: redirect code is passed but completely ignored because

>>   sendRedirect() always sends 302

>> * Chronologically sort checkHandlerResult() calls

>> ** Set redirect code (See Other (303)) as requested

>> ** Update checkHandlerResult() for requested status codes rather sent

>>    chosen by server (mismatched previously)

>> * testPreemptiveAuthentication*(): properly check for OK for GET and

>>   CREATED for PUT instead of OK only for both

>> * WebDavWagonTest: replace status code literal for

>>   HttpServletResponse.SC_* for better readability

>> * testRedirect*(): add more checkHandlerResults

>>

>>

>> Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo

>> Commit:
http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/2e1c807e

>> Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/2e1c807e

>> Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/2e1c807e

>>

>> Branch: refs/heads/jetty-8

>> Commit: 2e1c807e5345a1999376771f8b378b8cd3328fee

>> Parents: b451e41

>> Author: Michael Osipov <mi...@apache.org>

>> Authored: Mon Dec 26 00:55:09 2016 +0100

>> Committer: Michael Osipov <mi...@apache.org>

>> Committed: Mon Dec 26 00:55:09 2016 +0100

>>

>> ----------------------------------------------------------------------

>>  pom.xml                                         |  14 +-

>>  wagon-provider-test/pom.xml                     |   8 +-

>>  .../maven/wagon/http/HttpWagonTestCase.java     | 273
++++++++++---------

>>  wagon-providers/wagon-http-lightweight/pom.xml  |   4 +-

>>  .../http/LightweightHttpsWagonTest.java         |   6 +-

>>  wagon-providers/wagon-http/pom.xml              |   8 +-

>>  .../http/HttpWagonHttpServerTestCase.java       |  14 +-

>>  .../http/HttpWagonReasonPhraseTest.java         |   2 +-

>>  .../providers/http/HttpWagonTimeoutTest.java    |   2 +-

>>  .../http/HttpsWagonPreemptiveTest.java          |   6 +-

>>  .../wagon/providers/http/HttpsWagonTest.java    |   6 +-

>>  .../providers/http/HugeFileDownloadTest.java    |  14 +-

>>  wagon-providers/wagon-ssh/pom.xml               |   8 +-

>>  .../ssh/jsch/ScpWagonWithProxyTest.java         |  16 +-

>>  wagon-providers/wagon-webdav-jackrabbit/pom.xml |   8 +-

>>  .../wagon/providers/webdav/WebDavWagonTest.java |  73 ++---

>>  .../providers/webdav/WebDavsWagonTest.java      |   6 +-

>>  wagon-tcks/wagon-tck-http/pom.xml               |  12 +-

>>  .../wagon/tck/http/fixture/ServerFixture.java   |  52 ++--

>>  19 files changed, 278 insertions(+), 254 deletions(-)

>> ----------------------------------------------------------------------

>>

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/pom.xml

>> ----------------------------------------------------------------------

>> diff --git a/pom.xml b/pom.xml

>> index e127da4..a90a1ba 100644

>> --- a/pom.xml

>> +++ b/pom.xml

>> @@ -313,14 +313,14 @@ under the License.

>>        </dependency>

>>

>>        <dependency>

>> -        <groupId>org.mortbay.jetty</groupId>

>> -        <artifactId>jetty</artifactId>

>> -        <version>6.1.26</version>

>> +        <groupId>org.eclipse.jetty.aggregate</groupId>

>> +        <artifactId>jetty-all</artifactId>

>> +        <version>8.1.22.v20160922</version>

>>        </dependency>

>>        <dependency>

>> -        <groupId>org.mortbay.jetty</groupId>

>> -        <artifactId>servlet-api</artifactId>

>> -        <version>2.5-20081211</version>

>> +        <groupId>javax.servlet</groupId>

>> +        <artifactId>javax.servlet-api</artifactId>

>> +        <version>3.0.1</version>

>>      </dependency>

>>      </dependencies>

>>    </dependencyManagement>

>> @@ -565,5 +565,5 @@ under the License.

>>        </reporting>

>>      </profile>

>>    </profiles>

>> -

>> +

>>  </project>

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-provider-test/pom.xml

>> ----------------------------------------------------------------------

>> diff --git a/wagon-provider-test/pom.xml b/wagon-provider-test/pom.xml

>> index b19e7ac..9b0f4e5 100644

>> --- a/wagon-provider-test/pom.xml

>> +++ b/wagon-provider-test/pom.xml

>> @@ -51,12 +51,12 @@ under the License.

>>        <scope>compile</scope>

>>      </dependency>

>>      <dependency>

>> -      <groupId>org.mortbay.jetty</groupId>

>> -      <artifactId>jetty</artifactId>

>> +      <groupId>org.eclipse.jetty.aggregate</groupId>

>> +      <artifactId>jetty-all</artifactId>

>>      </dependency>

>>      <dependency>

>> -      <groupId>org.mortbay.jetty</groupId>

>> -      <artifactId>servlet-api</artifactId>

>> +      <groupId>javax.servlet</groupId>

>> +      <artifactId>javax.servlet-api</artifactId>

>>      </dependency>

>>      <dependency>

>>        <groupId>org.slf4j</groupId>

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/

>> HttpWagonTestCase.java

>> ----------------------------------------------------------------------

>> diff --git a/wagon-provider-test/src/main/java/org/apache/maven/

>> wagon/http/HttpWagonTestCase.java b/wagon-provider-test/src/

>> main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java

>> index dfc499e..cf479fd 100644

>> --- a/wagon-provider-test/src/main/java/org/apache/maven/

>> wagon/http/HttpWagonTestCase.java

>> +++ b/wagon-provider-test/src/main/java/org/apache/maven/

>> wagon/http/HttpWagonTestCase.java

>> @@ -34,20 +34,21 @@ import org.apache.maven.wagon.resource.Resource;

>>  import org.codehaus.plexus.util.FileUtils;

>>  import org.codehaus.plexus.util.IOUtil;

>>  import org.codehaus.plexus.util.StringUtils;

>> -import org.mortbay.jetty.Handler;

>> -import org.mortbay.jetty.HttpConnection;

>> -import org.mortbay.jetty.Request;

>> -import org.mortbay.jetty.Response;

>> -import org.mortbay.jetty.Server;

>> -import org.mortbay.jetty.handler.AbstractHandler;

>> -import org.mortbay.jetty.handler.HandlerCollection;

>> -import org.mortbay.jetty.security.Constraint;

>> -import org.mortbay.jetty.security.ConstraintMapping;

>> -import org.mortbay.jetty.security.HashUserRealm;

>> -import org.mortbay.jetty.security.SecurityHandler;

>> -import org.mortbay.jetty.servlet.Context;

>> -import org.mortbay.jetty.servlet.DefaultServlet;

>> -import org.mortbay.jetty.servlet.ServletHolder;

>> +import org.eclipse.jetty.security.ConstraintMapping;

>> +import org.eclipse.jetty.security.ConstraintSecurityHandler;

>> +import org.eclipse.jetty.security.HashLoginService;

>> +import org.eclipse.jetty.security.SecurityHandler;

>> +import org.eclipse.jetty.security.authentication.BasicAuthenticator;

>> +import org.eclipse.jetty.server.Request;

>> +import org.eclipse.jetty.server.Response;

>> +import org.eclipse.jetty.server.Server;

>> +import org.eclipse.jetty.server.handler.AbstractHandler;

>> +import org.eclipse.jetty.server.handler.HandlerCollection;

>> +import org.eclipse.jetty.util.security.Constraint;

>> +import org.eclipse.jetty.util.security.Password;

>> +import org.eclipse.jetty.servlet.DefaultServlet;

>> +import org.eclipse.jetty.servlet.ServletContextHandler;

>> +import org.eclipse.jetty.servlet.ServletHolder;

>>

>>  import javax.servlet.ServletException;

>>  import javax.servlet.http.HttpServletRequest;

>> @@ -99,9 +100,12 @@ public abstract class HttpWagonTestCase

>>          server = new Server( 0 );

>>

>>          PutHandler putHandler = new PutHandler( repositoryDirectory );

>> -        server.addHandler( putHandler );

>>

>> -        createContext( server, repositoryDirectory );

>> +        ServletContextHandler context = createContext( server,

>> repositoryDirectory );

>> +        HandlerCollection handlers = new HandlerCollection();

>> +        handlers.addHandler( putHandler );

>> +        handlers.addHandler( context );

>> +        server.setHandler( handlers );

>>

>>          addConnectors( server );

>>

>> @@ -120,13 +124,14 @@ public abstract class HttpWagonTestCase

>>          return server.getConnectors()[0].getLocalPort();

>>      }

>>

>> -    protected void createContext( Server server, File
repositoryDirectory

>> )

>> +    protected ServletContextHandler createContext( Server server, File

>> repositoryDirectory )

>>          throws IOException

>>      {

>> -        Context root = new Context( server, "/", Context.SESSIONS );

>> +        ServletContextHandler root = new ServletContextHandler(

>> ServletContextHandler.SESSIONS );

>>          root.setResourceBase( repositoryDirectory.getAbsolutePath() );

>>          ServletHolder servletHolder = new ServletHolder( new

>> DefaultServlet() );

>>          root.addServlet( servletHolder, "/*" );

>> +        return root;

>>      }

>>

>>      protected void tearDownWagonTestingFixtures()

>> @@ -216,7 +221,7 @@ public abstract class HttpWagonTestCase

>>          server.setHandler( handler );

>>          addConnectors( server );

>>          server.start();

>> -        wagon.connect( new Repository( "id", getProtocol() +

>> "://localhost:"

>> +        wagon.connect( new Repository( "id", getProtocol() +

>> "://localhost:"

>>            + server.getConnectors()[0].getLocalPort() ) );

>>          wagon.getToStream( "resource", new ByteArrayOutputStream() );

>>          wagon.disconnect();

>> @@ -309,19 +314,19 @@ public abstract class HttpWagonTestCase

>>

>>              AbstractHandler handler = new AbstractHandler()

>>              {

>> -                public void handle( String s, HttpServletRequest
request,

>> HttpServletResponse response, int i )

>> -                    throws IOException, ServletException

>> +                public void handle( String target, Request baseRequest,

>> HttpServletRequest request,

>> +                    HttpServletResponse response ) throws IOException,

>> ServletException

>>                  {

>>                      if ( called.get() )

>>                      {

>>                          response.setStatus( HttpServletResponse.SC_OK );

>> -                        ( (Request) request ).setHandled( true );

>> +                        baseRequest.setHandled( true );

>>                      }

>>                      else

>>                      {

>>                          called.set( true );

>>                          response.setStatus( SC_TOO_MANY_REQUESTS );

>> -                        ( (Request) request ).setHandled( true );

>> +                        baseRequest.setHandled( true );

>>

>>                      }

>>                  }

>> @@ -456,19 +461,19 @@ public abstract class HttpWagonTestCase

>>

>>              AbstractHandler handler = new AbstractHandler()

>>              {

>> -                public void handle( String s, HttpServletRequest
request,

>> HttpServletResponse response, int i )

>> -                    throws IOException, ServletException

>> +                public void handle( String target, Request baseRequest,

>> HttpServletRequest request,

>> +                    HttpServletResponse response ) throws IOException,

>> ServletException

>>                  {

>>                      if ( called.get() )

>>                      {

>>                          response.setStatus(
HttpServletResponse.SC_INTERNAL_SERVER_ERROR

>> );

>> -                        ( (Request) request ).setHandled( true );

>> +                        baseRequest.setHandled( true );

>>                      }

>>                      else

>>                      {

>>                          called.set( true );

>>                          response.setStatus( SC_TOO_MANY_REQUESTS );

>> -                        ( (Request) request ).setHandled( true );

>> +                        baseRequest.setHandled( true );

>>                      }

>>                  }

>>              };

>> @@ -543,12 +548,13 @@ public abstract class HttpWagonTestCase

>>          Server server = new Server( getTestRepositoryPort() );

>>

>>          String localRepositoryPath = FileTestUtils.

>> getTestOutputDir().toString();

>> -        Context root = new Context( server, "/", Context.SESSIONS );

>> +        ServletContextHandler root = new ServletContextHandler(

>> ServletContextHandler.SESSIONS );

>>          root.setResourceBase( localRepositoryPath );

>>          ServletHolder servletHolder = new ServletHolder( new

>> DefaultServlet() );

>>          servletHolder.setInitParameter( "gzip", "true" );

>>          root.addServlet( servletHolder, "/*" );

>>          addConnectors( server );

>> +        server.setHandler( root );

>>          server.start();

>>

>>          try

>> @@ -655,12 +661,12 @@ public abstract class HttpWagonTestCase

>>      {

>>          StreamingWagon wagon = (StreamingWagon) getWagon();

>>

>> -        Server server = new Server( 0 );

>> +        Server realServer = new Server( 0 );

>>          TestHeaderHandler handler = new TestHeaderHandler();

>>

>> -        server.setHandler( handler );

>> -        addConnectors( server );

>> -        server.start();

>> +        realServer.setHandler( handler );

>> +        addConnectors( realServer );

>> +        realServer.start();

>>

>>          Server redirectServer = new Server( 0 );

>>

>> @@ -679,10 +685,10 @@ public abstract class HttpWagonTestCase

>>              protocol = "https";

>>          }

>>

>> -        String redirectUrl = protocol + "://localhost:" +

>> server.getConnectors()[0].getLocalPort();

>> +        String redirectUrl = protocol + "://localhost:" +

>> realServer.getConnectors()[0].getLocalPort();

>>

>>          RedirectHandler redirectHandler =

>> -            new RedirectHandler( "Found",
HttpServletResponse.SC_SEE_OTHER,

>> redirectUrl, null );

>> +            new RedirectHandler( "See Other",
HttpServletResponse.SC_SEE_OTHER,

>> redirectUrl, null );

>>

>>          redirectServer.setHandler( redirectHandler );

>>

>> @@ -702,14 +708,14 @@ public abstract class HttpWagonTestCase

>>              String found = FileUtils.fileRead( tmpResult );

>>              assertEquals( "found:'" + found + "'", "Hello, World!",
found

>> );

>>

>> +            checkHandlerResult( redirectHandler.handlerRequestResponses,

>> HttpServletResponse.SC_SEE_OTHER );

>>              checkHandlerResult( handler.handlerRequestResponses,

>> HttpServletResponse.SC_OK );

>> -            checkHandlerResult( redirectHandler.handlerRequestResponses,

>> HttpServletResponse.SC_FOUND );

>>          }

>>          finally

>>          {

>>              wagon.disconnect();

>>

>> -            server.stop();

>> +            realServer.stop();

>>

>>              tmpResult.delete();

>>          }

>> @@ -720,12 +726,12 @@ public abstract class HttpWagonTestCase

>>      {

>>          StreamingWagon wagon = (StreamingWagon) getWagon();

>>

>> -        Server server = new Server( 0 );

>> +        Server realServer = new Server( 0 );

>>          TestHeaderHandler handler = new TestHeaderHandler();

>>

>> -        server.setHandler( handler );

>> -        addConnectors( server );

>> -        server.start();

>> +        realServer.setHandler( handler );

>> +        addConnectors( realServer );

>> +        realServer.start();

>>

>>          Server redirectServer = new Server( 0 );

>>

>> @@ -744,10 +750,10 @@ public abstract class HttpWagonTestCase

>>              protocol = "https";

>>          }

>>

>> -        String redirectUrl = protocol + "://localhost:" +

>> server.getConnectors()[0].getLocalPort();

>> +        String redirectUrl = protocol + "://localhost:" +

>> realServer.getConnectors()[0].getLocalPort();

>>

>>          RedirectHandler redirectHandler =

>> -            new RedirectHandler( "Found",
HttpServletResponse.SC_SEE_OTHER,

>> redirectUrl, null );

>> +            new RedirectHandler( "See Other",
HttpServletResponse.SC_SEE_OTHER,

>> redirectUrl, null );

>>

>>          redirectServer.setHandler( redirectHandler );

>>

>> @@ -763,14 +769,14 @@ public abstract class HttpWagonTestCase

>>              String found = FileUtils.fileRead( tmpResult );

>>              assertEquals( "found:'" + found + "'", "Hello, World!",
found

>> );

>>

>> +            checkHandlerResult( redirectHandler.handlerRequestResponses,

>> HttpServletResponse.SC_SEE_OTHER );

>>              checkHandlerResult( handler.handlerRequestResponses,

>> HttpServletResponse.SC_OK );

>> -            checkHandlerResult( redirectHandler.handlerRequestResponses,

>> HttpServletResponse.SC_FOUND );

>>          }

>>          finally

>>          {

>>              wagon.disconnect();

>>

>> -            server.stop();

>> +            realServer.stop();

>>

>>              tmpResult.delete();

>>          }

>> @@ -814,7 +820,7 @@ public abstract class HttpWagonTestCase

>>          String redirectUrl = protocol + "://localhost:" +

>> realServer.getConnectors()[0].getLocalPort();

>>

>>          RedirectHandler redirectHandler =

>> -            new RedirectHandler( "Found",
HttpServletResponse.SC_SEE_OTHER,

>> redirectUrl, repositoryDirectory );

>> +            new RedirectHandler( "See Other",
HttpServletResponse.SC_SEE_OTHER,

>> redirectUrl, repositoryDirectory );

>>

>>          redirectServer.setHandler( redirectHandler );

>>

>> @@ -839,6 +845,9 @@ public abstract class HttpWagonTestCase

>>              try

>>              {

>>                  wagon.putFromStream( fileInputStream,

>> "test-secured-put-resource", content.length(), -1 );

>> +                assertEquals( content, FileUtils.fileRead(

>> sourceFile.getAbsolutePath() ) );

>> +

>> +                checkRequestResponseForRedirectPutWithFullUrl(

>> redirectHandler, putHandler );

>>              }

>>              finally

>>              {

>> @@ -847,9 +856,6 @@ public abstract class HttpWagonTestCase

>>

>>              }

>>

>> -            assertEquals( content, FileUtils.fileRead(

>> sourceFile.getAbsolutePath() ) );

>> -

>> -            checkRequestResponseForRedirectPutFromStreamWithFullUrl(

>> putHandler, redirectHandler );

>>          }

>>          finally

>>          {

>> @@ -858,11 +864,11 @@ public abstract class HttpWagonTestCase

>>          }

>>      }

>>

>> -    protected void
checkRequestResponseForRedirectPutFromStreamWithFullUrl(

>> PutHandler putHandler,

>> -

>>   RedirectHandler redirectHandler )

>> +    protected void checkRequestResponseForRedirectPutWithFullUrl(

>> RedirectHandler redirectHandler,

>> +

>> PutHandler putHandler )

>>      {

>> +        checkHandlerResult( redirectHandler.handlerRequestResponses,

>> HttpServletResponse.SC_SEE_OTHER );

>>          checkHandlerResult( putHandler.handlerRequestResponses,

>> HttpServletResponse.SC_CREATED );

>> -        checkHandlerResult( redirectHandler.handlerRequestResponses,

>> HttpServletResponse.SC_FOUND );

>>      }

>>

>>      public void testRedirectPutFromStreamRelativeUrl()

>> @@ -885,7 +891,7 @@ public abstract class HttpWagonTestCase

>>          addConnectors( redirectServer );

>>

>>          RedirectHandler redirectHandler =

>> -            new RedirectHandler( "Found",
HttpServletResponse.SC_SEE_OTHER,

>> "/redirectRequest/foo",

>> +            new RedirectHandler( "See Other",
HttpServletResponse.SC_SEE_OTHER,

>> "/redirectRequest/foo",

>>                                   repositoryDirectory );

>>

>>          redirectServer.setHandler( redirectHandler );

>> @@ -911,6 +917,9 @@ public abstract class HttpWagonTestCase

>>              try

>>              {

>>                  wagon.putFromStream( fileInputStream,

>> "test-secured-put-resource", content.length(), -1 );

>> +                assertEquals( content, FileUtils.fileRead(

>> sourceFile.getAbsolutePath() ) );

>> +

>> +                checkRequestResponseForRedirectPutWithRelativeUrl(

>> redirectHandler, putHandler );

>>              }

>>              finally

>>              {

>> @@ -919,10 +928,6 @@ public abstract class HttpWagonTestCase

>>

>>              }

>>

>> -            assertEquals( content, FileUtils.fileRead(

>> sourceFile.getAbsolutePath() ) );

>> -

>> -            checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(

>> putHandler, redirectHandler );

>> -

>>          }

>>          finally

>>          {

>> @@ -931,12 +936,12 @@ public abstract class HttpWagonTestCase

>>          }

>>      }

>>

>> -    protected void
checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(

>> PutHandler putHandler,

>> -

>>       RedirectHandler redirectHandler )

>> +    protected void checkRequestResponseForRedirectPutWithRelativeUrl(

>> RedirectHandler redirectHandler,

>> +

>> PutHandler putHandler )

>>      {

>> -        checkHandlerResult( putHandler.handlerRequestResponses );

>> -        checkHandlerResult( redirectHandler.handlerRequestResponses,

>> HttpServletResponse.SC_FOUND,

>> +        checkHandlerResult( redirectHandler.handlerRequestResponses,

>> HttpServletResponse.SC_SEE_OTHER,

>>                              HttpServletResponse.SC_CREATED );

>> +        checkHandlerResult( putHandler.handlerRequestResponses );

>>      }

>>

>>      protected void checkHandlerResult( List<HandlerRequestResponse>

>> handlerRequestResponses,

>> @@ -994,7 +999,7 @@ public abstract class HttpWagonTestCase

>>          String redirectUrl = protocol + "://localhost:" +

>> realServer.getConnectors()[0].getLocalPort();

>>

>>          RedirectHandler redirectHandler =

>> -            new RedirectHandler( "Found",
HttpServletResponse.SC_SEE_OTHER,

>> redirectUrl, repositoryDirectory );

>> +            new RedirectHandler( "See Other",
HttpServletResponse.SC_SEE_OTHER,

>> redirectUrl, repositoryDirectory );

>>

>>          redirectServer.setHandler( redirectHandler );

>>

>> @@ -1018,14 +1023,15 @@ public abstract class HttpWagonTestCase

>>              try

>>              {

>>                  wagon.put( tempFile, "test-secured-put-resource" );

>> +                assertEquals( content, FileUtils.fileRead(

>> sourceFile.getAbsolutePath() ) );

>> +

>> +                checkRequestResponseForRedirectPutWithFullUrl(

>> redirectHandler, putHandler );

>>              }

>>              finally

>>              {

>>                  tempFile.delete();

>>              }

>>

>> -            assertEquals( content, FileUtils.fileRead(

>> sourceFile.getAbsolutePath() ) );

>> -

>>          }

>>          finally

>>          {

>> @@ -1055,7 +1061,7 @@ public abstract class HttpWagonTestCase

>>          addConnectors( redirectServer );

>>

>>          RedirectHandler redirectHandler =

>> -            new RedirectHandler( "Found",
HttpServletResponse.SC_SEE_OTHER,

>> "/redirectRequest/foo",

>> +            new RedirectHandler( "See Other",
HttpServletResponse.SC_SEE_OTHER,

>> "/redirectRequest/foo",

>>                                   repositoryDirectory );

>>

>>          redirectServer.setHandler( redirectHandler );

>> @@ -1080,14 +1086,15 @@ public abstract class HttpWagonTestCase

>>              try

>>              {

>>                  wagon.put( tempFile, "test-secured-put-resource" );

>> +                assertEquals( content, FileUtils.fileRead(

>> sourceFile.getAbsolutePath() ) );

>> +

>> +                checkRequestResponseForRedirectPutWithRelativeUrl(

>> redirectHandler, putHandler );

>>              }

>>              finally

>>              {

>>                  tempFile.delete();

>>              }

>>

>> -            assertEquals( content, FileUtils.fileRead(

>> sourceFile.getAbsolutePath() ) );

>> -

>>          }

>>          finally

>>          {

>> @@ -1098,7 +1105,7 @@ public abstract class HttpWagonTestCase

>>

>>

>>      /**

>> -     *

>> +     *

>>       */

>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )

>>      public static class RedirectHandler

>> @@ -1122,23 +1129,28 @@ public abstract class HttpWagonTestCase

>>              this.repositoryDirectory = repositoryDirectory;

>>          }

>>

>> -        public void handle( String s, HttpServletRequest req,

>> HttpServletResponse resp, int i )

>> -            throws IOException, ServletException

>> +        public void handle( String target, Request baseRequest,

>> HttpServletRequest request,

>> +            HttpServletResponse response ) throws IOException,

>> ServletException

>>          {

>> -            if ( req.getRequestURI().contains( "redirectRequest" ) )

>> +            if ( request.getRequestURI().contains( "redirectRequest" ) )

>>              {

>>                  PutHandler putHandler = new PutHandler(

>> this.repositoryDirectory );

>> -                putHandler.handle( s, req, resp, i );

>> +                putHandler.handle( target, baseRequest, request,
response

>> );

>>                  handlerRequestResponses.add(

>> -                    new HandlerRequestResponse( req.getMethod(), (

>> (Response) resp ).getStatus(),

>> -                                                req.getRequestURI() ) );

>> +                    new HandlerRequestResponse( request.getMethod(), (

>> (Response) response ).getStatus(),

>> +                                                request.getRequestURI()
)

>> );

>>                  return;

>>              }

>> -            resp.setStatus( this.retCode );

>> -            resp.sendRedirect( this.redirectUrl + "/" +

>> req.getRequestURI() );

>> +            response.setStatus( this.retCode );

>> +            response.setHeader( "Location", this.redirectUrl +

>> request.getRequestURI() );

>> +            baseRequest.setHandled( true );

>> +

>>              handlerRequestResponses.add(

>> -                new HandlerRequestResponse( req.getMethod(), (
(Response)

>> resp ).getStatus(), req.getRequestURI() ) );

>> +                new HandlerRequestResponse( request.getMethod(), (

>> (Response) response ).getStatus(),

>> +                                            request.getRequestURI() ) );

>>          }

>> +

>> +

>>      }

>>

>>

>> @@ -1342,7 +1354,8 @@ public abstract class HttpWagonTestCase

>>

>>              assertEquals( "top secret", IOUtil.toString( in ) );

>>

>> -            TestSecurityHandler securityHandler = (TestSecurityHandler)
(

>> (Context) server.getHandler() ).getHandler();

>> +            TestSecurityHandler securityHandler = (

>> (ServletContextHandler) server.getHandler() )

>> +                .getChildHandlerByClass( TestSecurityHandler.class );

>>              testPreemptiveAuthenticationGet( securityHandler,

>> supportPreemptiveAuthenticationGet() );

>>

>>          }

>> @@ -1393,7 +1406,8 @@ public abstract class HttpWagonTestCase

>>

>>              assertEquals( "top secret", out.toString( "US-ASCII" ) );

>>

>> -            TestSecurityHandler securityHandler = (TestSecurityHandler)
(

>> (Context) server.getHandler() ).getHandler();

>> +            TestSecurityHandler securityHandler = (

>> (ServletContextHandler) server.getHandler() )

>> +                .getChildHandlerByClass( TestSecurityHandler.class );

>>              testPreemptiveAuthenticationGet( securityHandler,

>> supportPreemptiveAuthenticationGet() );

>>          }

>>          finally

>> @@ -1483,10 +1497,10 @@ public abstract class HttpWagonTestCase

>>

>>          SecurityHandler sh = createSecurityHandler();

>>

>> -        Context root = new Context( Context.SESSIONS );

>> -        root.setContextPath( "/" );

>> -        root.addHandler( sh );

>> +        ServletContextHandler root = new ServletContextHandler(

>> ServletContextHandler.SESSIONS

>> +            | ServletContextHandler.SECURITY );

>>          root.setResourceBase( localRepositoryPath );

>> +        root.setSecurityHandler( sh );

>>          ServletHolder servletHolder = new ServletHolder( new

>> DefaultServlet() );

>>          root.addServlet( servletHolder, "/*" );

>>

>> @@ -1587,19 +1601,19 @@ public abstract class HttpWagonTestCase

>>

>>              AbstractHandler handler = new AbstractHandler()

>>              {

>> -                public void handle( String s, HttpServletRequest
request,

>> HttpServletResponse response, int i )

>> -                    throws IOException, ServletException

>> +                public void handle( String target, Request baseRequest,

>> HttpServletRequest request,

>> +                    HttpServletResponse response ) throws IOException,

>> ServletException

>>                  {

>>                      if ( called.get() )

>>                      {

>>                          response.setStatus(
HttpServletResponse.SC_INTERNAL_SERVER_ERROR

>> );

>> -                        ( (Request) request ).setHandled( true );

>> +                        baseRequest.setHandled( true );

>>                      }

>>                      else

>>                      {

>>                          called.set( true );

>>                          response.setStatus( SC_TOO_MANY_REQUESTS );

>> -                        ( (Request) request ).setHandled( true );

>> +                        baseRequest.setHandled( true );

>>                      }

>>                  }

>>              };

>> @@ -1725,10 +1739,8 @@ public abstract class HttpWagonTestCase

>>

>>          PutHandler putHandler = new PutHandler( new File(

>> localRepositoryPath ) );

>>

>> -        HandlerCollection handlers = new HandlerCollection();

>> -        handlers.setHandlers( new Handler[]{ sh, putHandler } );

>> -

>> -        server.setHandler( handlers );

>> +        sh.setHandler( putHandler );

>> +        server.setHandler( sh );

>>          addConnectors( server );

>>          server.start();

>>

>> @@ -1796,10 +1808,15 @@ public abstract class HttpWagonTestCase

>>

>>          PutHandler putHandler = new PutHandler( new File(

>> localRepositoryPath ) );

>>

>> -        HandlerCollection handlers = new HandlerCollection();

>> -        handlers.setHandlers( addSecurityHandler ? new Handler[]{ sh,

>> putHandler } : new Handler[]{ putHandler } );

>> -

>> -        server.setHandler( handlers );

>> +        if ( addSecurityHandler )

>> +        {

>> +            sh.setHandler( putHandler );

>> +            server.setHandler( sh );

>> +        }

>> +        else

>> +        {

>> +            server.setHandler( putHandler );

>> +        }

>>          addConnectors( server );

>>          server.start();

>>

>> @@ -1871,29 +1888,29 @@ public abstract class HttpWagonTestCase

>>

>>      protected void testPreemptiveAuthenticationGet( TestSecurityHandler

>> sh, boolean preemptive )

>>      {

>> -        testPreemptiveAuthentication( sh, preemptive );

>> +        testPreemptiveAuthentication( sh, preemptive,

>> HttpServletResponse.SC_OK );

>>      }

>>

>>      protected void testPreemptiveAuthenticationPut( TestSecurityHandler

>> sh, boolean preemptive )

>>      {

>> -        testPreemptiveAuthentication( sh, preemptive );

>> +        testPreemptiveAuthentication( sh, preemptive,

>> HttpServletResponse.SC_CREATED );

>>      }

>>

>> -    protected void testPreemptiveAuthentication( TestSecurityHandler sh,

>> boolean preemptive )

>> +    protected void testPreemptiveAuthentication( TestSecurityHandler sh,

>> boolean preemptive, int statusCode )

>>      {

>>

>>          if ( preemptive )

>>          {

>>              assertEquals( "not 1 security handler use " +

>> sh.handlerRequestResponses, 1,

>>                            sh.handlerRequestResponses.size() );

>> -            assertEquals( HttpServletResponse.SC_OK,

>> sh.handlerRequestResponses.get( 0 ).responseCode );

>> +            assertEquals( statusCode, sh.handlerRequestResponses.get( 0

>> ).responseCode );

>>          }

>>          else

>>          {

>>              assertEquals( "not 2 security handler use " +

>> sh.handlerRequestResponses, 2,

>>                            sh.handlerRequestResponses.size() );

>>              assertEquals( HttpServletResponse.SC_UNAUTHORIZED,

>> sh.handlerRequestResponses.get( 0 ).responseCode );

>> -            assertEquals( HttpServletResponse.SC_OK,

>> sh.handlerRequestResponses.get( 1 ).responseCode );

>> +            assertEquals( statusCode, sh.handlerRequestResponses.get( 1

>> ).responseCode );

>>

>>          }

>>      }

>> @@ -1908,13 +1925,13 @@ public abstract class HttpWagonTestCase

>>              this.status = status;

>>          }

>>

>> -        public void handle( String target, HttpServletRequest request,

>> HttpServletResponse response, int dispatch )

>> -            throws IOException, ServletException

>> +        public void handle( String target, Request baseRequest,

>> HttpServletRequest request,

>> +            HttpServletResponse response ) throws IOException,

>> ServletException

>>          {

>>              if ( status != 0 )

>>              {

>>                  response.setStatus( status );

>> -                ( (Request) request ).setHandled( true );

>> +                baseRequest.setHandled( true );

>>              }

>>          }

>>      }

>> @@ -1949,7 +1966,7 @@ public abstract class HttpWagonTestCase

>>      }

>>

>>      /**

>> -     *

>> +     *

>>       */

>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )

>>      public static class PutHandler

>> @@ -1968,12 +1985,9 @@ public abstract class HttpWagonTestCase

>>              this.resourceBase = repositoryDirectory;

>>          }

>>

>> -        public void handle( String target, HttpServletRequest request,

>> HttpServletResponse response, int dispatch )

>> -            throws IOException, ServletException

>> +        public void handle( String target, Request baseRequest,

>> HttpServletRequest request,

>> +            HttpServletResponse response ) throws IOException,

>> ServletException

>>          {

>> -            Request baseRequest =

>> -                request instanceof Request ? (Request) request :

>> HttpConnection.getCurrentConnection().getRequest();

>> -

>>              if ( baseRequest.isHandled() || !"PUT".equals(

>> baseRequest.getMethod() ) )

>>              {

>>                  return;

>> @@ -2023,8 +2037,8 @@ public abstract class HttpWagonTestCase

>>

>>          List<HandlerRequestResponse> handlerRequestResponses = new

>> ArrayList<HandlerRequestResponse>();

>>

>> -        public void handle( String target, HttpServletRequest request,

>> HttpServletResponse response, int dispatch )

>> -            throws IOException, ServletException

>> +        public void handle( String target, Request baseRequest,

>> HttpServletRequest request,

>> +            HttpServletResponse response ) throws IOException,

>> ServletException

>>          {

>>              System.out.println( " handle proxy request" );

>>              if ( request.getHeader( "Proxy-Authorization" ) == null )

>> @@ -2036,17 +2050,17 @@ public abstract class HttpWagonTestCase

>>                  response.setStatus(
HttpServletResponse.SC_PROXY_AUTHENTICATION_REQUIRED

>> );

>>                  response.addHeader( "Proxy-Authenticate", "Basic

>> realm=\"Squid proxy-caching web server\"" );

>>

>> -                ( (Request) request ).setHandled( true );

>> +                baseRequest.setHandled( true );

>>                  return;

>>              }

>>              handlerRequestResponses.add(

>>                  new HandlerRequestResponse( request.getMethod(),

>> HttpServletResponse.SC_OK, request.getRequestURI() ) );

>> -            super.handle( target, request, response, dispatch );

>> +            super.handle( target, baseRequest, request, response );

>>          }

>>      }

>>

>>      /**

>> -     *

>> +     *

>>       */

>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )

>>      private static class TestHeaderHandler

>> @@ -2060,14 +2074,14 @@ public abstract class HttpWagonTestCase

>>          {

>>          }

>>

>> -        public void handle( String target, HttpServletRequest request,

>> HttpServletResponse response, int dispatch )

>> -            throws IOException, ServletException

>> +        public void handle( String target, Request baseRrequest,

>> HttpServletRequest request,

>> +            HttpServletResponse response ) throws IOException,

>> ServletException

>>          {

>>              headers = new HashMap<String, String>();

>> -            for ( Enumeration<String> e = request.getHeaderNames();

>> e.hasMoreElements(); )

>> +            for ( Enumeration<String> e = baseRrequest.getHeaderNames();

>> e.hasMoreElements(); )

>>              {

>>                  String name = e.nextElement();

>> -                Enumeration headerValues = request.getHeaders( name );

>> +                Enumeration headerValues = baseRrequest.getHeaders( name

>> );

>>                  // as per HTTP spec http://www.w3.org/Protocols/

>> rfc2616/rfc2616-sec4.html

>>                  // multiple values for the same header key are

>> concatenated separated by comma

>>                  // otherwise we wouldn't notice headers with same key

>> added multiple times

>> @@ -2088,10 +2102,10 @@ public abstract class HttpWagonTestCase

>>              response.getWriter().print( "Hello, World!" );

>>

>>              handlerRequestResponses.add(

>> -                new HandlerRequestResponse( request.getMethod(), (

>> (Response) response ).getStatus(),

>> -                                            request.getRequestURI() ) );

>> +                new HandlerRequestResponse( baseRrequest.getMethod(), (

>> (Response) response ).getStatus(),

>> +                                            baseRrequest.getRequestURI()

>> ) );

>>

>> -            ( (Request) request ).setHandled( true );

>> +            baseRrequest.setHandled( true );

>>          }

>>

>>      }

>> @@ -2108,39 +2122,38 @@ public abstract class HttpWagonTestCase

>>          cm.setPathSpec( "/*" );

>>

>>          TestSecurityHandler sh = new TestSecurityHandler();

>> -        HashUserRealm hashUserRealm = new HashUserRealm( "MyRealm" );

>> -        hashUserRealm.put( "user", "secret" );

>> -        hashUserRealm.addUserToRole( "user", "admin" );

>> -        sh.setUserRealm( hashUserRealm );

>> +        HashLoginService hashLoginService = new HashLoginService(

>> "MyRealm" );

>> +        hashLoginService.putUser( "user", new Password( "secret" ), new

>> String[] { "admin" } );

>> +        sh.setLoginService( hashLoginService );

>>          sh.setConstraintMappings( new ConstraintMapping[]{ cm } );

>> +        sh.setAuthenticator ( new BasicAuthenticator() );

>>          return sh;

>>      }

>>

>>      /**

>> -     *

>> +     *

>>       */

>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )

>>      public static class TestSecurityHandler

>> -        extends SecurityHandler

>> +        extends ConstraintSecurityHandler

>>      {

>>

>>          public List<HandlerRequestResponse> handlerRequestResponses =
new

>> ArrayList<HandlerRequestResponse>();

>>

>>          @Override

>> -        public void handle( String target, HttpServletRequest request,

>> HttpServletResponse response, int dispatch )

>> -            throws IOException, ServletException

>> +        public void handle( String target, Request baseRequest,

>> HttpServletRequest request,

>> +            HttpServletResponse response ) throws IOException,

>> ServletException

>>          {

>>              String method = request.getMethod();

>> -            super.handle( target, request, response, dispatch );

>> +            super.handle( target, baseRequest, request, response );

>>

>>              handlerRequestResponses.add(

>>                  new HandlerRequestResponse( method, ( (Response)
response

>> ).getStatus(), request.getRequestURI() ) );

>>          }

>> -

>>      }

>>

>>      /**

>> -     *

>> +     *

>>       */

>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )

>>      public static class HandlerRequestResponse

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-http-lightweight/pom.xml

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-http-lightweight/pom.xml

>> b/wagon-providers/wagon-http-lightweight/pom.xml

>> index f723004..dd79d17 100644

>> --- a/wagon-providers/wagon-http-lightweight/pom.xml

>> +++ b/wagon-providers/wagon-http-lightweight/pom.xml

>> @@ -60,8 +60,8 @@ under the License.

>>        <artifactId>junit</artifactId>

>>      </dependency>

>>      <dependency>

>> -      <groupId>org.mortbay.jetty</groupId>

>> -      <artifactId>jetty</artifactId>

>> +      <groupId>org.eclipse.jetty.aggregate</groupId>

>> +      <artifactId>jetty-all</artifactId>

>>        <scope>test</scope>

>>      </dependency>

>>      <dependency>

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-http-lightweight/src/

>> test/java/org/apache/maven/wagon/providers/http/

>> LightweightHttpsWagonTest.java

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-http-lightweight/src/test/java/org/

>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java

>> b/wagon-providers/wagon-http-lightweight/src/test/java/org/

>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java

>> index 3b532eb..fe30c83 100644

>> --- a/wagon-providers/wagon-http-lightweight/src/test/java/org/

>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java

>> +++ b/wagon-providers/wagon-http-lightweight/src/test/java/org/

>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java

>> @@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;

>>   * under the License.

>>   */

>>

>> -import org.mortbay.jetty.Connector;

>> -import org.mortbay.jetty.Server;

>> -import org.mortbay.jetty.security.SslSocketConnector;

>> +import org.eclipse.jetty.server.Connector;

>> +import org.eclipse.jetty.server.Server;

>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;

>>

>>  public class LightweightHttpsWagonTest

>>      extends LightweightHttpWagonTest

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-http/pom.xml

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-http/pom.xml

>> b/wagon-providers/wagon-http/pom.xml

>> index 794098d..e32cfcc 100644

>> --- a/wagon-providers/wagon-http/pom.xml

>> +++ b/wagon-providers/wagon-http/pom.xml

>> @@ -77,13 +77,13 @@ under the License.

>>        <artifactId>junit</artifactId>

>>      </dependency>

>>      <dependency>

>> -      <groupId>org.mortbay.jetty</groupId>

>> -      <artifactId>jetty</artifactId>

>> +      <groupId>org.eclipse.jetty.aggregate</groupId>

>> +      <artifactId>jetty-all</artifactId>

>>        <scope>test</scope>

>>      </dependency>

>>      <dependency>

>> -      <groupId>org.mortbay.jetty</groupId>

>> -      <artifactId>servlet-api</artifactId>

>> +      <groupId>javax.servlet</groupId>

>> +      <artifactId>javax.servlet-api</artifactId>

>>        <scope>test</scope>

>>      </dependency>

>>      <dependency>

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/

>> apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java

>> b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java

>> index b5ef1e8..5e7e72b 100644

>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java

>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java

>> @@ -21,9 +21,9 @@ package org.apache.maven.wagon.providers.http;

>>

>>  import org.apache.maven.wagon.Wagon;

>>  import org.codehaus.plexus.PlexusTestCase;

>> -import org.mortbay.jetty.Server;

>> -import org.mortbay.jetty.handler.ResourceHandler;

>> -import org.mortbay.jetty.servlet.Context;

>> +import org.eclipse.jetty.server.Server;

>> +import org.eclipse.jetty.server.handler.ResourceHandler;

>> +import org.eclipse.jetty.servlet.ServletContextHandler;

>>

>>  /**

>>   * User: jdumay Date: 24/01/2008 Time: 18:15:53

>> @@ -37,7 +37,7 @@ public abstract class HttpWagonHttpServerTestCase

>>

>>      protected ResourceHandler resourceHandler;

>>

>> -    protected Context context;

>> +    protected ServletContextHandler context;

>>

>>      protected void setUp()

>>          throws Exception

>> @@ -45,10 +45,10 @@ public abstract class HttpWagonHttpServerTestCase

>>          super.setUp();

>>          server = new Server( httpServerPort );

>>

>> -        context = new Context( server, "/", Context.SESSIONS );

>> -

>> +        context = new ServletContextHandler(

>> ServletContextHandler.SESSIONS );

>>          resourceHandler = new ResourceHandler();

>> -        server.addHandler( resourceHandler );

>> +        context.setHandler( resourceHandler );

>> +        server.setHandler( context );

>>      }

>>

>>      protected Wagon getWagon()

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/

>> apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java

>> b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java

>> index 32cbf32..484d638 100644

>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java

>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java

>> @@ -24,7 +24,7 @@ import org.apache.maven.wagon.TransferFailedException;

>>  import org.apache.maven.wagon.Wagon;

>>  import org.apache.maven.wagon.authorization.AuthorizationException;

>>  import org.apache.maven.wagon.repository.Repository;

>> -import org.mortbay.jetty.servlet.ServletHolder;

>> +import org.eclipse.jetty.servlet.ServletHolder;

>>

>>  import java.io.File;

>>

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/

>> apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonTimeoutTest.java

>> b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonTimeoutTest.java

>> index c223f23..9d2c0eb 100644

>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonTimeoutTest.java

>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpWagonTimeoutTest.java

>> @@ -23,7 +23,7 @@ import org.apache.maven.wagon.FileTestUtils;

>>  import org.apache.maven.wagon.TransferFailedException;

>>  import org.apache.maven.wagon.Wagon;

>>  import org.apache.maven.wagon.repository.Repository;

>> -import org.mortbay.jetty.servlet.ServletHolder;

>> +import org.eclipse.jetty.servlet.ServletHolder;

>>

>>  import java.io.File;

>>  import java.util.Random;

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/

>> apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java

>> b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java

>> index 396823b..ace5b3c 100644

>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java

>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java

>> @@ -20,9 +20,9 @@ package org.apache.maven.wagon.providers.http;

>>   */

>>

>>  import org.apache.maven.wagon.Wagon;

>> -import org.mortbay.jetty.Connector;

>> -import org.mortbay.jetty.Server;

>> -import org.mortbay.jetty.security.SslSocketConnector;

>> +import org.eclipse.jetty.server.Connector;

>> +import org.eclipse.jetty.server.Server;

>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;

>>

>>  public class HttpsWagonPreemptiveTest

>>      extends HttpWagonTest

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/

>> apache/maven/wagon/providers/http/HttpsWagonTest.java

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpsWagonTest.java

>> b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpsWagonTest.java

>> index c22b3ef..7d0de20 100644

>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpsWagonTest.java

>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HttpsWagonTest.java

>> @@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;

>>   * under the License.

>>   */

>>

>> -import org.mortbay.jetty.Connector;

>> -import org.mortbay.jetty.Server;

>> -import org.mortbay.jetty.security.SslSocketConnector;

>> +import org.eclipse.jetty.server.Connector;

>> +import org.eclipse.jetty.server.Server;

>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;

>>

>>  public class HttpsWagonTest

>>      extends HttpWagonTest

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/

>> apache/maven/wagon/providers/http/HugeFileDownloadTest.java

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HugeFileDownloadTest.java

>> b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HugeFileDownloadTest.java

>> index 0b6566d..ce91461 100644

>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HugeFileDownloadTest.java

>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/

>> maven/wagon/providers/http/HugeFileDownloadTest.java

>> @@ -24,10 +24,10 @@ import org.apache.maven.wagon.Wagon;

>>  import org.apache.maven.wagon.observers.Debug;

>>  import org.apache.maven.wagon.repository.Repository;

>>  import org.codehaus.plexus.PlexusTestCase;

>> -import org.mortbay.jetty.Server;

>> -import org.mortbay.jetty.servlet.Context;

>> -import org.mortbay.jetty.servlet.DefaultServlet;

>> -import org.mortbay.jetty.servlet.ServletHolder;

>> +import org.eclipse.jetty.server.Server;

>> +import org.eclipse.jetty.servlet.DefaultServlet;

>> +import org.eclipse.jetty.servlet.ServletContextHandler;

>> +import org.eclipse.jetty.servlet.ServletHolder;

>>

>>  import javax.servlet.ServletException;

>>  import javax.servlet.http.HttpServlet;

>> @@ -61,10 +61,11 @@ public class HugeFileDownloadTest

>>

>>          server = new Server( 0 );

>>

>> -        Context root = new Context( server, "/", Context.SESSIONS );

>> +        ServletContextHandler root = new ServletContextHandler(

>> ServletContextHandler.SESSIONS );

>>          root.setResourceBase( new File( getBasedir(), "target"

>> ).getAbsolutePath() );

>>          ServletHolder servletHolder = new ServletHolder( new

>> DefaultServlet() );

>>          root.addServlet( servletHolder, "/*" );

>> +        server.setHandler( root );

>>

>>          server.start();

>>

>> @@ -103,7 +104,7 @@ public class HugeFileDownloadTest

>>

>>          server = new Server( 0 );

>>

>> -        Context root = new Context( server, "/", Context.SESSIONS );

>> +        ServletContextHandler root = new ServletContextHandler(

>> ServletContextHandler.SESSIONS );

>>          root.setResourceBase( new File( getBasedir(), "target"

>> ).getAbsolutePath() );

>>          ServletHolder servletHolder = new ServletHolder( new
HttpServlet()

>>          {

>> @@ -123,6 +124,7 @@ public class HugeFileDownloadTest

>>              }

>>          } );

>>          root.addServlet( servletHolder, "/*" );

>> +        server.setHandler( root );

>>

>>          server.start();

>>

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-ssh/pom.xml

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-ssh/pom.xml

>> b/wagon-providers/wagon-ssh/pom.xml

>> index 2052c6c..1c7a9b6 100644

>> --- a/wagon-providers/wagon-ssh/pom.xml

>> +++ b/wagon-providers/wagon-ssh/pom.xml

>> @@ -68,13 +68,13 @@ under the License.

>>        <scope>test</scope>

>>      </dependency>

>>      <dependency>

>> -      <groupId>org.mortbay.jetty</groupId>

>> -      <artifactId>jetty</artifactId>

>> +      <groupId>org.eclipse.jetty.aggregate</groupId>

>> +      <artifactId>jetty-all</artifactId>

>>        <scope>test</scope>

>>      </dependency>

>>      <dependency>

>> -      <groupId>org.mortbay.jetty</groupId>

>> -      <artifactId>servlet-api</artifactId>

>> +      <groupId>javax.servlet</groupId>

>> +      <artifactId>javax.servlet-api</artifactId>

>>        <scope>test</scope>

>>      </dependency>

>>      <dependency>

>>

>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/

>> 2e1c807e/wagon-providers/wagon-ssh/src/test/java/org/

>> apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java

>> ----------------------------------------------------------------------

>> diff --git a/wagon-providers/wagon-ssh/src/test/java/org/apache/

>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java

>> b/wagon-providers/wagon-ssh/src/test/java/org/apache/

>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java

>> index 9d5f985..48bc173 100644

>> --- a/wagon-providers/wagon-ssh/src/test/java/org/apache/

>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java

>> +++ b/wagon-providers/wagon-ssh/src/test/java/org/apache/

>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java

>> @@ -34,10 +34,10 @@ import org.apache.maven.wagon.authentication.

>> AuthenticationExcepti

Re: [1/2] maven-wagon git commit: [WAGON-474] Upgrade and revise all tests for Jetty 8

Posted by Michael Osipov <mi...@apache.org>.
Am 2016-12-28 um 08:54 schrieb Olivier Lamy:
> Hi
> What about at least Jetty 9.2? (8.x is not anymore supported)

Wagon is still Java 1.6, therefore I had to stick to Jetty 8.
Moving from 8 to 9 is easier than from 6 to 9.

See: 
https://www.eclipse.org/jetty/documentation/9.3.x/what-jetty-version.html

> On 26 December 2016 at 10:58, <mi...@apache.org> wrote:
>
>> Repository: maven-wagon
>> Updated Branches:
>>   refs/heads/jetty-8 [created] e707a2691
>>
>>
>> [WAGON-474] Upgrade and revise all tests for Jetty 8
>>
>> * Upgrade all test code to Jetty 8.1.22 and Servlet 3.0
>> * Unify variable names in redirect usecases to realServer and
>>   redirectServer
>> * RedirectHandler: redirect code is passed but completely ignored because
>>   sendRedirect() always sends 302
>> * Chronologically sort checkHandlerResult() calls
>> ** Set redirect code (See Other (303)) as requested
>> ** Update checkHandlerResult() for requested status codes rather sent
>>    chosen by server (mismatched previously)
>> * testPreemptiveAuthentication*(): properly check for OK for GET and
>>   CREATED for PUT instead of OK only for both
>> * WebDavWagonTest: replace status code literal for
>>   HttpServletResponse.SC_* for better readability
>> * testRedirect*(): add more checkHandlerResults
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/2e1c807e
>> Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/2e1c807e
>> Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/2e1c807e
>>
>> Branch: refs/heads/jetty-8
>> Commit: 2e1c807e5345a1999376771f8b378b8cd3328fee
>> Parents: b451e41
>> Author: Michael Osipov <mi...@apache.org>
>> Authored: Mon Dec 26 00:55:09 2016 +0100
>> Committer: Michael Osipov <mi...@apache.org>
>> Committed: Mon Dec 26 00:55:09 2016 +0100
>>
>> ----------------------------------------------------------------------
>>  pom.xml                                         |  14 +-
>>  wagon-provider-test/pom.xml                     |   8 +-
>>  .../maven/wagon/http/HttpWagonTestCase.java     | 273 ++++++++++---------
>>  wagon-providers/wagon-http-lightweight/pom.xml  |   4 +-
>>  .../http/LightweightHttpsWagonTest.java         |   6 +-
>>  wagon-providers/wagon-http/pom.xml              |   8 +-
>>  .../http/HttpWagonHttpServerTestCase.java       |  14 +-
>>  .../http/HttpWagonReasonPhraseTest.java         |   2 +-
>>  .../providers/http/HttpWagonTimeoutTest.java    |   2 +-
>>  .../http/HttpsWagonPreemptiveTest.java          |   6 +-
>>  .../wagon/providers/http/HttpsWagonTest.java    |   6 +-
>>  .../providers/http/HugeFileDownloadTest.java    |  14 +-
>>  wagon-providers/wagon-ssh/pom.xml               |   8 +-
>>  .../ssh/jsch/ScpWagonWithProxyTest.java         |  16 +-
>>  wagon-providers/wagon-webdav-jackrabbit/pom.xml |   8 +-
>>  .../wagon/providers/webdav/WebDavWagonTest.java |  73 ++---
>>  .../providers/webdav/WebDavsWagonTest.java      |   6 +-
>>  wagon-tcks/wagon-tck-http/pom.xml               |  12 +-
>>  .../wagon/tck/http/fixture/ServerFixture.java   |  52 ++--
>>  19 files changed, 278 insertions(+), 254 deletions(-)
>> ----------------------------------------------------------------------
>>
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/pom.xml b/pom.xml
>> index e127da4..a90a1ba 100644
>> --- a/pom.xml
>> +++ b/pom.xml
>> @@ -313,14 +313,14 @@ under the License.
>>        </dependency>
>>
>>        <dependency>
>> -        <groupId>org.mortbay.jetty</groupId>
>> -        <artifactId>jetty</artifactId>
>> -        <version>6.1.26</version>
>> +        <groupId>org.eclipse.jetty.aggregate</groupId>
>> +        <artifactId>jetty-all</artifactId>
>> +        <version>8.1.22.v20160922</version>
>>        </dependency>
>>        <dependency>
>> -        <groupId>org.mortbay.jetty</groupId>
>> -        <artifactId>servlet-api</artifactId>
>> -        <version>2.5-20081211</version>
>> +        <groupId>javax.servlet</groupId>
>> +        <artifactId>javax.servlet-api</artifactId>
>> +        <version>3.0.1</version>
>>      </dependency>
>>      </dependencies>
>>    </dependencyManagement>
>> @@ -565,5 +565,5 @@ under the License.
>>        </reporting>
>>      </profile>
>>    </profiles>
>> -
>> +
>>  </project>
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-provider-test/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/wagon-provider-test/pom.xml b/wagon-provider-test/pom.xml
>> index b19e7ac..9b0f4e5 100644
>> --- a/wagon-provider-test/pom.xml
>> +++ b/wagon-provider-test/pom.xml
>> @@ -51,12 +51,12 @@ under the License.
>>        <scope>compile</scope>
>>      </dependency>
>>      <dependency>
>> -      <groupId>org.mortbay.jetty</groupId>
>> -      <artifactId>jetty</artifactId>
>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>> +      <artifactId>jetty-all</artifactId>
>>      </dependency>
>>      <dependency>
>> -      <groupId>org.mortbay.jetty</groupId>
>> -      <artifactId>servlet-api</artifactId>
>> +      <groupId>javax.servlet</groupId>
>> +      <artifactId>javax.servlet-api</artifactId>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.slf4j</groupId>
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/
>> HttpWagonTestCase.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-provider-test/src/main/java/org/apache/maven/
>> wagon/http/HttpWagonTestCase.java b/wagon-provider-test/src/
>> main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
>> index dfc499e..cf479fd 100644
>> --- a/wagon-provider-test/src/main/java/org/apache/maven/
>> wagon/http/HttpWagonTestCase.java
>> +++ b/wagon-provider-test/src/main/java/org/apache/maven/
>> wagon/http/HttpWagonTestCase.java
>> @@ -34,20 +34,21 @@ import org.apache.maven.wagon.resource.Resource;
>>  import org.codehaus.plexus.util.FileUtils;
>>  import org.codehaus.plexus.util.IOUtil;
>>  import org.codehaus.plexus.util.StringUtils;
>> -import org.mortbay.jetty.Handler;
>> -import org.mortbay.jetty.HttpConnection;
>> -import org.mortbay.jetty.Request;
>> -import org.mortbay.jetty.Response;
>> -import org.mortbay.jetty.Server;
>> -import org.mortbay.jetty.handler.AbstractHandler;
>> -import org.mortbay.jetty.handler.HandlerCollection;
>> -import org.mortbay.jetty.security.Constraint;
>> -import org.mortbay.jetty.security.ConstraintMapping;
>> -import org.mortbay.jetty.security.HashUserRealm;
>> -import org.mortbay.jetty.security.SecurityHandler;
>> -import org.mortbay.jetty.servlet.Context;
>> -import org.mortbay.jetty.servlet.DefaultServlet;
>> -import org.mortbay.jetty.servlet.ServletHolder;
>> +import org.eclipse.jetty.security.ConstraintMapping;
>> +import org.eclipse.jetty.security.ConstraintSecurityHandler;
>> +import org.eclipse.jetty.security.HashLoginService;
>> +import org.eclipse.jetty.security.SecurityHandler;
>> +import org.eclipse.jetty.security.authentication.BasicAuthenticator;
>> +import org.eclipse.jetty.server.Request;
>> +import org.eclipse.jetty.server.Response;
>> +import org.eclipse.jetty.server.Server;
>> +import org.eclipse.jetty.server.handler.AbstractHandler;
>> +import org.eclipse.jetty.server.handler.HandlerCollection;
>> +import org.eclipse.jetty.util.security.Constraint;
>> +import org.eclipse.jetty.util.security.Password;
>> +import org.eclipse.jetty.servlet.DefaultServlet;
>> +import org.eclipse.jetty.servlet.ServletContextHandler;
>> +import org.eclipse.jetty.servlet.ServletHolder;
>>
>>  import javax.servlet.ServletException;
>>  import javax.servlet.http.HttpServletRequest;
>> @@ -99,9 +100,12 @@ public abstract class HttpWagonTestCase
>>          server = new Server( 0 );
>>
>>          PutHandler putHandler = new PutHandler( repositoryDirectory );
>> -        server.addHandler( putHandler );
>>
>> -        createContext( server, repositoryDirectory );
>> +        ServletContextHandler context = createContext( server,
>> repositoryDirectory );
>> +        HandlerCollection handlers = new HandlerCollection();
>> +        handlers.addHandler( putHandler );
>> +        handlers.addHandler( context );
>> +        server.setHandler( handlers );
>>
>>          addConnectors( server );
>>
>> @@ -120,13 +124,14 @@ public abstract class HttpWagonTestCase
>>          return server.getConnectors()[0].getLocalPort();
>>      }
>>
>> -    protected void createContext( Server server, File repositoryDirectory
>> )
>> +    protected ServletContextHandler createContext( Server server, File
>> repositoryDirectory )
>>          throws IOException
>>      {
>> -        Context root = new Context( server, "/", Context.SESSIONS );
>> +        ServletContextHandler root = new ServletContextHandler(
>> ServletContextHandler.SESSIONS );
>>          root.setResourceBase( repositoryDirectory.getAbsolutePath() );
>>          ServletHolder servletHolder = new ServletHolder( new
>> DefaultServlet() );
>>          root.addServlet( servletHolder, "/*" );
>> +        return root;
>>      }
>>
>>      protected void tearDownWagonTestingFixtures()
>> @@ -216,7 +221,7 @@ public abstract class HttpWagonTestCase
>>          server.setHandler( handler );
>>          addConnectors( server );
>>          server.start();
>> -        wagon.connect( new Repository( "id", getProtocol() +
>> "://localhost:"
>> +        wagon.connect( new Repository( "id", getProtocol() +
>> "://localhost:"
>>            + server.getConnectors()[0].getLocalPort() ) );
>>          wagon.getToStream( "resource", new ByteArrayOutputStream() );
>>          wagon.disconnect();
>> @@ -309,19 +314,19 @@ public abstract class HttpWagonTestCase
>>
>>              AbstractHandler handler = new AbstractHandler()
>>              {
>> -                public void handle( String s, HttpServletRequest request,
>> HttpServletResponse response, int i )
>> -                    throws IOException, ServletException
>> +                public void handle( String target, Request baseRequest,
>> HttpServletRequest request,
>> +                    HttpServletResponse response ) throws IOException,
>> ServletException
>>                  {
>>                      if ( called.get() )
>>                      {
>>                          response.setStatus( HttpServletResponse.SC_OK );
>> -                        ( (Request) request ).setHandled( true );
>> +                        baseRequest.setHandled( true );
>>                      }
>>                      else
>>                      {
>>                          called.set( true );
>>                          response.setStatus( SC_TOO_MANY_REQUESTS );
>> -                        ( (Request) request ).setHandled( true );
>> +                        baseRequest.setHandled( true );
>>
>>                      }
>>                  }
>> @@ -456,19 +461,19 @@ public abstract class HttpWagonTestCase
>>
>>              AbstractHandler handler = new AbstractHandler()
>>              {
>> -                public void handle( String s, HttpServletRequest request,
>> HttpServletResponse response, int i )
>> -                    throws IOException, ServletException
>> +                public void handle( String target, Request baseRequest,
>> HttpServletRequest request,
>> +                    HttpServletResponse response ) throws IOException,
>> ServletException
>>                  {
>>                      if ( called.get() )
>>                      {
>>                          response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR
>> );
>> -                        ( (Request) request ).setHandled( true );
>> +                        baseRequest.setHandled( true );
>>                      }
>>                      else
>>                      {
>>                          called.set( true );
>>                          response.setStatus( SC_TOO_MANY_REQUESTS );
>> -                        ( (Request) request ).setHandled( true );
>> +                        baseRequest.setHandled( true );
>>                      }
>>                  }
>>              };
>> @@ -543,12 +548,13 @@ public abstract class HttpWagonTestCase
>>          Server server = new Server( getTestRepositoryPort() );
>>
>>          String localRepositoryPath = FileTestUtils.
>> getTestOutputDir().toString();
>> -        Context root = new Context( server, "/", Context.SESSIONS );
>> +        ServletContextHandler root = new ServletContextHandler(
>> ServletContextHandler.SESSIONS );
>>          root.setResourceBase( localRepositoryPath );
>>          ServletHolder servletHolder = new ServletHolder( new
>> DefaultServlet() );
>>          servletHolder.setInitParameter( "gzip", "true" );
>>          root.addServlet( servletHolder, "/*" );
>>          addConnectors( server );
>> +        server.setHandler( root );
>>          server.start();
>>
>>          try
>> @@ -655,12 +661,12 @@ public abstract class HttpWagonTestCase
>>      {
>>          StreamingWagon wagon = (StreamingWagon) getWagon();
>>
>> -        Server server = new Server( 0 );
>> +        Server realServer = new Server( 0 );
>>          TestHeaderHandler handler = new TestHeaderHandler();
>>
>> -        server.setHandler( handler );
>> -        addConnectors( server );
>> -        server.start();
>> +        realServer.setHandler( handler );
>> +        addConnectors( realServer );
>> +        realServer.start();
>>
>>          Server redirectServer = new Server( 0 );
>>
>> @@ -679,10 +685,10 @@ public abstract class HttpWagonTestCase
>>              protocol = "https";
>>          }
>>
>> -        String redirectUrl = protocol + "://localhost:" +
>> server.getConnectors()[0].getLocalPort();
>> +        String redirectUrl = protocol + "://localhost:" +
>> realServer.getConnectors()[0].getLocalPort();
>>
>>          RedirectHandler redirectHandler =
>> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
>> redirectUrl, null );
>> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
>> redirectUrl, null );
>>
>>          redirectServer.setHandler( redirectHandler );
>>
>> @@ -702,14 +708,14 @@ public abstract class HttpWagonTestCase
>>              String found = FileUtils.fileRead( tmpResult );
>>              assertEquals( "found:'" + found + "'", "Hello, World!", found
>> );
>>
>> +            checkHandlerResult( redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_SEE_OTHER );
>>              checkHandlerResult( handler.handlerRequestResponses,
>> HttpServletResponse.SC_OK );
>> -            checkHandlerResult( redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_FOUND );
>>          }
>>          finally
>>          {
>>              wagon.disconnect();
>>
>> -            server.stop();
>> +            realServer.stop();
>>
>>              tmpResult.delete();
>>          }
>> @@ -720,12 +726,12 @@ public abstract class HttpWagonTestCase
>>      {
>>          StreamingWagon wagon = (StreamingWagon) getWagon();
>>
>> -        Server server = new Server( 0 );
>> +        Server realServer = new Server( 0 );
>>          TestHeaderHandler handler = new TestHeaderHandler();
>>
>> -        server.setHandler( handler );
>> -        addConnectors( server );
>> -        server.start();
>> +        realServer.setHandler( handler );
>> +        addConnectors( realServer );
>> +        realServer.start();
>>
>>          Server redirectServer = new Server( 0 );
>>
>> @@ -744,10 +750,10 @@ public abstract class HttpWagonTestCase
>>              protocol = "https";
>>          }
>>
>> -        String redirectUrl = protocol + "://localhost:" +
>> server.getConnectors()[0].getLocalPort();
>> +        String redirectUrl = protocol + "://localhost:" +
>> realServer.getConnectors()[0].getLocalPort();
>>
>>          RedirectHandler redirectHandler =
>> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
>> redirectUrl, null );
>> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
>> redirectUrl, null );
>>
>>          redirectServer.setHandler( redirectHandler );
>>
>> @@ -763,14 +769,14 @@ public abstract class HttpWagonTestCase
>>              String found = FileUtils.fileRead( tmpResult );
>>              assertEquals( "found:'" + found + "'", "Hello, World!", found
>> );
>>
>> +            checkHandlerResult( redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_SEE_OTHER );
>>              checkHandlerResult( handler.handlerRequestResponses,
>> HttpServletResponse.SC_OK );
>> -            checkHandlerResult( redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_FOUND );
>>          }
>>          finally
>>          {
>>              wagon.disconnect();
>>
>> -            server.stop();
>> +            realServer.stop();
>>
>>              tmpResult.delete();
>>          }
>> @@ -814,7 +820,7 @@ public abstract class HttpWagonTestCase
>>          String redirectUrl = protocol + "://localhost:" +
>> realServer.getConnectors()[0].getLocalPort();
>>
>>          RedirectHandler redirectHandler =
>> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
>> redirectUrl, repositoryDirectory );
>> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
>> redirectUrl, repositoryDirectory );
>>
>>          redirectServer.setHandler( redirectHandler );
>>
>> @@ -839,6 +845,9 @@ public abstract class HttpWagonTestCase
>>              try
>>              {
>>                  wagon.putFromStream( fileInputStream,
>> "test-secured-put-resource", content.length(), -1 );
>> +                assertEquals( content, FileUtils.fileRead(
>> sourceFile.getAbsolutePath() ) );
>> +
>> +                checkRequestResponseForRedirectPutWithFullUrl(
>> redirectHandler, putHandler );
>>              }
>>              finally
>>              {
>> @@ -847,9 +856,6 @@ public abstract class HttpWagonTestCase
>>
>>              }
>>
>> -            assertEquals( content, FileUtils.fileRead(
>> sourceFile.getAbsolutePath() ) );
>> -
>> -            checkRequestResponseForRedirectPutFromStreamWithFullUrl(
>> putHandler, redirectHandler );
>>          }
>>          finally
>>          {
>> @@ -858,11 +864,11 @@ public abstract class HttpWagonTestCase
>>          }
>>      }
>>
>> -    protected void checkRequestResponseForRedirectPutFromStreamWithFullUrl(
>> PutHandler putHandler,
>> -
>>   RedirectHandler redirectHandler )
>> +    protected void checkRequestResponseForRedirectPutWithFullUrl(
>> RedirectHandler redirectHandler,
>> +
>> PutHandler putHandler )
>>      {
>> +        checkHandlerResult( redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_SEE_OTHER );
>>          checkHandlerResult( putHandler.handlerRequestResponses,
>> HttpServletResponse.SC_CREATED );
>> -        checkHandlerResult( redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_FOUND );
>>      }
>>
>>      public void testRedirectPutFromStreamRelativeUrl()
>> @@ -885,7 +891,7 @@ public abstract class HttpWagonTestCase
>>          addConnectors( redirectServer );
>>
>>          RedirectHandler redirectHandler =
>> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
>> "/redirectRequest/foo",
>> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
>> "/redirectRequest/foo",
>>                                   repositoryDirectory );
>>
>>          redirectServer.setHandler( redirectHandler );
>> @@ -911,6 +917,9 @@ public abstract class HttpWagonTestCase
>>              try
>>              {
>>                  wagon.putFromStream( fileInputStream,
>> "test-secured-put-resource", content.length(), -1 );
>> +                assertEquals( content, FileUtils.fileRead(
>> sourceFile.getAbsolutePath() ) );
>> +
>> +                checkRequestResponseForRedirectPutWithRelativeUrl(
>> redirectHandler, putHandler );
>>              }
>>              finally
>>              {
>> @@ -919,10 +928,6 @@ public abstract class HttpWagonTestCase
>>
>>              }
>>
>> -            assertEquals( content, FileUtils.fileRead(
>> sourceFile.getAbsolutePath() ) );
>> -
>> -            checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
>> putHandler, redirectHandler );
>> -
>>          }
>>          finally
>>          {
>> @@ -931,12 +936,12 @@ public abstract class HttpWagonTestCase
>>          }
>>      }
>>
>> -    protected void checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
>> PutHandler putHandler,
>> -
>>       RedirectHandler redirectHandler )
>> +    protected void checkRequestResponseForRedirectPutWithRelativeUrl(
>> RedirectHandler redirectHandler,
>> +
>> PutHandler putHandler )
>>      {
>> -        checkHandlerResult( putHandler.handlerRequestResponses );
>> -        checkHandlerResult( redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_FOUND,
>> +        checkHandlerResult( redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_SEE_OTHER,
>>                              HttpServletResponse.SC_CREATED );
>> +        checkHandlerResult( putHandler.handlerRequestResponses );
>>      }
>>
>>      protected void checkHandlerResult( List<HandlerRequestResponse>
>> handlerRequestResponses,
>> @@ -994,7 +999,7 @@ public abstract class HttpWagonTestCase
>>          String redirectUrl = protocol + "://localhost:" +
>> realServer.getConnectors()[0].getLocalPort();
>>
>>          RedirectHandler redirectHandler =
>> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
>> redirectUrl, repositoryDirectory );
>> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
>> redirectUrl, repositoryDirectory );
>>
>>          redirectServer.setHandler( redirectHandler );
>>
>> @@ -1018,14 +1023,15 @@ public abstract class HttpWagonTestCase
>>              try
>>              {
>>                  wagon.put( tempFile, "test-secured-put-resource" );
>> +                assertEquals( content, FileUtils.fileRead(
>> sourceFile.getAbsolutePath() ) );
>> +
>> +                checkRequestResponseForRedirectPutWithFullUrl(
>> redirectHandler, putHandler );
>>              }
>>              finally
>>              {
>>                  tempFile.delete();
>>              }
>>
>> -            assertEquals( content, FileUtils.fileRead(
>> sourceFile.getAbsolutePath() ) );
>> -
>>          }
>>          finally
>>          {
>> @@ -1055,7 +1061,7 @@ public abstract class HttpWagonTestCase
>>          addConnectors( redirectServer );
>>
>>          RedirectHandler redirectHandler =
>> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
>> "/redirectRequest/foo",
>> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
>> "/redirectRequest/foo",
>>                                   repositoryDirectory );
>>
>>          redirectServer.setHandler( redirectHandler );
>> @@ -1080,14 +1086,15 @@ public abstract class HttpWagonTestCase
>>              try
>>              {
>>                  wagon.put( tempFile, "test-secured-put-resource" );
>> +                assertEquals( content, FileUtils.fileRead(
>> sourceFile.getAbsolutePath() ) );
>> +
>> +                checkRequestResponseForRedirectPutWithRelativeUrl(
>> redirectHandler, putHandler );
>>              }
>>              finally
>>              {
>>                  tempFile.delete();
>>              }
>>
>> -            assertEquals( content, FileUtils.fileRead(
>> sourceFile.getAbsolutePath() ) );
>> -
>>          }
>>          finally
>>          {
>> @@ -1098,7 +1105,7 @@ public abstract class HttpWagonTestCase
>>
>>
>>      /**
>> -     *
>> +     *
>>       */
>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>>      public static class RedirectHandler
>> @@ -1122,23 +1129,28 @@ public abstract class HttpWagonTestCase
>>              this.repositoryDirectory = repositoryDirectory;
>>          }
>>
>> -        public void handle( String s, HttpServletRequest req,
>> HttpServletResponse resp, int i )
>> -            throws IOException, ServletException
>> +        public void handle( String target, Request baseRequest,
>> HttpServletRequest request,
>> +            HttpServletResponse response ) throws IOException,
>> ServletException
>>          {
>> -            if ( req.getRequestURI().contains( "redirectRequest" ) )
>> +            if ( request.getRequestURI().contains( "redirectRequest" ) )
>>              {
>>                  PutHandler putHandler = new PutHandler(
>> this.repositoryDirectory );
>> -                putHandler.handle( s, req, resp, i );
>> +                putHandler.handle( target, baseRequest, request, response
>> );
>>                  handlerRequestResponses.add(
>> -                    new HandlerRequestResponse( req.getMethod(), (
>> (Response) resp ).getStatus(),
>> -                                                req.getRequestURI() ) );
>> +                    new HandlerRequestResponse( request.getMethod(), (
>> (Response) response ).getStatus(),
>> +                                                request.getRequestURI() )
>> );
>>                  return;
>>              }
>> -            resp.setStatus( this.retCode );
>> -            resp.sendRedirect( this.redirectUrl + "/" +
>> req.getRequestURI() );
>> +            response.setStatus( this.retCode );
>> +            response.setHeader( "Location", this.redirectUrl +
>> request.getRequestURI() );
>> +            baseRequest.setHandled( true );
>> +
>>              handlerRequestResponses.add(
>> -                new HandlerRequestResponse( req.getMethod(), ( (Response)
>> resp ).getStatus(), req.getRequestURI() ) );
>> +                new HandlerRequestResponse( request.getMethod(), (
>> (Response) response ).getStatus(),
>> +                                            request.getRequestURI() ) );
>>          }
>> +
>> +
>>      }
>>
>>
>> @@ -1342,7 +1354,8 @@ public abstract class HttpWagonTestCase
>>
>>              assertEquals( "top secret", IOUtil.toString( in ) );
>>
>> -            TestSecurityHandler securityHandler = (TestSecurityHandler) (
>> (Context) server.getHandler() ).getHandler();
>> +            TestSecurityHandler securityHandler = (
>> (ServletContextHandler) server.getHandler() )
>> +                .getChildHandlerByClass( TestSecurityHandler.class );
>>              testPreemptiveAuthenticationGet( securityHandler,
>> supportPreemptiveAuthenticationGet() );
>>
>>          }
>> @@ -1393,7 +1406,8 @@ public abstract class HttpWagonTestCase
>>
>>              assertEquals( "top secret", out.toString( "US-ASCII" ) );
>>
>> -            TestSecurityHandler securityHandler = (TestSecurityHandler) (
>> (Context) server.getHandler() ).getHandler();
>> +            TestSecurityHandler securityHandler = (
>> (ServletContextHandler) server.getHandler() )
>> +                .getChildHandlerByClass( TestSecurityHandler.class );
>>              testPreemptiveAuthenticationGet( securityHandler,
>> supportPreemptiveAuthenticationGet() );
>>          }
>>          finally
>> @@ -1483,10 +1497,10 @@ public abstract class HttpWagonTestCase
>>
>>          SecurityHandler sh = createSecurityHandler();
>>
>> -        Context root = new Context( Context.SESSIONS );
>> -        root.setContextPath( "/" );
>> -        root.addHandler( sh );
>> +        ServletContextHandler root = new ServletContextHandler(
>> ServletContextHandler.SESSIONS
>> +            | ServletContextHandler.SECURITY );
>>          root.setResourceBase( localRepositoryPath );
>> +        root.setSecurityHandler( sh );
>>          ServletHolder servletHolder = new ServletHolder( new
>> DefaultServlet() );
>>          root.addServlet( servletHolder, "/*" );
>>
>> @@ -1587,19 +1601,19 @@ public abstract class HttpWagonTestCase
>>
>>              AbstractHandler handler = new AbstractHandler()
>>              {
>> -                public void handle( String s, HttpServletRequest request,
>> HttpServletResponse response, int i )
>> -                    throws IOException, ServletException
>> +                public void handle( String target, Request baseRequest,
>> HttpServletRequest request,
>> +                    HttpServletResponse response ) throws IOException,
>> ServletException
>>                  {
>>                      if ( called.get() )
>>                      {
>>                          response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR
>> );
>> -                        ( (Request) request ).setHandled( true );
>> +                        baseRequest.setHandled( true );
>>                      }
>>                      else
>>                      {
>>                          called.set( true );
>>                          response.setStatus( SC_TOO_MANY_REQUESTS );
>> -                        ( (Request) request ).setHandled( true );
>> +                        baseRequest.setHandled( true );
>>                      }
>>                  }
>>              };
>> @@ -1725,10 +1739,8 @@ public abstract class HttpWagonTestCase
>>
>>          PutHandler putHandler = new PutHandler( new File(
>> localRepositoryPath ) );
>>
>> -        HandlerCollection handlers = new HandlerCollection();
>> -        handlers.setHandlers( new Handler[]{ sh, putHandler } );
>> -
>> -        server.setHandler( handlers );
>> +        sh.setHandler( putHandler );
>> +        server.setHandler( sh );
>>          addConnectors( server );
>>          server.start();
>>
>> @@ -1796,10 +1808,15 @@ public abstract class HttpWagonTestCase
>>
>>          PutHandler putHandler = new PutHandler( new File(
>> localRepositoryPath ) );
>>
>> -        HandlerCollection handlers = new HandlerCollection();
>> -        handlers.setHandlers( addSecurityHandler ? new Handler[]{ sh,
>> putHandler } : new Handler[]{ putHandler } );
>> -
>> -        server.setHandler( handlers );
>> +        if ( addSecurityHandler )
>> +        {
>> +            sh.setHandler( putHandler );
>> +            server.setHandler( sh );
>> +        }
>> +        else
>> +        {
>> +            server.setHandler( putHandler );
>> +        }
>>          addConnectors( server );
>>          server.start();
>>
>> @@ -1871,29 +1888,29 @@ public abstract class HttpWagonTestCase
>>
>>      protected void testPreemptiveAuthenticationGet( TestSecurityHandler
>> sh, boolean preemptive )
>>      {
>> -        testPreemptiveAuthentication( sh, preemptive );
>> +        testPreemptiveAuthentication( sh, preemptive,
>> HttpServletResponse.SC_OK );
>>      }
>>
>>      protected void testPreemptiveAuthenticationPut( TestSecurityHandler
>> sh, boolean preemptive )
>>      {
>> -        testPreemptiveAuthentication( sh, preemptive );
>> +        testPreemptiveAuthentication( sh, preemptive,
>> HttpServletResponse.SC_CREATED );
>>      }
>>
>> -    protected void testPreemptiveAuthentication( TestSecurityHandler sh,
>> boolean preemptive )
>> +    protected void testPreemptiveAuthentication( TestSecurityHandler sh,
>> boolean preemptive, int statusCode )
>>      {
>>
>>          if ( preemptive )
>>          {
>>              assertEquals( "not 1 security handler use " +
>> sh.handlerRequestResponses, 1,
>>                            sh.handlerRequestResponses.size() );
>> -            assertEquals( HttpServletResponse.SC_OK,
>> sh.handlerRequestResponses.get( 0 ).responseCode );
>> +            assertEquals( statusCode, sh.handlerRequestResponses.get( 0
>> ).responseCode );
>>          }
>>          else
>>          {
>>              assertEquals( "not 2 security handler use " +
>> sh.handlerRequestResponses, 2,
>>                            sh.handlerRequestResponses.size() );
>>              assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
>> sh.handlerRequestResponses.get( 0 ).responseCode );
>> -            assertEquals( HttpServletResponse.SC_OK,
>> sh.handlerRequestResponses.get( 1 ).responseCode );
>> +            assertEquals( statusCode, sh.handlerRequestResponses.get( 1
>> ).responseCode );
>>
>>          }
>>      }
>> @@ -1908,13 +1925,13 @@ public abstract class HttpWagonTestCase
>>              this.status = status;
>>          }
>>
>> -        public void handle( String target, HttpServletRequest request,
>> HttpServletResponse response, int dispatch )
>> -            throws IOException, ServletException
>> +        public void handle( String target, Request baseRequest,
>> HttpServletRequest request,
>> +            HttpServletResponse response ) throws IOException,
>> ServletException
>>          {
>>              if ( status != 0 )
>>              {
>>                  response.setStatus( status );
>> -                ( (Request) request ).setHandled( true );
>> +                baseRequest.setHandled( true );
>>              }
>>          }
>>      }
>> @@ -1949,7 +1966,7 @@ public abstract class HttpWagonTestCase
>>      }
>>
>>      /**
>> -     *
>> +     *
>>       */
>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>>      public static class PutHandler
>> @@ -1968,12 +1985,9 @@ public abstract class HttpWagonTestCase
>>              this.resourceBase = repositoryDirectory;
>>          }
>>
>> -        public void handle( String target, HttpServletRequest request,
>> HttpServletResponse response, int dispatch )
>> -            throws IOException, ServletException
>> +        public void handle( String target, Request baseRequest,
>> HttpServletRequest request,
>> +            HttpServletResponse response ) throws IOException,
>> ServletException
>>          {
>> -            Request baseRequest =
>> -                request instanceof Request ? (Request) request :
>> HttpConnection.getCurrentConnection().getRequest();
>> -
>>              if ( baseRequest.isHandled() || !"PUT".equals(
>> baseRequest.getMethod() ) )
>>              {
>>                  return;
>> @@ -2023,8 +2037,8 @@ public abstract class HttpWagonTestCase
>>
>>          List<HandlerRequestResponse> handlerRequestResponses = new
>> ArrayList<HandlerRequestResponse>();
>>
>> -        public void handle( String target, HttpServletRequest request,
>> HttpServletResponse response, int dispatch )
>> -            throws IOException, ServletException
>> +        public void handle( String target, Request baseRequest,
>> HttpServletRequest request,
>> +            HttpServletResponse response ) throws IOException,
>> ServletException
>>          {
>>              System.out.println( " handle proxy request" );
>>              if ( request.getHeader( "Proxy-Authorization" ) == null )
>> @@ -2036,17 +2050,17 @@ public abstract class HttpWagonTestCase
>>                  response.setStatus( HttpServletResponse.SC_PROXY_AUTHENTICATION_REQUIRED
>> );
>>                  response.addHeader( "Proxy-Authenticate", "Basic
>> realm=\"Squid proxy-caching web server\"" );
>>
>> -                ( (Request) request ).setHandled( true );
>> +                baseRequest.setHandled( true );
>>                  return;
>>              }
>>              handlerRequestResponses.add(
>>                  new HandlerRequestResponse( request.getMethod(),
>> HttpServletResponse.SC_OK, request.getRequestURI() ) );
>> -            super.handle( target, request, response, dispatch );
>> +            super.handle( target, baseRequest, request, response );
>>          }
>>      }
>>
>>      /**
>> -     *
>> +     *
>>       */
>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>>      private static class TestHeaderHandler
>> @@ -2060,14 +2074,14 @@ public abstract class HttpWagonTestCase
>>          {
>>          }
>>
>> -        public void handle( String target, HttpServletRequest request,
>> HttpServletResponse response, int dispatch )
>> -            throws IOException, ServletException
>> +        public void handle( String target, Request baseRrequest,
>> HttpServletRequest request,
>> +            HttpServletResponse response ) throws IOException,
>> ServletException
>>          {
>>              headers = new HashMap<String, String>();
>> -            for ( Enumeration<String> e = request.getHeaderNames();
>> e.hasMoreElements(); )
>> +            for ( Enumeration<String> e = baseRrequest.getHeaderNames();
>> e.hasMoreElements(); )
>>              {
>>                  String name = e.nextElement();
>> -                Enumeration headerValues = request.getHeaders( name );
>> +                Enumeration headerValues = baseRrequest.getHeaders( name
>> );
>>                  // as per HTTP spec http://www.w3.org/Protocols/
>> rfc2616/rfc2616-sec4.html
>>                  // multiple values for the same header key are
>> concatenated separated by comma
>>                  // otherwise we wouldn't notice headers with same key
>> added multiple times
>> @@ -2088,10 +2102,10 @@ public abstract class HttpWagonTestCase
>>              response.getWriter().print( "Hello, World!" );
>>
>>              handlerRequestResponses.add(
>> -                new HandlerRequestResponse( request.getMethod(), (
>> (Response) response ).getStatus(),
>> -                                            request.getRequestURI() ) );
>> +                new HandlerRequestResponse( baseRrequest.getMethod(), (
>> (Response) response ).getStatus(),
>> +                                            baseRrequest.getRequestURI()
>> ) );
>>
>> -            ( (Request) request ).setHandled( true );
>> +            baseRrequest.setHandled( true );
>>          }
>>
>>      }
>> @@ -2108,39 +2122,38 @@ public abstract class HttpWagonTestCase
>>          cm.setPathSpec( "/*" );
>>
>>          TestSecurityHandler sh = new TestSecurityHandler();
>> -        HashUserRealm hashUserRealm = new HashUserRealm( "MyRealm" );
>> -        hashUserRealm.put( "user", "secret" );
>> -        hashUserRealm.addUserToRole( "user", "admin" );
>> -        sh.setUserRealm( hashUserRealm );
>> +        HashLoginService hashLoginService = new HashLoginService(
>> "MyRealm" );
>> +        hashLoginService.putUser( "user", new Password( "secret" ), new
>> String[] { "admin" } );
>> +        sh.setLoginService( hashLoginService );
>>          sh.setConstraintMappings( new ConstraintMapping[]{ cm } );
>> +        sh.setAuthenticator ( new BasicAuthenticator() );
>>          return sh;
>>      }
>>
>>      /**
>> -     *
>> +     *
>>       */
>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>>      public static class TestSecurityHandler
>> -        extends SecurityHandler
>> +        extends ConstraintSecurityHandler
>>      {
>>
>>          public List<HandlerRequestResponse> handlerRequestResponses = new
>> ArrayList<HandlerRequestResponse>();
>>
>>          @Override
>> -        public void handle( String target, HttpServletRequest request,
>> HttpServletResponse response, int dispatch )
>> -            throws IOException, ServletException
>> +        public void handle( String target, Request baseRequest,
>> HttpServletRequest request,
>> +            HttpServletResponse response ) throws IOException,
>> ServletException
>>          {
>>              String method = request.getMethod();
>> -            super.handle( target, request, response, dispatch );
>> +            super.handle( target, baseRequest, request, response );
>>
>>              handlerRequestResponses.add(
>>                  new HandlerRequestResponse( method, ( (Response) response
>> ).getStatus(), request.getRequestURI() ) );
>>          }
>> -
>>      }
>>
>>      /**
>> -     *
>> +     *
>>       */
>>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>>      public static class HandlerRequestResponse
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-http-lightweight/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-http-lightweight/pom.xml
>> b/wagon-providers/wagon-http-lightweight/pom.xml
>> index f723004..dd79d17 100644
>> --- a/wagon-providers/wagon-http-lightweight/pom.xml
>> +++ b/wagon-providers/wagon-http-lightweight/pom.xml
>> @@ -60,8 +60,8 @@ under the License.
>>        <artifactId>junit</artifactId>
>>      </dependency>
>>      <dependency>
>> -      <groupId>org.mortbay.jetty</groupId>
>> -      <artifactId>jetty</artifactId>
>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>> +      <artifactId>jetty-all</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-http-lightweight/src/
>> test/java/org/apache/maven/wagon/providers/http/
>> LightweightHttpsWagonTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-http-lightweight/src/test/java/org/
>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
>> b/wagon-providers/wagon-http-lightweight/src/test/java/org/
>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
>> index 3b532eb..fe30c83 100644
>> --- a/wagon-providers/wagon-http-lightweight/src/test/java/org/
>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
>> +++ b/wagon-providers/wagon-http-lightweight/src/test/java/org/
>> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
>> @@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
>>   * under the License.
>>   */
>>
>> -import org.mortbay.jetty.Connector;
>> -import org.mortbay.jetty.Server;
>> -import org.mortbay.jetty.security.SslSocketConnector;
>> +import org.eclipse.jetty.server.Connector;
>> +import org.eclipse.jetty.server.Server;
>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>>
>>  public class LightweightHttpsWagonTest
>>      extends LightweightHttpWagonTest
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-http/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-http/pom.xml
>> b/wagon-providers/wagon-http/pom.xml
>> index 794098d..e32cfcc 100644
>> --- a/wagon-providers/wagon-http/pom.xml
>> +++ b/wagon-providers/wagon-http/pom.xml
>> @@ -77,13 +77,13 @@ under the License.
>>        <artifactId>junit</artifactId>
>>      </dependency>
>>      <dependency>
>> -      <groupId>org.mortbay.jetty</groupId>
>> -      <artifactId>jetty</artifactId>
>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>> +      <artifactId>jetty-all</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>> -      <groupId>org.mortbay.jetty</groupId>
>> -      <artifactId>servlet-api</artifactId>
>> +      <groupId>javax.servlet</groupId>
>> +      <artifactId>javax.servlet-api</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>> apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
>> index b5ef1e8..5e7e72b 100644
>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
>> @@ -21,9 +21,9 @@ package org.apache.maven.wagon.providers.http;
>>
>>  import org.apache.maven.wagon.Wagon;
>>  import org.codehaus.plexus.PlexusTestCase;
>> -import org.mortbay.jetty.Server;
>> -import org.mortbay.jetty.handler.ResourceHandler;
>> -import org.mortbay.jetty.servlet.Context;
>> +import org.eclipse.jetty.server.Server;
>> +import org.eclipse.jetty.server.handler.ResourceHandler;
>> +import org.eclipse.jetty.servlet.ServletContextHandler;
>>
>>  /**
>>   * User: jdumay Date: 24/01/2008 Time: 18:15:53
>> @@ -37,7 +37,7 @@ public abstract class HttpWagonHttpServerTestCase
>>
>>      protected ResourceHandler resourceHandler;
>>
>> -    protected Context context;
>> +    protected ServletContextHandler context;
>>
>>      protected void setUp()
>>          throws Exception
>> @@ -45,10 +45,10 @@ public abstract class HttpWagonHttpServerTestCase
>>          super.setUp();
>>          server = new Server( httpServerPort );
>>
>> -        context = new Context( server, "/", Context.SESSIONS );
>> -
>> +        context = new ServletContextHandler(
>> ServletContextHandler.SESSIONS );
>>          resourceHandler = new ResourceHandler();
>> -        server.addHandler( resourceHandler );
>> +        context.setHandler( resourceHandler );
>> +        server.setHandler( context );
>>      }
>>
>>      protected Wagon getWagon()
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>> apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
>> index 32cbf32..484d638 100644
>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
>> @@ -24,7 +24,7 @@ import org.apache.maven.wagon.TransferFailedException;
>>  import org.apache.maven.wagon.Wagon;
>>  import org.apache.maven.wagon.authorization.AuthorizationException;
>>  import org.apache.maven.wagon.repository.Repository;
>> -import org.mortbay.jetty.servlet.ServletHolder;
>> +import org.eclipse.jetty.servlet.ServletHolder;
>>
>>  import java.io.File;
>>
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>> apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonTimeoutTest.java
>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonTimeoutTest.java
>> index c223f23..9d2c0eb 100644
>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonTimeoutTest.java
>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpWagonTimeoutTest.java
>> @@ -23,7 +23,7 @@ import org.apache.maven.wagon.FileTestUtils;
>>  import org.apache.maven.wagon.TransferFailedException;
>>  import org.apache.maven.wagon.Wagon;
>>  import org.apache.maven.wagon.repository.Repository;
>> -import org.mortbay.jetty.servlet.ServletHolder;
>> +import org.eclipse.jetty.servlet.ServletHolder;
>>
>>  import java.io.File;
>>  import java.util.Random;
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>> apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
>> index 396823b..ace5b3c 100644
>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
>> @@ -20,9 +20,9 @@ package org.apache.maven.wagon.providers.http;
>>   */
>>
>>  import org.apache.maven.wagon.Wagon;
>> -import org.mortbay.jetty.Connector;
>> -import org.mortbay.jetty.Server;
>> -import org.mortbay.jetty.security.SslSocketConnector;
>> +import org.eclipse.jetty.server.Connector;
>> +import org.eclipse.jetty.server.Server;
>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>>
>>  public class HttpsWagonPreemptiveTest
>>      extends HttpWagonTest
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>> apache/maven/wagon/providers/http/HttpsWagonTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpsWagonTest.java
>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpsWagonTest.java
>> index c22b3ef..7d0de20 100644
>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpsWagonTest.java
>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HttpsWagonTest.java
>> @@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
>>   * under the License.
>>   */
>>
>> -import org.mortbay.jetty.Connector;
>> -import org.mortbay.jetty.Server;
>> -import org.mortbay.jetty.security.SslSocketConnector;
>> +import org.eclipse.jetty.server.Connector;
>> +import org.eclipse.jetty.server.Server;
>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>>
>>  public class HttpsWagonTest
>>      extends HttpWagonTest
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
>> apache/maven/wagon/providers/http/HugeFileDownloadTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HugeFileDownloadTest.java
>> b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HugeFileDownloadTest.java
>> index 0b6566d..ce91461 100644
>> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HugeFileDownloadTest.java
>> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
>> maven/wagon/providers/http/HugeFileDownloadTest.java
>> @@ -24,10 +24,10 @@ import org.apache.maven.wagon.Wagon;
>>  import org.apache.maven.wagon.observers.Debug;
>>  import org.apache.maven.wagon.repository.Repository;
>>  import org.codehaus.plexus.PlexusTestCase;
>> -import org.mortbay.jetty.Server;
>> -import org.mortbay.jetty.servlet.Context;
>> -import org.mortbay.jetty.servlet.DefaultServlet;
>> -import org.mortbay.jetty.servlet.ServletHolder;
>> +import org.eclipse.jetty.server.Server;
>> +import org.eclipse.jetty.servlet.DefaultServlet;
>> +import org.eclipse.jetty.servlet.ServletContextHandler;
>> +import org.eclipse.jetty.servlet.ServletHolder;
>>
>>  import javax.servlet.ServletException;
>>  import javax.servlet.http.HttpServlet;
>> @@ -61,10 +61,11 @@ public class HugeFileDownloadTest
>>
>>          server = new Server( 0 );
>>
>> -        Context root = new Context( server, "/", Context.SESSIONS );
>> +        ServletContextHandler root = new ServletContextHandler(
>> ServletContextHandler.SESSIONS );
>>          root.setResourceBase( new File( getBasedir(), "target"
>> ).getAbsolutePath() );
>>          ServletHolder servletHolder = new ServletHolder( new
>> DefaultServlet() );
>>          root.addServlet( servletHolder, "/*" );
>> +        server.setHandler( root );
>>
>>          server.start();
>>
>> @@ -103,7 +104,7 @@ public class HugeFileDownloadTest
>>
>>          server = new Server( 0 );
>>
>> -        Context root = new Context( server, "/", Context.SESSIONS );
>> +        ServletContextHandler root = new ServletContextHandler(
>> ServletContextHandler.SESSIONS );
>>          root.setResourceBase( new File( getBasedir(), "target"
>> ).getAbsolutePath() );
>>          ServletHolder servletHolder = new ServletHolder( new HttpServlet()
>>          {
>> @@ -123,6 +124,7 @@ public class HugeFileDownloadTest
>>              }
>>          } );
>>          root.addServlet( servletHolder, "/*" );
>> +        server.setHandler( root );
>>
>>          server.start();
>>
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-ssh/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-ssh/pom.xml
>> b/wagon-providers/wagon-ssh/pom.xml
>> index 2052c6c..1c7a9b6 100644
>> --- a/wagon-providers/wagon-ssh/pom.xml
>> +++ b/wagon-providers/wagon-ssh/pom.xml
>> @@ -68,13 +68,13 @@ under the License.
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>> -      <groupId>org.mortbay.jetty</groupId>
>> -      <artifactId>jetty</artifactId>
>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>> +      <artifactId>jetty-all</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>> -      <groupId>org.mortbay.jetty</groupId>
>> -      <artifactId>servlet-api</artifactId>
>> +      <groupId>javax.servlet</groupId>
>> +      <artifactId>javax.servlet-api</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-ssh/src/test/java/org/
>> apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-ssh/src/test/java/org/apache/
>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
>> b/wagon-providers/wagon-ssh/src/test/java/org/apache/
>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
>> index 9d5f985..48bc173 100644
>> --- a/wagon-providers/wagon-ssh/src/test/java/org/apache/
>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
>> +++ b/wagon-providers/wagon-ssh/src/test/java/org/apache/
>> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
>> @@ -34,10 +34,10 @@ import org.apache.maven.wagon.authentication.
>> AuthenticationException;
>>  import org.apache.maven.wagon.proxy.ProxyInfo;
>>  import org.apache.maven.wagon.repository.Repository;
>>  import org.codehaus.plexus.PlexusTestCase;
>> -import org.mortbay.jetty.Handler;
>> -import org.mortbay.jetty.Request;
>> -import org.mortbay.jetty.Server;
>> -import org.mortbay.jetty.handler.AbstractHandler;
>> +import org.eclipse.jetty.server.Handler;
>> +import org.eclipse.jetty.server.Request;
>> +import org.eclipse.jetty.server.Server;
>> +import org.eclipse.jetty.server.handler.AbstractHandler;
>>
>>  public class ScpWagonWithProxyTest
>>      extends PlexusTestCase
>> @@ -50,13 +50,13 @@ public class ScpWagonWithProxyTest
>>          handled = false;
>>          Handler handler = new AbstractHandler()
>>          {
>> -            public void handle( String target, HttpServletRequest
>> request, HttpServletResponse response, int dispatch )
>> -                throws IOException, ServletException
>> +            public void handle( String target, Request baseRequest,
>> HttpServletRequest request,
>> +                HttpServletResponse response ) throws IOException,
>> ServletException
>>              {
>>                  assertEquals( "CONNECT", request.getMethod() );
>>
>>                  handled = true;
>> -                ( (Request) request ).setHandled( true );
>> +                baseRequest.setHandled( true );
>>              }
>>          };
>>
>> @@ -165,7 +165,7 @@ public class ScpWagonWithProxyTest
>>                          {
>>                              continue;
>>                          }
>> -
>> +
>>                          handled = true;
>>                      }
>>                      catch ( IOException e )
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-webdav-jackrabbit/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-webdav-jackrabbit/pom.xml
>> b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
>> index 016adcb..948fecb 100644
>> --- a/wagon-providers/wagon-webdav-jackrabbit/pom.xml
>> +++ b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
>> @@ -105,8 +105,8 @@ under the License.
>>        <artifactId>junit</artifactId>
>>      </dependency>
>>      <dependency>
>> -      <groupId>org.mortbay.jetty</groupId>
>> -      <artifactId>jetty</artifactId>
>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>> +      <artifactId>jetty-all</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>> @@ -120,7 +120,7 @@ under the License.
>>        <groupId>org.slf4j</groupId>
>>        <artifactId>slf4j-simple</artifactId>
>>      </dependency>
>> -
>> +
>>      <dependency>
>>        <groupId>biz.aQute</groupId>
>>        <artifactId>bnd</artifactId>
>> @@ -164,5 +164,5 @@ under the License.
>>          </executions>
>>        </plugin>
>>      </plugins>
>> -  </build>
>> +  </build>
>>  </project>
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-webdav-jackrabbit/src/
>> test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/
>> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
>> b/wagon-providers/wagon-webdav-jackrabbit/src/test/
>> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
>> index 1bab212..b5ca481 100644
>> --- a/wagon-providers/wagon-webdav-jackrabbit/src/test/
>> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
>> +++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/
>> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
>> @@ -6,9 +6,9 @@ package org.apache.maven.wagon.providers.webdav;
>>   * copyright ownership. The ASF licenses this file to you under the
>> Apache License, Version 2.0 (the
>>   * "License"); you may not use this file except in compliance with the
>> License. You may obtain a
>>   * copy of the License at
>> - *
>> + *
>>   * http://www.apache.org/licenses/LICENSE-2.0
>> - *
>> + *
>>   * Unless required by applicable law or agreed to in writing, software
>> distributed under the License
>>   * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
>> OF ANY KIND, either express
>>   * or implied. See the License for the specific language governing
>> permissions and limitations under
>> @@ -25,9 +25,9 @@ import org.apache.maven.wagon.Wagon;
>>  import org.apache.maven.wagon.http.HttpWagonTestCase;
>>  import org.apache.maven.wagon.repository.Repository;
>>  import org.apache.maven.wagon.resource.Resource;
>> -import org.mortbay.jetty.Server;
>> -import org.mortbay.jetty.servlet.Context;
>> -import org.mortbay.jetty.servlet.ServletHolder;
>> +import org.eclipse.jetty.server.Server;
>> +import org.eclipse.jetty.servlet.ServletContextHandler;
>> +import org.eclipse.jetty.servlet.ServletHolder;
>>
>>  import java.io.File;
>>  import java.io.IOException;
>> @@ -35,11 +35,13 @@ import java.net.SocketTimeoutException;
>>  import java.util.List;
>>  import java.util.Properties;
>>
>> +import javax.servlet.http.HttpServletResponse;
>> +
>>  /*
>>   * WebDAV Wagon Test
>> - *
>> + *
>>   * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
>> - *
>> + *
>>   * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
>>   */
>>  public class WebDavWagonTest
>> @@ -56,20 +58,21 @@ public class WebDavWagonTest
>>          return "dav";
>>      }
>>
>> -    protected void createContext( Server server, File repositoryDirectory
>> )
>> +    protected ServletContextHandler createContext( Server server, File
>> repositoryDirectory )
>>          throws IOException
>>      {
>> -        Context dav = new Context( server, "/", Context.SESSIONS );
>> +        ServletContextHandler dav = new ServletContextHandler(
>> ServletContextHandler.SESSIONS );
>>          ServletHolder davServletHolder = new ServletHolder( new
>> DAVServlet() );
>>          davServletHolder.setInitParameter( "rootPath",
>> repositoryDirectory.getAbsolutePath() );
>>          davServletHolder.setInitParameter( "xmlOnly", "false" );
>>          dav.addServlet( davServletHolder, "/*" );
>> +        return dav;
>>      }
>>
>>      protected long getExpectedLastModifiedOnGet( Repository repository,
>> Resource resource )
>>      {
>>          File file = new File( getDavRepository(), resource.getName() );
>> -        return ( file.lastModified() / 1000 ) * 1000;
>> +        return ( file.lastModified() / 1000L ) * 1000L;
>>      }
>>
>>
>> @@ -422,14 +425,14 @@ public class WebDavWagonTest
>>          {
>>              assertEquals( "testPreemptiveAuthenticationGet
>> preemptive=true: expected 1 request, got "
>>                  + sh.handlerRequestResponses, 1,
>> sh.handlerRequestResponses.size() );
>> -            assertEquals( 200, sh.handlerRequestResponses.get( 0
>> ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_OK,
>> sh.handlerRequestResponses.get( 0 ).responseCode );
>>          }
>>          else
>>          {
>>              assertEquals( "testPreemptiveAuthenticationGet
>> preemptive=false: expected 2 requests (401,200), got "
>>                  + sh.handlerRequestResponses, 2,
>> sh.handlerRequestResponses.size() );
>> -            assertEquals( 401, sh.handlerRequestResponses.get( 0
>> ).responseCode );
>> -            assertEquals( 200, sh.handlerRequestResponses.get( 1
>> ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
>> sh.handlerRequestResponses.get( 0 ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_OK,
>> sh.handlerRequestResponses.get( 1 ).responseCode );
>>          }
>>      }
>>
>> @@ -437,64 +440,70 @@ public class WebDavWagonTest
>>      {
>>          if ( preemptive )
>>          {
>> -            assertEquals( "testPreemptiveAuthenticationPut
>> preemptive=true: expected 2 requests (200,.), got "
>> +            assertEquals( "testPreemptiveAuthenticationPut
>> preemptive=true: expected 2 requests (200,201), got "
>>                  + sh.handlerRequestResponses, 2,
>> sh.handlerRequestResponses.size() );
>> -            assertEquals( 200, sh.handlerRequestResponses.get( 0
>> ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_OK,
>> sh.handlerRequestResponses.get( 0 ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_CREATED,
>> sh.handlerRequestResponses.get( 1 ).responseCode );
>>          }
>>          else
>>          {
>> -            assertEquals( "testPreemptiveAuthenticationPut
>> preemptive=false: expected 3 requests (401,200,.), got "
>> +            assertEquals( "testPreemptiveAuthenticationPut
>> preemptive=false: expected 3 requests (401,200,201), got "
>>                  + sh.handlerRequestResponses, 3,
>> sh.handlerRequestResponses.size() );
>> -            assertEquals( 401, sh.handlerRequestResponses.get( 0
>> ).responseCode );
>> -            assertEquals( 200, sh.handlerRequestResponses.get( 1
>> ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
>> sh.handlerRequestResponses.get( 0 ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_OK,
>> sh.handlerRequestResponses.get( 1 ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_CREATED,
>> sh.handlerRequestResponses.get( 2 ).responseCode );
>>          }
>>      }
>>
>>
>> -    @Override
>> +    /* This method cannot be reasonable used to represend GET and PUT for
>> WebDAV, it would contain too much
>> +     * duplicate code. Leave as-is, but don't use it.
>> +     */
>>      protected void testPreemptiveAuthentication( TestSecurityHandler sh,
>> boolean preemptive )
>>      {
>>          if ( preemptive )
>>          {
>>              assertEquals( "testPreemptiveAuthentication preemptive=false:
>> expected 2 requests (200,.), got "
>>                  + sh.handlerRequestResponses, 2,
>> sh.handlerRequestResponses.size() );
>> -            assertEquals( 200, sh.handlerRequestResponses.get( 0
>> ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_OK,
>> sh.handlerRequestResponses.get( 0 ).responseCode );
>>          }
>>          else
>>          {
>>              assertEquals( "testPreemptiveAuthentication preemptive=false:
>> expected 3 requests (401,200,200), got "
>>                  + sh.handlerRequestResponses, 3,
>> sh.handlerRequestResponses.size() );
>> -            assertEquals( 401, sh.handlerRequestResponses.get( 0
>> ).responseCode );
>> -            assertEquals( 200, sh.handlerRequestResponses.get( 1
>> ).responseCode );
>> -            assertEquals( 200, sh.handlerRequestResponses.get( 2
>> ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
>> sh.handlerRequestResponses.get( 0 ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_OK,
>> sh.handlerRequestResponses.get( 1 ).responseCode );
>> +            assertEquals( HttpServletResponse.SC_OK,
>> sh.handlerRequestResponses.get( 2 ).responseCode );
>>
>>          }
>>      }
>>
>> -    protected void checkRequestResponseForRedirectPutFromStreamWithFullUrl(
>> PutHandler putHandler,
>> -
>>   RedirectHandler redirectHandler )
>> +    @Override
>> +    protected void checkRequestResponseForRedirectPutWithFullUrl(
>> RedirectHandler redirectHandler,
>> +
>> PutHandler putHandler )
>>      {
>>          assertEquals( "found:" + putHandler.handlerRequestResponses, 1,
>> putHandler.handlerRequestResponses.size() );
>> -        assertEquals( "found:" + putHandler.handlerRequestResponses, 201,
>> +        assertEquals( "found:" + putHandler.handlerRequestResponses,
>> HttpServletResponse.SC_CREATED,
>>                        putHandler.handlerRequestResponses.get( 0
>> ).responseCode );
>>          assertEquals( "found:" + redirectHandler.handlerRequestResponses,
>> 3,
>>                        redirectHandler.handlerRequestResponses.size() );
>> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
>> 302,
>> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_SEE_OTHER,
>>                        redirectHandler.handlerRequestResponses.get( 0
>> ).responseCode );
>>      }
>>
>> -    protected void checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
>> PutHandler putHandler,
>> -
>>       RedirectHandler redirectHandler )
>> +    @Override
>> +    protected void checkRequestResponseForRedirectPutWithRelativeUrl(
>> RedirectHandler redirectHandler,
>> +
>> PutHandler putHandler )
>>      {
>>          assertEquals( "found:" + putHandler.handlerRequestResponses, 0,
>> putHandler.handlerRequestResponses.size() );
>>
>>          assertEquals( "found:" + redirectHandler.handlerRequestResponses,
>> 4,
>>                        redirectHandler.handlerRequestResponses.size() );
>> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
>> 302,
>> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_SEE_OTHER,
>>                        redirectHandler.handlerRequestResponses.get( 0
>> ).responseCode );
>> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
>> 302,
>> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_SEE_OTHER,
>>                        redirectHandler.handlerRequestResponses.get( 1
>> ).responseCode );
>> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
>> 201,
>> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
>> HttpServletResponse.SC_CREATED,
>>                        redirectHandler.handlerRequestResponses.get( 3
>> ).responseCode );
>>
>>      }
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-providers/wagon-webdav-jackrabbit/src/
>> test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/
>> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
>> b/wagon-providers/wagon-webdav-jackrabbit/src/test/
>> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
>> index ba18510..2ac44d6 100644
>> --- a/wagon-providers/wagon-webdav-jackrabbit/src/test/
>> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
>> +++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/
>> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
>> @@ -1,8 +1,8 @@
>>  package org.apache.maven.wagon.providers.webdav;
>>
>> -import org.mortbay.jetty.Connector;
>> -import org.mortbay.jetty.Server;
>> -import org.mortbay.jetty.security.SslSocketConnector;
>> +import org.eclipse.jetty.server.Connector;
>> +import org.eclipse.jetty.server.Server;
>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>>
>>  /*
>>   * Licensed to the Apache Software Foundation (ASF) under one
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-tcks/wagon-tck-http/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/wagon-tcks/wagon-tck-http/pom.xml
>> b/wagon-tcks/wagon-tck-http/pom.xml
>> index c874bbc..16d51e2 100644
>> --- a/wagon-tcks/wagon-tck-http/pom.xml
>> +++ b/wagon-tcks/wagon-tck-http/pom.xml
>> @@ -19,7 +19,7 @@ under the License.
>>  -->
>>  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://
>> maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
>>    <modelVersion>4.0.0</modelVersion>
>> -
>> +
>>    <parent>
>>      <groupId>org.apache.maven.wagon</groupId>
>>      <artifactId>wagon-tcks</artifactId>
>> @@ -28,7 +28,7 @@ under the License.
>>    </parent>
>>
>>    <artifactId>wagon-tck-http</artifactId>
>> -
>> +
>>    <name>Apache Maven Wagon :: HTTP Test Compatibility Kit</name>
>>
>>    <dependencies>
>> @@ -43,12 +43,12 @@ under the License.
>>        <version>2.2.2</version>
>>      </dependency>
>>      <dependency>
>> -      <groupId>org.mortbay.jetty</groupId>
>> -      <artifactId>jetty</artifactId>
>> +      <groupId>org.eclipse.jetty.aggregate</groupId>
>> +      <artifactId>jetty-all</artifactId>
>>      </dependency>
>>      <dependency>
>> -      <groupId>org.mortbay.jetty</groupId>
>> -      <artifactId>servlet-api</artifactId>
>> +      <groupId>javax.servlet</groupId>
>> +      <artifactId>javax.servlet-api</artifactId>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.maven.wagon</groupId>
>>
>> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
>> 2e1c807e/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
>> maven/wagon/tck/http/fixture/ServerFixture.java
>> ----------------------------------------------------------------------
>> diff --git a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
>> maven/wagon/tck/http/fixture/ServerFixture.java
>> b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
>> maven/wagon/tck/http/fixture/ServerFixture.java
>> index 9152e34..063f47b 100644
>> --- a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
>> maven/wagon/tck/http/fixture/ServerFixture.java
>> +++ b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
>> maven/wagon/tck/http/fixture/ServerFixture.java
>> @@ -19,23 +19,24 @@ package org.apache.maven.wagon.tck.http.fixture;
>>   * under the License.
>>   */
>>
>> -import org.mortbay.jetty.Connector;
>> -import org.mortbay.jetty.Handler;
>> -import org.mortbay.jetty.Server;
>> -import org.mortbay.jetty.handler.DefaultHandler;
>> -import org.mortbay.jetty.handler.HandlerCollection;
>> -import org.mortbay.jetty.nio.SelectChannelConnector;
>> -import org.mortbay.jetty.security.Constraint;
>> -import org.mortbay.jetty.security.ConstraintMapping;
>> -import org.mortbay.jetty.security.HashUserRealm;
>> -import org.mortbay.jetty.security.SecurityHandler;
>> -import org.mortbay.jetty.security.SslSocketConnector;
>> -import org.mortbay.jetty.servlet.AbstractSessionManager;
>> -import org.mortbay.jetty.servlet.FilterHolder;
>> -import org.mortbay.jetty.servlet.FilterMapping;
>> -import org.mortbay.jetty.servlet.ServletHolder;
>> -import org.mortbay.jetty.servlet.SessionHandler;
>> -import org.mortbay.jetty.webapp.WebAppContext;
>> +import org.eclipse.jetty.server.Connector;
>> +import org.eclipse.jetty.server.Handler;
>> +import org.eclipse.jetty.server.Server;
>> +import org.eclipse.jetty.server.handler.DefaultHandler;
>> +import org.eclipse.jetty.server.handler.HandlerCollection;
>> +import org.eclipse.jetty.server.nio.SelectChannelConnector;
>> +import org.eclipse.jetty.server.session.AbstractSessionManager;
>> +import org.eclipse.jetty.server.session.SessionHandler;
>> +import org.eclipse.jetty.security.ConstraintMapping;
>> +import org.eclipse.jetty.security.ConstraintSecurityHandler;
>> +import org.eclipse.jetty.security.HashLoginService;
>> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>> +import org.eclipse.jetty.servlet.FilterHolder;
>> +import org.eclipse.jetty.servlet.FilterMapping;
>> +import org.eclipse.jetty.servlet.ServletHolder;
>> +import org.eclipse.jetty.util.security.Constraint;
>> +import org.eclipse.jetty.util.security.Password;
>> +import org.eclipse.jetty.webapp.WebAppContext;
>>
>>  import javax.servlet.Filter;
>>  import javax.servlet.Servlet;
>> @@ -49,7 +50,7 @@ import org.slf4j.Logger;
>>  import org.slf4j.LoggerFactory;
>>
>>  /**
>> - *
>> + *
>>   */
>>  public class ServerFixture
>>  {
>> @@ -69,9 +70,9 @@ public class ServerFixture
>>
>>      private final WebAppContext webappContext;
>>
>> -    private final HashUserRealm securityRealm;
>> +    private final HashLoginService loginService;
>>
>> -    private final SecurityHandler securityHandler;
>> +    private final ConstraintSecurityHandler securityHandler;
>>
>>      private int filterCount = 0;
>>
>> @@ -116,11 +117,11 @@ public class ServerFixture
>>          cm.setConstraint( constraint );
>>          cm.setPathSpec( "/protected/*" );
>>
>> -        securityHandler = new SecurityHandler();
>> +        securityHandler = new ConstraintSecurityHandler();
>>
>> -        securityRealm = new HashUserRealm( "Test Server" );
>> +        loginService = new HashLoginService( "Test Server" );
>>
>> -        securityHandler.setUserRealm( securityRealm );
>> +        securityHandler.setLoginService( loginService );
>>          securityHandler.setConstraintMappings( new ConstraintMapping[]{
>> cm } );
>>
>>          webappContext = new WebAppContext();
>> @@ -129,7 +130,7 @@ public class ServerFixture
>>          File base = getResource( SERVER_ROOT_RESOURCE_PATH );
>>          logger.info( "docroot: " + base );
>>          webappContext.setWar( base.getAbsolutePath() );
>> -        webappContext.addHandler( securityHandler );
>> +        webappContext.setHandler( securityHandler );
>>
>>          SessionHandler sessionHandler = webappContext.
>> getSessionHandler();
>>          ( (AbstractSessionManager) sessionHandler.getSessionManager()
>> ).setUsingCookies( false );
>> @@ -161,8 +162,7 @@ public class ServerFixture
>>
>>      public void addUser( final String user, final String password )
>>      {
>> -        securityRealm.put( user, password );
>> -        securityRealm.addUserToRole( user, "allowed" );
>> +        loginService.putUser( user, new Password( password ), new
>> String[] { "allowed" } );
>>      }
>>
>>      public Server getServer()
>>
>>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: [1/2] maven-wagon git commit: [WAGON-474] Upgrade and revise all tests for Jetty 8

Posted by Olivier Lamy <ol...@apache.org>.
Hi
What about at least Jetty 9.2? (8.x is not anymore supported)


On 26 December 2016 at 10:58, <mi...@apache.org> wrote:

> Repository: maven-wagon
> Updated Branches:
>   refs/heads/jetty-8 [created] e707a2691
>
>
> [WAGON-474] Upgrade and revise all tests for Jetty 8
>
> * Upgrade all test code to Jetty 8.1.22 and Servlet 3.0
> * Unify variable names in redirect usecases to realServer and
>   redirectServer
> * RedirectHandler: redirect code is passed but completely ignored because
>   sendRedirect() always sends 302
> * Chronologically sort checkHandlerResult() calls
> ** Set redirect code (See Other (303)) as requested
> ** Update checkHandlerResult() for requested status codes rather sent
>    chosen by server (mismatched previously)
> * testPreemptiveAuthentication*(): properly check for OK for GET and
>   CREATED for PUT instead of OK only for both
> * WebDavWagonTest: replace status code literal for
>   HttpServletResponse.SC_* for better readability
> * testRedirect*(): add more checkHandlerResults
>
>
> Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
> Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/2e1c807e
> Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/2e1c807e
> Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/2e1c807e
>
> Branch: refs/heads/jetty-8
> Commit: 2e1c807e5345a1999376771f8b378b8cd3328fee
> Parents: b451e41
> Author: Michael Osipov <mi...@apache.org>
> Authored: Mon Dec 26 00:55:09 2016 +0100
> Committer: Michael Osipov <mi...@apache.org>
> Committed: Mon Dec 26 00:55:09 2016 +0100
>
> ----------------------------------------------------------------------
>  pom.xml                                         |  14 +-
>  wagon-provider-test/pom.xml                     |   8 +-
>  .../maven/wagon/http/HttpWagonTestCase.java     | 273 ++++++++++---------
>  wagon-providers/wagon-http-lightweight/pom.xml  |   4 +-
>  .../http/LightweightHttpsWagonTest.java         |   6 +-
>  wagon-providers/wagon-http/pom.xml              |   8 +-
>  .../http/HttpWagonHttpServerTestCase.java       |  14 +-
>  .../http/HttpWagonReasonPhraseTest.java         |   2 +-
>  .../providers/http/HttpWagonTimeoutTest.java    |   2 +-
>  .../http/HttpsWagonPreemptiveTest.java          |   6 +-
>  .../wagon/providers/http/HttpsWagonTest.java    |   6 +-
>  .../providers/http/HugeFileDownloadTest.java    |  14 +-
>  wagon-providers/wagon-ssh/pom.xml               |   8 +-
>  .../ssh/jsch/ScpWagonWithProxyTest.java         |  16 +-
>  wagon-providers/wagon-webdav-jackrabbit/pom.xml |   8 +-
>  .../wagon/providers/webdav/WebDavWagonTest.java |  73 ++---
>  .../providers/webdav/WebDavsWagonTest.java      |   6 +-
>  wagon-tcks/wagon-tck-http/pom.xml               |  12 +-
>  .../wagon/tck/http/fixture/ServerFixture.java   |  52 ++--
>  19 files changed, 278 insertions(+), 254 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/2e1c807e/pom.xml
> ----------------------------------------------------------------------
> diff --git a/pom.xml b/pom.xml
> index e127da4..a90a1ba 100644
> --- a/pom.xml
> +++ b/pom.xml
> @@ -313,14 +313,14 @@ under the License.
>        </dependency>
>
>        <dependency>
> -        <groupId>org.mortbay.jetty</groupId>
> -        <artifactId>jetty</artifactId>
> -        <version>6.1.26</version>
> +        <groupId>org.eclipse.jetty.aggregate</groupId>
> +        <artifactId>jetty-all</artifactId>
> +        <version>8.1.22.v20160922</version>
>        </dependency>
>        <dependency>
> -        <groupId>org.mortbay.jetty</groupId>
> -        <artifactId>servlet-api</artifactId>
> -        <version>2.5-20081211</version>
> +        <groupId>javax.servlet</groupId>
> +        <artifactId>javax.servlet-api</artifactId>
> +        <version>3.0.1</version>
>      </dependency>
>      </dependencies>
>    </dependencyManagement>
> @@ -565,5 +565,5 @@ under the License.
>        </reporting>
>      </profile>
>    </profiles>
> -
> +
>  </project>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-provider-test/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-provider-test/pom.xml b/wagon-provider-test/pom.xml
> index b19e7ac..9b0f4e5 100644
> --- a/wagon-provider-test/pom.xml
> +++ b/wagon-provider-test/pom.xml
> @@ -51,12 +51,12 @@ under the License.
>        <scope>compile</scope>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>servlet-api</artifactId>
> +      <groupId>javax.servlet</groupId>
> +      <artifactId>javax.servlet-api</artifactId>
>      </dependency>
>      <dependency>
>        <groupId>org.slf4j</groupId>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/
> HttpWagonTestCase.java
> ----------------------------------------------------------------------
> diff --git a/wagon-provider-test/src/main/java/org/apache/maven/
> wagon/http/HttpWagonTestCase.java b/wagon-provider-test/src/
> main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
> index dfc499e..cf479fd 100644
> --- a/wagon-provider-test/src/main/java/org/apache/maven/
> wagon/http/HttpWagonTestCase.java
> +++ b/wagon-provider-test/src/main/java/org/apache/maven/
> wagon/http/HttpWagonTestCase.java
> @@ -34,20 +34,21 @@ import org.apache.maven.wagon.resource.Resource;
>  import org.codehaus.plexus.util.FileUtils;
>  import org.codehaus.plexus.util.IOUtil;
>  import org.codehaus.plexus.util.StringUtils;
> -import org.mortbay.jetty.Handler;
> -import org.mortbay.jetty.HttpConnection;
> -import org.mortbay.jetty.Request;
> -import org.mortbay.jetty.Response;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.handler.AbstractHandler;
> -import org.mortbay.jetty.handler.HandlerCollection;
> -import org.mortbay.jetty.security.Constraint;
> -import org.mortbay.jetty.security.ConstraintMapping;
> -import org.mortbay.jetty.security.HashUserRealm;
> -import org.mortbay.jetty.security.SecurityHandler;
> -import org.mortbay.jetty.servlet.Context;
> -import org.mortbay.jetty.servlet.DefaultServlet;
> -import org.mortbay.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.security.ConstraintMapping;
> +import org.eclipse.jetty.security.ConstraintSecurityHandler;
> +import org.eclipse.jetty.security.HashLoginService;
> +import org.eclipse.jetty.security.SecurityHandler;
> +import org.eclipse.jetty.security.authentication.BasicAuthenticator;
> +import org.eclipse.jetty.server.Request;
> +import org.eclipse.jetty.server.Response;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.handler.AbstractHandler;
> +import org.eclipse.jetty.server.handler.HandlerCollection;
> +import org.eclipse.jetty.util.security.Constraint;
> +import org.eclipse.jetty.util.security.Password;
> +import org.eclipse.jetty.servlet.DefaultServlet;
> +import org.eclipse.jetty.servlet.ServletContextHandler;
> +import org.eclipse.jetty.servlet.ServletHolder;
>
>  import javax.servlet.ServletException;
>  import javax.servlet.http.HttpServletRequest;
> @@ -99,9 +100,12 @@ public abstract class HttpWagonTestCase
>          server = new Server( 0 );
>
>          PutHandler putHandler = new PutHandler( repositoryDirectory );
> -        server.addHandler( putHandler );
>
> -        createContext( server, repositoryDirectory );
> +        ServletContextHandler context = createContext( server,
> repositoryDirectory );
> +        HandlerCollection handlers = new HandlerCollection();
> +        handlers.addHandler( putHandler );
> +        handlers.addHandler( context );
> +        server.setHandler( handlers );
>
>          addConnectors( server );
>
> @@ -120,13 +124,14 @@ public abstract class HttpWagonTestCase
>          return server.getConnectors()[0].getLocalPort();
>      }
>
> -    protected void createContext( Server server, File repositoryDirectory
> )
> +    protected ServletContextHandler createContext( Server server, File
> repositoryDirectory )
>          throws IOException
>      {
> -        Context root = new Context( server, "/", Context.SESSIONS );
> +        ServletContextHandler root = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          root.setResourceBase( repositoryDirectory.getAbsolutePath() );
>          ServletHolder servletHolder = new ServletHolder( new
> DefaultServlet() );
>          root.addServlet( servletHolder, "/*" );
> +        return root;
>      }
>
>      protected void tearDownWagonTestingFixtures()
> @@ -216,7 +221,7 @@ public abstract class HttpWagonTestCase
>          server.setHandler( handler );
>          addConnectors( server );
>          server.start();
> -        wagon.connect( new Repository( "id", getProtocol() +
> "://localhost:"
> +        wagon.connect( new Repository( "id", getProtocol() +
> "://localhost:"
>            + server.getConnectors()[0].getLocalPort() ) );
>          wagon.getToStream( "resource", new ByteArrayOutputStream() );
>          wagon.disconnect();
> @@ -309,19 +314,19 @@ public abstract class HttpWagonTestCase
>
>              AbstractHandler handler = new AbstractHandler()
>              {
> -                public void handle( String s, HttpServletRequest request,
> HttpServletResponse response, int i )
> -                    throws IOException, ServletException
> +                public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +                    HttpServletResponse response ) throws IOException,
> ServletException
>                  {
>                      if ( called.get() )
>                      {
>                          response.setStatus( HttpServletResponse.SC_OK );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>                      }
>                      else
>                      {
>                          called.set( true );
>                          response.setStatus( SC_TOO_MANY_REQUESTS );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>
>                      }
>                  }
> @@ -456,19 +461,19 @@ public abstract class HttpWagonTestCase
>
>              AbstractHandler handler = new AbstractHandler()
>              {
> -                public void handle( String s, HttpServletRequest request,
> HttpServletResponse response, int i )
> -                    throws IOException, ServletException
> +                public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +                    HttpServletResponse response ) throws IOException,
> ServletException
>                  {
>                      if ( called.get() )
>                      {
>                          response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR
> );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>                      }
>                      else
>                      {
>                          called.set( true );
>                          response.setStatus( SC_TOO_MANY_REQUESTS );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>                      }
>                  }
>              };
> @@ -543,12 +548,13 @@ public abstract class HttpWagonTestCase
>          Server server = new Server( getTestRepositoryPort() );
>
>          String localRepositoryPath = FileTestUtils.
> getTestOutputDir().toString();
> -        Context root = new Context( server, "/", Context.SESSIONS );
> +        ServletContextHandler root = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          root.setResourceBase( localRepositoryPath );
>          ServletHolder servletHolder = new ServletHolder( new
> DefaultServlet() );
>          servletHolder.setInitParameter( "gzip", "true" );
>          root.addServlet( servletHolder, "/*" );
>          addConnectors( server );
> +        server.setHandler( root );
>          server.start();
>
>          try
> @@ -655,12 +661,12 @@ public abstract class HttpWagonTestCase
>      {
>          StreamingWagon wagon = (StreamingWagon) getWagon();
>
> -        Server server = new Server( 0 );
> +        Server realServer = new Server( 0 );
>          TestHeaderHandler handler = new TestHeaderHandler();
>
> -        server.setHandler( handler );
> -        addConnectors( server );
> -        server.start();
> +        realServer.setHandler( handler );
> +        addConnectors( realServer );
> +        realServer.start();
>
>          Server redirectServer = new Server( 0 );
>
> @@ -679,10 +685,10 @@ public abstract class HttpWagonTestCase
>              protocol = "https";
>          }
>
> -        String redirectUrl = protocol + "://localhost:" +
> server.getConnectors()[0].getLocalPort();
> +        String redirectUrl = protocol + "://localhost:" +
> realServer.getConnectors()[0].getLocalPort();
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, null );
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, null );
>
>          redirectServer.setHandler( redirectHandler );
>
> @@ -702,14 +708,14 @@ public abstract class HttpWagonTestCase
>              String found = FileUtils.fileRead( tmpResult );
>              assertEquals( "found:'" + found + "'", "Hello, World!", found
> );
>
> +            checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER );
>              checkHandlerResult( handler.handlerRequestResponses,
> HttpServletResponse.SC_OK );
> -            checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_FOUND );
>          }
>          finally
>          {
>              wagon.disconnect();
>
> -            server.stop();
> +            realServer.stop();
>
>              tmpResult.delete();
>          }
> @@ -720,12 +726,12 @@ public abstract class HttpWagonTestCase
>      {
>          StreamingWagon wagon = (StreamingWagon) getWagon();
>
> -        Server server = new Server( 0 );
> +        Server realServer = new Server( 0 );
>          TestHeaderHandler handler = new TestHeaderHandler();
>
> -        server.setHandler( handler );
> -        addConnectors( server );
> -        server.start();
> +        realServer.setHandler( handler );
> +        addConnectors( realServer );
> +        realServer.start();
>
>          Server redirectServer = new Server( 0 );
>
> @@ -744,10 +750,10 @@ public abstract class HttpWagonTestCase
>              protocol = "https";
>          }
>
> -        String redirectUrl = protocol + "://localhost:" +
> server.getConnectors()[0].getLocalPort();
> +        String redirectUrl = protocol + "://localhost:" +
> realServer.getConnectors()[0].getLocalPort();
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, null );
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, null );
>
>          redirectServer.setHandler( redirectHandler );
>
> @@ -763,14 +769,14 @@ public abstract class HttpWagonTestCase
>              String found = FileUtils.fileRead( tmpResult );
>              assertEquals( "found:'" + found + "'", "Hello, World!", found
> );
>
> +            checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER );
>              checkHandlerResult( handler.handlerRequestResponses,
> HttpServletResponse.SC_OK );
> -            checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_FOUND );
>          }
>          finally
>          {
>              wagon.disconnect();
>
> -            server.stop();
> +            realServer.stop();
>
>              tmpResult.delete();
>          }
> @@ -814,7 +820,7 @@ public abstract class HttpWagonTestCase
>          String redirectUrl = protocol + "://localhost:" +
> realServer.getConnectors()[0].getLocalPort();
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, repositoryDirectory );
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, repositoryDirectory );
>
>          redirectServer.setHandler( redirectHandler );
>
> @@ -839,6 +845,9 @@ public abstract class HttpWagonTestCase
>              try
>              {
>                  wagon.putFromStream( fileInputStream,
> "test-secured-put-resource", content.length(), -1 );
> +                assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> +
> +                checkRequestResponseForRedirectPutWithFullUrl(
> redirectHandler, putHandler );
>              }
>              finally
>              {
> @@ -847,9 +856,6 @@ public abstract class HttpWagonTestCase
>
>              }
>
> -            assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> -
> -            checkRequestResponseForRedirectPutFromStreamWithFullUrl(
> putHandler, redirectHandler );
>          }
>          finally
>          {
> @@ -858,11 +864,11 @@ public abstract class HttpWagonTestCase
>          }
>      }
>
> -    protected void checkRequestResponseForRedirectPutFromStreamWithFullUrl(
> PutHandler putHandler,
> -
>   RedirectHandler redirectHandler )
> +    protected void checkRequestResponseForRedirectPutWithFullUrl(
> RedirectHandler redirectHandler,
> +
> PutHandler putHandler )
>      {
> +        checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER );
>          checkHandlerResult( putHandler.handlerRequestResponses,
> HttpServletResponse.SC_CREATED );
> -        checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_FOUND );
>      }
>
>      public void testRedirectPutFromStreamRelativeUrl()
> @@ -885,7 +891,7 @@ public abstract class HttpWagonTestCase
>          addConnectors( redirectServer );
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> "/redirectRequest/foo",
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> "/redirectRequest/foo",
>                                   repositoryDirectory );
>
>          redirectServer.setHandler( redirectHandler );
> @@ -911,6 +917,9 @@ public abstract class HttpWagonTestCase
>              try
>              {
>                  wagon.putFromStream( fileInputStream,
> "test-secured-put-resource", content.length(), -1 );
> +                assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> +
> +                checkRequestResponseForRedirectPutWithRelativeUrl(
> redirectHandler, putHandler );
>              }
>              finally
>              {
> @@ -919,10 +928,6 @@ public abstract class HttpWagonTestCase
>
>              }
>
> -            assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> -
> -            checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
> putHandler, redirectHandler );
> -
>          }
>          finally
>          {
> @@ -931,12 +936,12 @@ public abstract class HttpWagonTestCase
>          }
>      }
>
> -    protected void checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
> PutHandler putHandler,
> -
>       RedirectHandler redirectHandler )
> +    protected void checkRequestResponseForRedirectPutWithRelativeUrl(
> RedirectHandler redirectHandler,
> +
> PutHandler putHandler )
>      {
> -        checkHandlerResult( putHandler.handlerRequestResponses );
> -        checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_FOUND,
> +        checkHandlerResult( redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER,
>                              HttpServletResponse.SC_CREATED );
> +        checkHandlerResult( putHandler.handlerRequestResponses );
>      }
>
>      protected void checkHandlerResult( List<HandlerRequestResponse>
> handlerRequestResponses,
> @@ -994,7 +999,7 @@ public abstract class HttpWagonTestCase
>          String redirectUrl = protocol + "://localhost:" +
> realServer.getConnectors()[0].getLocalPort();
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, repositoryDirectory );
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> redirectUrl, repositoryDirectory );
>
>          redirectServer.setHandler( redirectHandler );
>
> @@ -1018,14 +1023,15 @@ public abstract class HttpWagonTestCase
>              try
>              {
>                  wagon.put( tempFile, "test-secured-put-resource" );
> +                assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> +
> +                checkRequestResponseForRedirectPutWithFullUrl(
> redirectHandler, putHandler );
>              }
>              finally
>              {
>                  tempFile.delete();
>              }
>
> -            assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> -
>          }
>          finally
>          {
> @@ -1055,7 +1061,7 @@ public abstract class HttpWagonTestCase
>          addConnectors( redirectServer );
>
>          RedirectHandler redirectHandler =
> -            new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER,
> "/redirectRequest/foo",
> +            new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER,
> "/redirectRequest/foo",
>                                   repositoryDirectory );
>
>          redirectServer.setHandler( redirectHandler );
> @@ -1080,14 +1086,15 @@ public abstract class HttpWagonTestCase
>              try
>              {
>                  wagon.put( tempFile, "test-secured-put-resource" );
> +                assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> +
> +                checkRequestResponseForRedirectPutWithRelativeUrl(
> redirectHandler, putHandler );
>              }
>              finally
>              {
>                  tempFile.delete();
>              }
>
> -            assertEquals( content, FileUtils.fileRead(
> sourceFile.getAbsolutePath() ) );
> -
>          }
>          finally
>          {
> @@ -1098,7 +1105,7 @@ public abstract class HttpWagonTestCase
>
>
>      /**
> -     *
> +     *
>       */
>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>      public static class RedirectHandler
> @@ -1122,23 +1129,28 @@ public abstract class HttpWagonTestCase
>              this.repositoryDirectory = repositoryDirectory;
>          }
>
> -        public void handle( String s, HttpServletRequest req,
> HttpServletResponse resp, int i )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
> -            if ( req.getRequestURI().contains( "redirectRequest" ) )
> +            if ( request.getRequestURI().contains( "redirectRequest" ) )
>              {
>                  PutHandler putHandler = new PutHandler(
> this.repositoryDirectory );
> -                putHandler.handle( s, req, resp, i );
> +                putHandler.handle( target, baseRequest, request, response
> );
>                  handlerRequestResponses.add(
> -                    new HandlerRequestResponse( req.getMethod(), (
> (Response) resp ).getStatus(),
> -                                                req.getRequestURI() ) );
> +                    new HandlerRequestResponse( request.getMethod(), (
> (Response) response ).getStatus(),
> +                                                request.getRequestURI() )
> );
>                  return;
>              }
> -            resp.setStatus( this.retCode );
> -            resp.sendRedirect( this.redirectUrl + "/" +
> req.getRequestURI() );
> +            response.setStatus( this.retCode );
> +            response.setHeader( "Location", this.redirectUrl +
> request.getRequestURI() );
> +            baseRequest.setHandled( true );
> +
>              handlerRequestResponses.add(
> -                new HandlerRequestResponse( req.getMethod(), ( (Response)
> resp ).getStatus(), req.getRequestURI() ) );
> +                new HandlerRequestResponse( request.getMethod(), (
> (Response) response ).getStatus(),
> +                                            request.getRequestURI() ) );
>          }
> +
> +
>      }
>
>
> @@ -1342,7 +1354,8 @@ public abstract class HttpWagonTestCase
>
>              assertEquals( "top secret", IOUtil.toString( in ) );
>
> -            TestSecurityHandler securityHandler = (TestSecurityHandler) (
> (Context) server.getHandler() ).getHandler();
> +            TestSecurityHandler securityHandler = (
> (ServletContextHandler) server.getHandler() )
> +                .getChildHandlerByClass( TestSecurityHandler.class );
>              testPreemptiveAuthenticationGet( securityHandler,
> supportPreemptiveAuthenticationGet() );
>
>          }
> @@ -1393,7 +1406,8 @@ public abstract class HttpWagonTestCase
>
>              assertEquals( "top secret", out.toString( "US-ASCII" ) );
>
> -            TestSecurityHandler securityHandler = (TestSecurityHandler) (
> (Context) server.getHandler() ).getHandler();
> +            TestSecurityHandler securityHandler = (
> (ServletContextHandler) server.getHandler() )
> +                .getChildHandlerByClass( TestSecurityHandler.class );
>              testPreemptiveAuthenticationGet( securityHandler,
> supportPreemptiveAuthenticationGet() );
>          }
>          finally
> @@ -1483,10 +1497,10 @@ public abstract class HttpWagonTestCase
>
>          SecurityHandler sh = createSecurityHandler();
>
> -        Context root = new Context( Context.SESSIONS );
> -        root.setContextPath( "/" );
> -        root.addHandler( sh );
> +        ServletContextHandler root = new ServletContextHandler(
> ServletContextHandler.SESSIONS
> +            | ServletContextHandler.SECURITY );
>          root.setResourceBase( localRepositoryPath );
> +        root.setSecurityHandler( sh );
>          ServletHolder servletHolder = new ServletHolder( new
> DefaultServlet() );
>          root.addServlet( servletHolder, "/*" );
>
> @@ -1587,19 +1601,19 @@ public abstract class HttpWagonTestCase
>
>              AbstractHandler handler = new AbstractHandler()
>              {
> -                public void handle( String s, HttpServletRequest request,
> HttpServletResponse response, int i )
> -                    throws IOException, ServletException
> +                public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +                    HttpServletResponse response ) throws IOException,
> ServletException
>                  {
>                      if ( called.get() )
>                      {
>                          response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR
> );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>                      }
>                      else
>                      {
>                          called.set( true );
>                          response.setStatus( SC_TOO_MANY_REQUESTS );
> -                        ( (Request) request ).setHandled( true );
> +                        baseRequest.setHandled( true );
>                      }
>                  }
>              };
> @@ -1725,10 +1739,8 @@ public abstract class HttpWagonTestCase
>
>          PutHandler putHandler = new PutHandler( new File(
> localRepositoryPath ) );
>
> -        HandlerCollection handlers = new HandlerCollection();
> -        handlers.setHandlers( new Handler[]{ sh, putHandler } );
> -
> -        server.setHandler( handlers );
> +        sh.setHandler( putHandler );
> +        server.setHandler( sh );
>          addConnectors( server );
>          server.start();
>
> @@ -1796,10 +1808,15 @@ public abstract class HttpWagonTestCase
>
>          PutHandler putHandler = new PutHandler( new File(
> localRepositoryPath ) );
>
> -        HandlerCollection handlers = new HandlerCollection();
> -        handlers.setHandlers( addSecurityHandler ? new Handler[]{ sh,
> putHandler } : new Handler[]{ putHandler } );
> -
> -        server.setHandler( handlers );
> +        if ( addSecurityHandler )
> +        {
> +            sh.setHandler( putHandler );
> +            server.setHandler( sh );
> +        }
> +        else
> +        {
> +            server.setHandler( putHandler );
> +        }
>          addConnectors( server );
>          server.start();
>
> @@ -1871,29 +1888,29 @@ public abstract class HttpWagonTestCase
>
>      protected void testPreemptiveAuthenticationGet( TestSecurityHandler
> sh, boolean preemptive )
>      {
> -        testPreemptiveAuthentication( sh, preemptive );
> +        testPreemptiveAuthentication( sh, preemptive,
> HttpServletResponse.SC_OK );
>      }
>
>      protected void testPreemptiveAuthenticationPut( TestSecurityHandler
> sh, boolean preemptive )
>      {
> -        testPreemptiveAuthentication( sh, preemptive );
> +        testPreemptiveAuthentication( sh, preemptive,
> HttpServletResponse.SC_CREATED );
>      }
>
> -    protected void testPreemptiveAuthentication( TestSecurityHandler sh,
> boolean preemptive )
> +    protected void testPreemptiveAuthentication( TestSecurityHandler sh,
> boolean preemptive, int statusCode )
>      {
>
>          if ( preemptive )
>          {
>              assertEquals( "not 1 security handler use " +
> sh.handlerRequestResponses, 1,
>                            sh.handlerRequestResponses.size() );
> -            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> +            assertEquals( statusCode, sh.handlerRequestResponses.get( 0
> ).responseCode );
>          }
>          else
>          {
>              assertEquals( "not 2 security handler use " +
> sh.handlerRequestResponses, 2,
>                            sh.handlerRequestResponses.size() );
>              assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> -            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 1 ).responseCode );
> +            assertEquals( statusCode, sh.handlerRequestResponses.get( 1
> ).responseCode );
>
>          }
>      }
> @@ -1908,13 +1925,13 @@ public abstract class HttpWagonTestCase
>              this.status = status;
>          }
>
> -        public void handle( String target, HttpServletRequest request,
> HttpServletResponse response, int dispatch )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
>              if ( status != 0 )
>              {
>                  response.setStatus( status );
> -                ( (Request) request ).setHandled( true );
> +                baseRequest.setHandled( true );
>              }
>          }
>      }
> @@ -1949,7 +1966,7 @@ public abstract class HttpWagonTestCase
>      }
>
>      /**
> -     *
> +     *
>       */
>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>      public static class PutHandler
> @@ -1968,12 +1985,9 @@ public abstract class HttpWagonTestCase
>              this.resourceBase = repositoryDirectory;
>          }
>
> -        public void handle( String target, HttpServletRequest request,
> HttpServletResponse response, int dispatch )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
> -            Request baseRequest =
> -                request instanceof Request ? (Request) request :
> HttpConnection.getCurrentConnection().getRequest();
> -
>              if ( baseRequest.isHandled() || !"PUT".equals(
> baseRequest.getMethod() ) )
>              {
>                  return;
> @@ -2023,8 +2037,8 @@ public abstract class HttpWagonTestCase
>
>          List<HandlerRequestResponse> handlerRequestResponses = new
> ArrayList<HandlerRequestResponse>();
>
> -        public void handle( String target, HttpServletRequest request,
> HttpServletResponse response, int dispatch )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
>              System.out.println( " handle proxy request" );
>              if ( request.getHeader( "Proxy-Authorization" ) == null )
> @@ -2036,17 +2050,17 @@ public abstract class HttpWagonTestCase
>                  response.setStatus( HttpServletResponse.SC_PROXY_AUTHENTICATION_REQUIRED
> );
>                  response.addHeader( "Proxy-Authenticate", "Basic
> realm=\"Squid proxy-caching web server\"" );
>
> -                ( (Request) request ).setHandled( true );
> +                baseRequest.setHandled( true );
>                  return;
>              }
>              handlerRequestResponses.add(
>                  new HandlerRequestResponse( request.getMethod(),
> HttpServletResponse.SC_OK, request.getRequestURI() ) );
> -            super.handle( target, request, response, dispatch );
> +            super.handle( target, baseRequest, request, response );
>          }
>      }
>
>      /**
> -     *
> +     *
>       */
>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>      private static class TestHeaderHandler
> @@ -2060,14 +2074,14 @@ public abstract class HttpWagonTestCase
>          {
>          }
>
> -        public void handle( String target, HttpServletRequest request,
> HttpServletResponse response, int dispatch )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRrequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
>              headers = new HashMap<String, String>();
> -            for ( Enumeration<String> e = request.getHeaderNames();
> e.hasMoreElements(); )
> +            for ( Enumeration<String> e = baseRrequest.getHeaderNames();
> e.hasMoreElements(); )
>              {
>                  String name = e.nextElement();
> -                Enumeration headerValues = request.getHeaders( name );
> +                Enumeration headerValues = baseRrequest.getHeaders( name
> );
>                  // as per HTTP spec http://www.w3.org/Protocols/
> rfc2616/rfc2616-sec4.html
>                  // multiple values for the same header key are
> concatenated separated by comma
>                  // otherwise we wouldn't notice headers with same key
> added multiple times
> @@ -2088,10 +2102,10 @@ public abstract class HttpWagonTestCase
>              response.getWriter().print( "Hello, World!" );
>
>              handlerRequestResponses.add(
> -                new HandlerRequestResponse( request.getMethod(), (
> (Response) response ).getStatus(),
> -                                            request.getRequestURI() ) );
> +                new HandlerRequestResponse( baseRrequest.getMethod(), (
> (Response) response ).getStatus(),
> +                                            baseRrequest.getRequestURI()
> ) );
>
> -            ( (Request) request ).setHandled( true );
> +            baseRrequest.setHandled( true );
>          }
>
>      }
> @@ -2108,39 +2122,38 @@ public abstract class HttpWagonTestCase
>          cm.setPathSpec( "/*" );
>
>          TestSecurityHandler sh = new TestSecurityHandler();
> -        HashUserRealm hashUserRealm = new HashUserRealm( "MyRealm" );
> -        hashUserRealm.put( "user", "secret" );
> -        hashUserRealm.addUserToRole( "user", "admin" );
> -        sh.setUserRealm( hashUserRealm );
> +        HashLoginService hashLoginService = new HashLoginService(
> "MyRealm" );
> +        hashLoginService.putUser( "user", new Password( "secret" ), new
> String[] { "admin" } );
> +        sh.setLoginService( hashLoginService );
>          sh.setConstraintMappings( new ConstraintMapping[]{ cm } );
> +        sh.setAuthenticator ( new BasicAuthenticator() );
>          return sh;
>      }
>
>      /**
> -     *
> +     *
>       */
>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>      public static class TestSecurityHandler
> -        extends SecurityHandler
> +        extends ConstraintSecurityHandler
>      {
>
>          public List<HandlerRequestResponse> handlerRequestResponses = new
> ArrayList<HandlerRequestResponse>();
>
>          @Override
> -        public void handle( String target, HttpServletRequest request,
> HttpServletResponse response, int dispatch )
> -            throws IOException, ServletException
> +        public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +            HttpServletResponse response ) throws IOException,
> ServletException
>          {
>              String method = request.getMethod();
> -            super.handle( target, request, response, dispatch );
> +            super.handle( target, baseRequest, request, response );
>
>              handlerRequestResponses.add(
>                  new HandlerRequestResponse( method, ( (Response) response
> ).getStatus(), request.getRequestURI() ) );
>          }
> -
>      }
>
>      /**
> -     *
> +     *
>       */
>      @SuppressWarnings( "checkstyle:visibilitymodifier" )
>      public static class HandlerRequestResponse
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http-lightweight/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http-lightweight/pom.xml
> b/wagon-providers/wagon-http-lightweight/pom.xml
> index f723004..dd79d17 100644
> --- a/wagon-providers/wagon-http-lightweight/pom.xml
> +++ b/wagon-providers/wagon-http-lightweight/pom.xml
> @@ -60,8 +60,8 @@ under the License.
>        <artifactId>junit</artifactId>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http-lightweight/src/
> test/java/org/apache/maven/wagon/providers/http/
> LightweightHttpsWagonTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http-lightweight/src/test/java/org/
> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
> b/wagon-providers/wagon-http-lightweight/src/test/java/org/
> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
> index 3b532eb..fe30c83 100644
> --- a/wagon-providers/wagon-http-lightweight/src/test/java/org/
> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
> +++ b/wagon-providers/wagon-http-lightweight/src/test/java/org/
> apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
> @@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
>   * under the License.
>   */
>
> -import org.mortbay.jetty.Connector;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.security.SslSocketConnector;
> +import org.eclipse.jetty.server.Connector;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>  public class LightweightHttpsWagonTest
>      extends LightweightHttpWagonTest
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/pom.xml
> b/wagon-providers/wagon-http/pom.xml
> index 794098d..e32cfcc 100644
> --- a/wagon-providers/wagon-http/pom.xml
> +++ b/wagon-providers/wagon-http/pom.xml
> @@ -77,13 +77,13 @@ under the License.
>        <artifactId>junit</artifactId>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>servlet-api</artifactId>
> +      <groupId>javax.servlet</groupId>
> +      <artifactId>javax.servlet-api</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
> index b5ef1e8..5e7e72b 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
> @@ -21,9 +21,9 @@ package org.apache.maven.wagon.providers.http;
>
>  import org.apache.maven.wagon.Wagon;
>  import org.codehaus.plexus.PlexusTestCase;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.handler.ResourceHandler;
> -import org.mortbay.jetty.servlet.Context;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.handler.ResourceHandler;
> +import org.eclipse.jetty.servlet.ServletContextHandler;
>
>  /**
>   * User: jdumay Date: 24/01/2008 Time: 18:15:53
> @@ -37,7 +37,7 @@ public abstract class HttpWagonHttpServerTestCase
>
>      protected ResourceHandler resourceHandler;
>
> -    protected Context context;
> +    protected ServletContextHandler context;
>
>      protected void setUp()
>          throws Exception
> @@ -45,10 +45,10 @@ public abstract class HttpWagonHttpServerTestCase
>          super.setUp();
>          server = new Server( httpServerPort );
>
> -        context = new Context( server, "/", Context.SESSIONS );
> -
> +        context = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          resourceHandler = new ResourceHandler();
> -        server.addHandler( resourceHandler );
> +        context.setHandler( resourceHandler );
> +        server.setHandler( context );
>      }
>
>      protected Wagon getWagon()
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
> index 32cbf32..484d638 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
> @@ -24,7 +24,7 @@ import org.apache.maven.wagon.TransferFailedException;
>  import org.apache.maven.wagon.Wagon;
>  import org.apache.maven.wagon.authorization.AuthorizationException;
>  import org.apache.maven.wagon.repository.Repository;
> -import org.mortbay.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.servlet.ServletHolder;
>
>  import java.io.File;
>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonTimeoutTest.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonTimeoutTest.java
> index c223f23..9d2c0eb 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonTimeoutTest.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpWagonTimeoutTest.java
> @@ -23,7 +23,7 @@ import org.apache.maven.wagon.FileTestUtils;
>  import org.apache.maven.wagon.TransferFailedException;
>  import org.apache.maven.wagon.Wagon;
>  import org.apache.maven.wagon.repository.Repository;
> -import org.mortbay.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.servlet.ServletHolder;
>
>  import java.io.File;
>  import java.util.Random;
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
> index 396823b..ace5b3c 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
> @@ -20,9 +20,9 @@ package org.apache.maven.wagon.providers.http;
>   */
>
>  import org.apache.maven.wagon.Wagon;
> -import org.mortbay.jetty.Connector;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.security.SslSocketConnector;
> +import org.eclipse.jetty.server.Connector;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>  public class HttpsWagonPreemptiveTest
>      extends HttpWagonTest
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HttpsWagonTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonTest.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonTest.java
> index c22b3ef..7d0de20 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonTest.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HttpsWagonTest.java
> @@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
>   * under the License.
>   */
>
> -import org.mortbay.jetty.Connector;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.security.SslSocketConnector;
> +import org.eclipse.jetty.server.Connector;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>  public class HttpsWagonTest
>      extends HttpWagonTest
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-http/src/test/java/org/
> apache/maven/wagon/providers/http/HugeFileDownloadTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HugeFileDownloadTest.java
> b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HugeFileDownloadTest.java
> index 0b6566d..ce91461 100644
> --- a/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HugeFileDownloadTest.java
> +++ b/wagon-providers/wagon-http/src/test/java/org/apache/
> maven/wagon/providers/http/HugeFileDownloadTest.java
> @@ -24,10 +24,10 @@ import org.apache.maven.wagon.Wagon;
>  import org.apache.maven.wagon.observers.Debug;
>  import org.apache.maven.wagon.repository.Repository;
>  import org.codehaus.plexus.PlexusTestCase;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.servlet.Context;
> -import org.mortbay.jetty.servlet.DefaultServlet;
> -import org.mortbay.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.servlet.DefaultServlet;
> +import org.eclipse.jetty.servlet.ServletContextHandler;
> +import org.eclipse.jetty.servlet.ServletHolder;
>
>  import javax.servlet.ServletException;
>  import javax.servlet.http.HttpServlet;
> @@ -61,10 +61,11 @@ public class HugeFileDownloadTest
>
>          server = new Server( 0 );
>
> -        Context root = new Context( server, "/", Context.SESSIONS );
> +        ServletContextHandler root = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          root.setResourceBase( new File( getBasedir(), "target"
> ).getAbsolutePath() );
>          ServletHolder servletHolder = new ServletHolder( new
> DefaultServlet() );
>          root.addServlet( servletHolder, "/*" );
> +        server.setHandler( root );
>
>          server.start();
>
> @@ -103,7 +104,7 @@ public class HugeFileDownloadTest
>
>          server = new Server( 0 );
>
> -        Context root = new Context( server, "/", Context.SESSIONS );
> +        ServletContextHandler root = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          root.setResourceBase( new File( getBasedir(), "target"
> ).getAbsolutePath() );
>          ServletHolder servletHolder = new ServletHolder( new HttpServlet()
>          {
> @@ -123,6 +124,7 @@ public class HugeFileDownloadTest
>              }
>          } );
>          root.addServlet( servletHolder, "/*" );
> +        server.setHandler( root );
>
>          server.start();
>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-ssh/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-ssh/pom.xml
> b/wagon-providers/wagon-ssh/pom.xml
> index 2052c6c..1c7a9b6 100644
> --- a/wagon-providers/wagon-ssh/pom.xml
> +++ b/wagon-providers/wagon-ssh/pom.xml
> @@ -68,13 +68,13 @@ under the License.
>        <scope>test</scope>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>servlet-api</artifactId>
> +      <groupId>javax.servlet</groupId>
> +      <artifactId>javax.servlet-api</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-ssh/src/test/java/org/
> apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-ssh/src/test/java/org/apache/
> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
> b/wagon-providers/wagon-ssh/src/test/java/org/apache/
> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
> index 9d5f985..48bc173 100644
> --- a/wagon-providers/wagon-ssh/src/test/java/org/apache/
> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
> +++ b/wagon-providers/wagon-ssh/src/test/java/org/apache/
> maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
> @@ -34,10 +34,10 @@ import org.apache.maven.wagon.authentication.
> AuthenticationException;
>  import org.apache.maven.wagon.proxy.ProxyInfo;
>  import org.apache.maven.wagon.repository.Repository;
>  import org.codehaus.plexus.PlexusTestCase;
> -import org.mortbay.jetty.Handler;
> -import org.mortbay.jetty.Request;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.handler.AbstractHandler;
> +import org.eclipse.jetty.server.Handler;
> +import org.eclipse.jetty.server.Request;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.handler.AbstractHandler;
>
>  public class ScpWagonWithProxyTest
>      extends PlexusTestCase
> @@ -50,13 +50,13 @@ public class ScpWagonWithProxyTest
>          handled = false;
>          Handler handler = new AbstractHandler()
>          {
> -            public void handle( String target, HttpServletRequest
> request, HttpServletResponse response, int dispatch )
> -                throws IOException, ServletException
> +            public void handle( String target, Request baseRequest,
> HttpServletRequest request,
> +                HttpServletResponse response ) throws IOException,
> ServletException
>              {
>                  assertEquals( "CONNECT", request.getMethod() );
>
>                  handled = true;
> -                ( (Request) request ).setHandled( true );
> +                baseRequest.setHandled( true );
>              }
>          };
>
> @@ -165,7 +165,7 @@ public class ScpWagonWithProxyTest
>                          {
>                              continue;
>                          }
> -
> +
>                          handled = true;
>                      }
>                      catch ( IOException e )
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-webdav-jackrabbit/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-webdav-jackrabbit/pom.xml
> b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
> index 016adcb..948fecb 100644
> --- a/wagon-providers/wagon-webdav-jackrabbit/pom.xml
> +++ b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
> @@ -105,8 +105,8 @@ under the License.
>        <artifactId>junit</artifactId>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
> @@ -120,7 +120,7 @@ under the License.
>        <groupId>org.slf4j</groupId>
>        <artifactId>slf4j-simple</artifactId>
>      </dependency>
> -
> +
>      <dependency>
>        <groupId>biz.aQute</groupId>
>        <artifactId>bnd</artifactId>
> @@ -164,5 +164,5 @@ under the License.
>          </executions>
>        </plugin>
>      </plugins>
> -  </build>
> +  </build>
>  </project>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-webdav-jackrabbit/src/
> test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
> b/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
> index 1bab212..b5ca481 100644
> --- a/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
> +++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
> @@ -6,9 +6,9 @@ package org.apache.maven.wagon.providers.webdav;
>   * copyright ownership. The ASF licenses this file to you under the
> Apache License, Version 2.0 (the
>   * "License"); you may not use this file except in compliance with the
> License. You may obtain a
>   * copy of the License at
> - *
> + *
>   * http://www.apache.org/licenses/LICENSE-2.0
> - *
> + *
>   * Unless required by applicable law or agreed to in writing, software
> distributed under the License
>   * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
> OF ANY KIND, either express
>   * or implied. See the License for the specific language governing
> permissions and limitations under
> @@ -25,9 +25,9 @@ import org.apache.maven.wagon.Wagon;
>  import org.apache.maven.wagon.http.HttpWagonTestCase;
>  import org.apache.maven.wagon.repository.Repository;
>  import org.apache.maven.wagon.resource.Resource;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.servlet.Context;
> -import org.mortbay.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.servlet.ServletContextHandler;
> +import org.eclipse.jetty.servlet.ServletHolder;
>
>  import java.io.File;
>  import java.io.IOException;
> @@ -35,11 +35,13 @@ import java.net.SocketTimeoutException;
>  import java.util.List;
>  import java.util.Properties;
>
> +import javax.servlet.http.HttpServletResponse;
> +
>  /*
>   * WebDAV Wagon Test
> - *
> + *
>   * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
> - *
> + *
>   * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
>   */
>  public class WebDavWagonTest
> @@ -56,20 +58,21 @@ public class WebDavWagonTest
>          return "dav";
>      }
>
> -    protected void createContext( Server server, File repositoryDirectory
> )
> +    protected ServletContextHandler createContext( Server server, File
> repositoryDirectory )
>          throws IOException
>      {
> -        Context dav = new Context( server, "/", Context.SESSIONS );
> +        ServletContextHandler dav = new ServletContextHandler(
> ServletContextHandler.SESSIONS );
>          ServletHolder davServletHolder = new ServletHolder( new
> DAVServlet() );
>          davServletHolder.setInitParameter( "rootPath",
> repositoryDirectory.getAbsolutePath() );
>          davServletHolder.setInitParameter( "xmlOnly", "false" );
>          dav.addServlet( davServletHolder, "/*" );
> +        return dav;
>      }
>
>      protected long getExpectedLastModifiedOnGet( Repository repository,
> Resource resource )
>      {
>          File file = new File( getDavRepository(), resource.getName() );
> -        return ( file.lastModified() / 1000 ) * 1000;
> +        return ( file.lastModified() / 1000L ) * 1000L;
>      }
>
>
> @@ -422,14 +425,14 @@ public class WebDavWagonTest
>          {
>              assertEquals( "testPreemptiveAuthenticationGet
> preemptive=true: expected 1 request, got "
>                  + sh.handlerRequestResponses, 1,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 0
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 0 ).responseCode );
>          }
>          else
>          {
>              assertEquals( "testPreemptiveAuthenticationGet
> preemptive=false: expected 2 requests (401,200), got "
>                  + sh.handlerRequestResponses, 2,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 401, sh.handlerRequestResponses.get( 0
> ).responseCode );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 1
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 1 ).responseCode );
>          }
>      }
>
> @@ -437,64 +440,70 @@ public class WebDavWagonTest
>      {
>          if ( preemptive )
>          {
> -            assertEquals( "testPreemptiveAuthenticationPut
> preemptive=true: expected 2 requests (200,.), got "
> +            assertEquals( "testPreemptiveAuthenticationPut
> preemptive=true: expected 2 requests (200,201), got "
>                  + sh.handlerRequestResponses, 2,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 0
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_CREATED,
> sh.handlerRequestResponses.get( 1 ).responseCode );
>          }
>          else
>          {
> -            assertEquals( "testPreemptiveAuthenticationPut
> preemptive=false: expected 3 requests (401,200,.), got "
> +            assertEquals( "testPreemptiveAuthenticationPut
> preemptive=false: expected 3 requests (401,200,201), got "
>                  + sh.handlerRequestResponses, 3,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 401, sh.handlerRequestResponses.get( 0
> ).responseCode );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 1
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 1 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_CREATED,
> sh.handlerRequestResponses.get( 2 ).responseCode );
>          }
>      }
>
>
> -    @Override
> +    /* This method cannot be reasonable used to represend GET and PUT for
> WebDAV, it would contain too much
> +     * duplicate code. Leave as-is, but don't use it.
> +     */
>      protected void testPreemptiveAuthentication( TestSecurityHandler sh,
> boolean preemptive )
>      {
>          if ( preemptive )
>          {
>              assertEquals( "testPreemptiveAuthentication preemptive=false:
> expected 2 requests (200,.), got "
>                  + sh.handlerRequestResponses, 2,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 0
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 0 ).responseCode );
>          }
>          else
>          {
>              assertEquals( "testPreemptiveAuthentication preemptive=false:
> expected 3 requests (401,200,200), got "
>                  + sh.handlerRequestResponses, 3,
> sh.handlerRequestResponses.size() );
> -            assertEquals( 401, sh.handlerRequestResponses.get( 0
> ).responseCode );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 1
> ).responseCode );
> -            assertEquals( 200, sh.handlerRequestResponses.get( 2
> ).responseCode );
> +            assertEquals( HttpServletResponse.SC_UNAUTHORIZED,
> sh.handlerRequestResponses.get( 0 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 1 ).responseCode );
> +            assertEquals( HttpServletResponse.SC_OK,
> sh.handlerRequestResponses.get( 2 ).responseCode );
>
>          }
>      }
>
> -    protected void checkRequestResponseForRedirectPutFromStreamWithFullUrl(
> PutHandler putHandler,
> -
>   RedirectHandler redirectHandler )
> +    @Override
> +    protected void checkRequestResponseForRedirectPutWithFullUrl(
> RedirectHandler redirectHandler,
> +
> PutHandler putHandler )
>      {
>          assertEquals( "found:" + putHandler.handlerRequestResponses, 1,
> putHandler.handlerRequestResponses.size() );
> -        assertEquals( "found:" + putHandler.handlerRequestResponses, 201,
> +        assertEquals( "found:" + putHandler.handlerRequestResponses,
> HttpServletResponse.SC_CREATED,
>                        putHandler.handlerRequestResponses.get( 0
> ).responseCode );
>          assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 3,
>                        redirectHandler.handlerRequestResponses.size() );
> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 302,
> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER,
>                        redirectHandler.handlerRequestResponses.get( 0
> ).responseCode );
>      }
>
> -    protected void checkRequestResponseForRedirectPutFromStreamWithRelativeUrl(
> PutHandler putHandler,
> -
>       RedirectHandler redirectHandler )
> +    @Override
> +    protected void checkRequestResponseForRedirectPutWithRelativeUrl(
> RedirectHandler redirectHandler,
> +
> PutHandler putHandler )
>      {
>          assertEquals( "found:" + putHandler.handlerRequestResponses, 0,
> putHandler.handlerRequestResponses.size() );
>
>          assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 4,
>                        redirectHandler.handlerRequestResponses.size() );
> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 302,
> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER,
>                        redirectHandler.handlerRequestResponses.get( 0
> ).responseCode );
> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 302,
> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_SEE_OTHER,
>                        redirectHandler.handlerRequestResponses.get( 1
> ).responseCode );
> -        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> 201,
> +        assertEquals( "found:" + redirectHandler.handlerRequestResponses,
> HttpServletResponse.SC_CREATED,
>                        redirectHandler.handlerRequestResponses.get( 3
> ).responseCode );
>
>      }
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-providers/wagon-webdav-jackrabbit/src/
> test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
> ----------------------------------------------------------------------
> diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
> b/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
> index ba18510..2ac44d6 100644
> --- a/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
> +++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/
> java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
> @@ -1,8 +1,8 @@
>  package org.apache.maven.wagon.providers.webdav;
>
> -import org.mortbay.jetty.Connector;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.security.SslSocketConnector;
> +import org.eclipse.jetty.server.Connector;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
>
>  /*
>   * Licensed to the Apache Software Foundation (ASF) under one
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-tcks/wagon-tck-http/pom.xml
> ----------------------------------------------------------------------
> diff --git a/wagon-tcks/wagon-tck-http/pom.xml
> b/wagon-tcks/wagon-tck-http/pom.xml
> index c874bbc..16d51e2 100644
> --- a/wagon-tcks/wagon-tck-http/pom.xml
> +++ b/wagon-tcks/wagon-tck-http/pom.xml
> @@ -19,7 +19,7 @@ under the License.
>  -->
>  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://
> maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
>    <modelVersion>4.0.0</modelVersion>
> -
> +
>    <parent>
>      <groupId>org.apache.maven.wagon</groupId>
>      <artifactId>wagon-tcks</artifactId>
> @@ -28,7 +28,7 @@ under the License.
>    </parent>
>
>    <artifactId>wagon-tck-http</artifactId>
> -
> +
>    <name>Apache Maven Wagon :: HTTP Test Compatibility Kit</name>
>
>    <dependencies>
> @@ -43,12 +43,12 @@ under the License.
>        <version>2.2.2</version>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>jetty</artifactId>
> +      <groupId>org.eclipse.jetty.aggregate</groupId>
> +      <artifactId>jetty-all</artifactId>
>      </dependency>
>      <dependency>
> -      <groupId>org.mortbay.jetty</groupId>
> -      <artifactId>servlet-api</artifactId>
> +      <groupId>javax.servlet</groupId>
> +      <artifactId>javax.servlet-api</artifactId>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.maven.wagon</groupId>
>
> http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/
> 2e1c807e/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
> maven/wagon/tck/http/fixture/ServerFixture.java
> ----------------------------------------------------------------------
> diff --git a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
> maven/wagon/tck/http/fixture/ServerFixture.java
> b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
> maven/wagon/tck/http/fixture/ServerFixture.java
> index 9152e34..063f47b 100644
> --- a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
> maven/wagon/tck/http/fixture/ServerFixture.java
> +++ b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/
> maven/wagon/tck/http/fixture/ServerFixture.java
> @@ -19,23 +19,24 @@ package org.apache.maven.wagon.tck.http.fixture;
>   * under the License.
>   */
>
> -import org.mortbay.jetty.Connector;
> -import org.mortbay.jetty.Handler;
> -import org.mortbay.jetty.Server;
> -import org.mortbay.jetty.handler.DefaultHandler;
> -import org.mortbay.jetty.handler.HandlerCollection;
> -import org.mortbay.jetty.nio.SelectChannelConnector;
> -import org.mortbay.jetty.security.Constraint;
> -import org.mortbay.jetty.security.ConstraintMapping;
> -import org.mortbay.jetty.security.HashUserRealm;
> -import org.mortbay.jetty.security.SecurityHandler;
> -import org.mortbay.jetty.security.SslSocketConnector;
> -import org.mortbay.jetty.servlet.AbstractSessionManager;
> -import org.mortbay.jetty.servlet.FilterHolder;
> -import org.mortbay.jetty.servlet.FilterMapping;
> -import org.mortbay.jetty.servlet.ServletHolder;
> -import org.mortbay.jetty.servlet.SessionHandler;
> -import org.mortbay.jetty.webapp.WebAppContext;
> +import org.eclipse.jetty.server.Connector;
> +import org.eclipse.jetty.server.Handler;
> +import org.eclipse.jetty.server.Server;
> +import org.eclipse.jetty.server.handler.DefaultHandler;
> +import org.eclipse.jetty.server.handler.HandlerCollection;
> +import org.eclipse.jetty.server.nio.SelectChannelConnector;
> +import org.eclipse.jetty.server.session.AbstractSessionManager;
> +import org.eclipse.jetty.server.session.SessionHandler;
> +import org.eclipse.jetty.security.ConstraintMapping;
> +import org.eclipse.jetty.security.ConstraintSecurityHandler;
> +import org.eclipse.jetty.security.HashLoginService;
> +import org.eclipse.jetty.server.ssl.SslSocketConnector;
> +import org.eclipse.jetty.servlet.FilterHolder;
> +import org.eclipse.jetty.servlet.FilterMapping;
> +import org.eclipse.jetty.servlet.ServletHolder;
> +import org.eclipse.jetty.util.security.Constraint;
> +import org.eclipse.jetty.util.security.Password;
> +import org.eclipse.jetty.webapp.WebAppContext;
>
>  import javax.servlet.Filter;
>  import javax.servlet.Servlet;
> @@ -49,7 +50,7 @@ import org.slf4j.Logger;
>  import org.slf4j.LoggerFactory;
>
>  /**
> - *
> + *
>   */
>  public class ServerFixture
>  {
> @@ -69,9 +70,9 @@ public class ServerFixture
>
>      private final WebAppContext webappContext;
>
> -    private final HashUserRealm securityRealm;
> +    private final HashLoginService loginService;
>
> -    private final SecurityHandler securityHandler;
> +    private final ConstraintSecurityHandler securityHandler;
>
>      private int filterCount = 0;
>
> @@ -116,11 +117,11 @@ public class ServerFixture
>          cm.setConstraint( constraint );
>          cm.setPathSpec( "/protected/*" );
>
> -        securityHandler = new SecurityHandler();
> +        securityHandler = new ConstraintSecurityHandler();
>
> -        securityRealm = new HashUserRealm( "Test Server" );
> +        loginService = new HashLoginService( "Test Server" );
>
> -        securityHandler.setUserRealm( securityRealm );
> +        securityHandler.setLoginService( loginService );
>          securityHandler.setConstraintMappings( new ConstraintMapping[]{
> cm } );
>
>          webappContext = new WebAppContext();
> @@ -129,7 +130,7 @@ public class ServerFixture
>          File base = getResource( SERVER_ROOT_RESOURCE_PATH );
>          logger.info( "docroot: " + base );
>          webappContext.setWar( base.getAbsolutePath() );
> -        webappContext.addHandler( securityHandler );
> +        webappContext.setHandler( securityHandler );
>
>          SessionHandler sessionHandler = webappContext.
> getSessionHandler();
>          ( (AbstractSessionManager) sessionHandler.getSessionManager()
> ).setUsingCookies( false );
> @@ -161,8 +162,7 @@ public class ServerFixture
>
>      public void addUser( final String user, final String password )
>      {
> -        securityRealm.put( user, password );
> -        securityRealm.addUserToRole( user, "allowed" );
> +        loginService.putUser( user, new Password( password ), new
> String[] { "allowed" } );
>      }
>
>      public Server getServer()
>
>


-- 
Olivier Lamy
http://twitter.com/olamy | http://linkedin.com/in/olamy

[2/2] maven-wagon git commit: [WAGON-476] HTTP Provider follows redirects on PUT and may change request method

Posted by mi...@apache.org.
[WAGON-476] HTTP Provider follows redirects on PUT and may change request method


Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/e707a269
Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/e707a269
Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/e707a269

Branch: refs/heads/jetty-8
Commit: e707a2691e74524a555ea7b7a2fa51d02f827635
Parents: 2e1c807
Author: Michael Osipov <mi...@apache.org>
Authored: Mon Dec 26 00:57:24 2016 +0100
Committer: Michael Osipov <mi...@apache.org>
Committed: Mon Dec 26 00:57:24 2016 +0100

----------------------------------------------------------------------
 .../maven/wagon/providers/http/AbstractHttpClientWagon.java     | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/e707a269/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
index a03558a..7773d97 100755
--- a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
+++ b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
@@ -792,6 +792,11 @@ public abstract class AbstractHttpClientWagon
             }
         }
 
+        if ( httpMethod instanceof HttpPut )
+        {
+            requestConfigBuilder.setRedirectsEnabled( false );
+        }
+
         localContext.setRequestConfig( requestConfigBuilder.build() );
 
         if ( config != null && config.isUsePreemptive() )