Applied WAGON-73 patches

git-svn-id: https://svn.apache.org/repos/asf/maven/wagon/branches/WAGON-73@563338 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/wagon/manager/MirroredWagon.java b/src/main/java/org/apache/maven/wagon/manager/MirroredWagon.java
index 7962a52..4c37c89 100644
--- a/src/main/java/org/apache/maven/wagon/manager/MirroredWagon.java
+++ b/src/main/java/org/apache/maven/wagon/manager/MirroredWagon.java
@@ -96,6 +96,7 @@
                 try
                 {
                     this.impl.connect();
+                    return;
                 }
                 catch ( ConnectionException e )
                 {
@@ -162,6 +163,7 @@
                 try
                 {
                     this.impl.get( resource, destination );
+                    return;
                 }
                 catch ( TransferFailedException e )
                 {
diff --git a/src/test/java/org/apache/maven/wagon/manager/WagonManagerTest.java b/src/test/java/org/apache/maven/wagon/manager/WagonManagerTest.java
index 43cd620..5bb6972 100644
--- a/src/test/java/org/apache/maven/wagon/manager/WagonManagerTest.java
+++ b/src/test/java/org/apache/maven/wagon/manager/WagonManagerTest.java
@@ -347,6 +347,29 @@
         assertEquals( 272661, totals.getBytesTransferred() );
     }
 
+    /**
+     * Tests #connect and #get on a Mirror.
+     */
+    public void testMirroredWagon() throws Exception
+	{
+        final Repository testRepo = createTestRepository();
+        wagonManager.addRepository( testRepo );
+        wagonManager.addRepositoryMirror( "testmirrorrepo", "testrepo", "http://localhost:" + HTTP_PORT + "/" );
+        final Wagon httpWagon = wagonManager.getWagon( "testmirrorrepo" );
+        
+        try {
+            httpWagon.connect();
+            
+            FileUtils.copyDirectory( testDataDir, httpRootDir );
+            
+            final String destFilename = "daytrader-streamer-2.0-SNAPSHOT-javadoc.jar";
+            httpWagon.get( destFilename, new File( localDownloadDir, destFilename ));
+        } finally {
+            httpWagon.disconnect();
+            wagonManager.releaseWagon( httpWagon );
+        }
+	}
+    
     private Repository createDavRepository()
     {
         Repository repo = new Repository( "davrepo", "dav:http://localhost:" + DAV_PORT + DAV_CONTEXT + "/" );