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 + "/" );