You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wagon-commits@maven.apache.org by br...@apache.org on 2006/01/05 09:08:44 UTC
svn commit: r366115 -
/maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
Author: brett
Date: Thu Jan 5 00:08:41 2006
New Revision: 366115
URL: http://svn.apache.org/viewcvs?rev=366115&view=rev
Log:
[WAGONFTP-9] prevent hanging on get when file exists due to misplaced directory change
Modified:
maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
Modified: maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
URL: http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java?rev=366115&r1=366114&r2=366115&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java Thu Jan 5 00:08:41 2006
@@ -55,6 +55,11 @@
throw new IllegalArgumentException( "Authentication Credentials cannot be null for FTP protocol" );
}
+ if ( authInfo.getUserName() == null )
+ {
+ authInfo.setUserName( System.getProperty( "user.name" ) );
+ }
+
String username = authInfo.getUserName();
String password = authInfo.getPassword();
@@ -135,14 +140,6 @@
// behind firewalls these days.
// TODO [BP]: make optional based on a flag
ftp.enterLocalPassiveMode();
-
- boolean dirChanged = ftp.changeWorkingDirectory( getRepository().getBasedir() );
-
- if ( !dirChanged )
- {
- throw new ConnectionException(
- "Required directory: '" + getRepository().getBasedir() + "' " + "is missing" );
- }
}
catch ( IOException e )
{
@@ -219,7 +216,6 @@
public void fillOutputData( OutputData outputData )
throws TransferFailedException
{
-
OutputStream os;
Resource resource = outputData.getResource();
@@ -228,6 +224,12 @@
try
{
+ if ( !ftp.changeWorkingDirectory( getRepository().getBasedir() ) )
+ {
+ throw new TransferFailedException(
+ "Required directory: '" + getRepository().getBasedir() + "' " + "is missing" );
+ }
+
String[] dirs = PathUtils.dirnames( resource.getName() );
for ( int i = 0; i < dirs.length; i++ )
@@ -265,12 +267,9 @@
// we come back to orginal basedir so
// FTP wagon is ready for next requests
- for ( int i = 0; i < dirs.length; i++ )
+ if ( !ftp.changeWorkingDirectory( getRepository().getBasedir() ) )
{
- if ( !ftp.changeWorkingDirectory( ".." ) )
- {
- throw new TransferFailedException( "Unable to return to the base directory" );
- }
+ throw new TransferFailedException( "Unable to return to the base directory" );
}
os = ftp.storeFileStream( resource.getName() );
@@ -309,6 +308,12 @@
try
{
+ if ( !ftp.changeWorkingDirectory( getRepository().getBasedir() ) )
+ {
+ throw new TransferFailedException(
+ "Required directory: '" + getRepository().getBasedir() + "' " + "is missing" );
+ }
+
String[] dirs = PathUtils.dirnames( resource.getName() );
for ( int i = 0; i < dirs.length; i++ )
@@ -343,14 +348,6 @@
resource.setLastModified( lastModified );
is = ftp.retrieveFileStream( filename );
-
- for ( int i = 0; i < dirs.length; i++ )
- {
- if ( !ftp.changeWorkingDirectory( ".." ) )
- {
- throw new TransferFailedException( "Error changing directory to .." );
- }
- }
}
catch ( IOException e )
{
---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-commits-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-commits-help@maven.apache.org