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 2009/02/19 06:15:52 UTC
svn commit: r745730 - in /maven/wagon/trunk:
wagon-provider-test/src/main/java/org/apache/maven/wagon/
wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/
wagon-providers/wagon-ftp/ wagon-providers/wagon-ftp/src/main/java/or...
Author: brett
Date: Thu Feb 19 05:15:51 2009
New Revision: 745730
URL: http://svn.apache.org/viewvc?rev=745730&view=rev
Log:
[WAGON-250] make getFileList consistent across wagons for "", hidden files, directories, and "."/".."
Submitted by: Dan Tran (fix for "" only)
Modified:
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java
maven/wagon/trunk/wagon-providers/wagon-ftp/pom.xml
maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java
maven/wagon/trunk/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java
maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/SftpWagon.java
Modified: maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java?rev=745730&r1=745729&r2=745730&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java (original)
+++ maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java Thu Feb 19 05:15:51 2009
@@ -24,6 +24,7 @@
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -725,7 +726,8 @@
String dirName = "file-list";
String filenames[] =
- new String[] { "test-resource.txt", "test-resource.pom", "test-resource b.txt", "more-resources.dat" };
+ new String[] { "test-resource.txt", "test-resource.pom", "test-resource b.txt", "more-resources.dat",
+ ".index.txt" };
for ( int i = 0; i < filenames.length; i++ )
{
@@ -738,13 +740,24 @@
List list = wagon.getFileList( dirName );
assertNotNull( "file list should not be null.", list );
- assertTrue( "file list should contain 4 or more items (actually contains " + list.size() + " elements).",
- list.size() >= 4 );
+ assertTrue( "file list should contain more items (actually contains '" + list + "').",
+ list.size() >= filenames.length );
for ( int i = 0; i < filenames.length; i++ )
{
assertTrue( "Filename '" + filenames[i] + "' should be in list.", list.contains( filenames[i] ) );
}
+
+ // WAGON-250
+ list = wagon.getFileList( "" );
+ assertNotNull( "file list should not be null.", list );
+ assertTrue( "file list should contain items (actually contains '" + list + "').", !list.isEmpty() );
+ assertTrue( list.contains( "file-list/" ) );
+ assertFalse( list.contains( "file-list" ) );
+ assertFalse( list.contains( "." ) );
+ assertFalse( list.contains( ".." ) );
+ assertFalse( list.contains( "./" ) );
+ assertFalse( list.contains( "../" ) );
wagon.disconnect();
Modified: maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java?rev=745730&r1=745729&r2=745730&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java Thu Feb 19 05:15:51 2009
@@ -27,6 +27,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -239,9 +240,19 @@
throw new ResourceDoesNotExistException( "Path is not a directory: " + destinationDirectory );
}
- String files[] = path.list();
+ File[] files = path.listFiles();
- return Arrays.asList( files );
+ List list = new ArrayList( files.length );
+ for ( int i = 0; i < files.length; i++ )
+ {
+ String name = files[i].getName();
+ if ( files[i].isDirectory() && !name.endsWith( "/" ) )
+ {
+ name += "/";
+ }
+ list.add( name );
+ }
+ return list;
}
public boolean resourceExists( String resourceName )
Modified: maven/wagon/trunk/wagon-providers/wagon-ftp/pom.xml
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ftp/pom.xml?rev=745730&r1=745729&r2=745730&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ftp/pom.xml (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ftp/pom.xml Thu Feb 19 05:15:51 2009
@@ -37,7 +37,7 @@
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
- <version>1.4.1</version>
+ <version>2.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
@@ -52,4 +52,4 @@
</exclusions>
</dependency>
</dependencies>
-</project>
\ No newline at end of file
+</project>
Modified: maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java?rev=745730&r1=745729&r2=745730&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 Feb 19 05:15:51 2009
@@ -164,6 +164,7 @@
// Set to binary mode.
ftp.setFileType( FTP.BINARY_FILE_TYPE );
+ ftp.setListHiddenFiles( true );
// Use passive mode as default because most of us are
// behind firewalls these days.
@@ -439,7 +440,14 @@
List ret = new ArrayList();
for( int i=0; i < ftpFiles.length; i++ )
{
- ret.add( ftpFiles[i].getName() );
+ String name = ftpFiles[i].getName();
+
+ if ( ftpFiles[i].isDirectory() && !name.endsWith( "/" ) )
+ {
+ name += "/";
+ }
+
+ ret.add( name );
}
return ret;
Modified: maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java?rev=745730&r1=745729&r2=745730&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java Thu Feb 19 05:15:51 2009
@@ -319,7 +319,7 @@
{
InputData inputData = new InputData();
- if ( !destinationDirectory.endsWith( "/" ) )
+ if ( destinationDirectory.length() > 0 && !destinationDirectory.endsWith( "/" ) )
{
destinationDirectory += "/";
}
Modified: maven/wagon/trunk/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java?rev=745730&r1=745729&r2=745730&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java Thu Feb 19 05:15:51 2009
@@ -41,7 +41,7 @@
public List getFileList( String destinationDirectory )
throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
{
- if ( !destinationDirectory.endsWith( "/" ) )
+ if ( destinationDirectory.length() > 0 && !destinationDirectory.endsWith( "/" ) )
{
destinationDirectory += "/";
}
Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java?rev=745730&r1=745729&r2=745730&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java Thu Feb 19 05:15:51 2009
@@ -279,7 +279,7 @@
try
{
String path = getPath( repository.getBasedir(), destinationDirectory );
- Streams streams = executor.executeCommand( "ls -la " + path, false );
+ Streams streams = executor.executeCommand( "ls -FlA " + path, false );
return new LSParser().parseFiles( streams.getOut() );
}
Modified: maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/SftpWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/SftpWagon.java?rev=745730&r1=745729&r2=745730&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/SftpWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/SftpWagon.java Thu Feb 19 05:15:51 2009
@@ -231,6 +231,11 @@
channel.cd( dir );
}
+ if ( filename.length() == 0 )
+ {
+ filename = ".";
+ }
+
attrs = channel.stat( filename );
}
catch ( SftpException e )
@@ -239,6 +244,10 @@
{
throw new ResourceDoesNotExistException( e.toString(), e );
}
+ else if( e.toString().trim().indexOf( "Can't change directory" ) != -1 )
+ {
+ throw new ResourceDoesNotExistException( e.toString(), e );
+ }
else
{
throw e;
@@ -340,6 +349,11 @@
public List getFileList( String destinationDirectory )
throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
{
+ if ( destinationDirectory.length() == 0 )
+ {
+ destinationDirectory = ".";
+ }
+
String filename = ScpHelper.getResourceFilename( destinationDirectory );
String dir = ScpHelper.getResourceDirectory( destinationDirectory );
@@ -364,7 +378,22 @@
{
ChannelSftp.LsEntry entry = (ChannelSftp.LsEntry) i.next();
- files.add( entry.getFilename() );
+ String name = entry.getFilename();
+ if ( entry.getAttrs().isDir() )
+ {
+ if ( !name.equals( "." ) && !name.equals( ".." ) )
+ {
+ if ( !name.endsWith( "/" ) )
+ {
+ name += "/";
+ }
+ files.add( name );
+ }
+ }
+ else
+ {
+ files.add( name );
+ }
}
return files;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-commits-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-commits-help@maven.apache.org