commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jcar...@apache.org
Subject svn commit: r659810 - /commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java
Date Sat, 24 May 2008 12:52:50 GMT
Author: jcarman
Date: Sat May 24 05:52:50 2008
New Revision: 659810

URL: http://svn.apache.org/viewvc?rev=659810&view=rev
Log:
VFS-196: FTP Provider Does Not Support Symbolic Links Correctly

Modified:
    commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java

Modified: commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java?rev=659810&r1=659809&r2=659810&view=diff
==============================================================================
--- commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java
(original)
+++ commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java
Sat May 24 05:52:50 2008
@@ -24,6 +24,9 @@
 import org.apache.commons.vfs.FileSystemException;
 import org.apache.commons.vfs.FileType;
 import org.apache.commons.vfs.RandomAccessContent;
+import org.apache.commons.vfs.FileSystemManager;
+import org.apache.commons.vfs.VFS;
+import org.apache.commons.vfs.FileUtil;
 import org.apache.commons.vfs.provider.AbstractFileObject;
 import org.apache.commons.vfs.provider.UriParser;
 import org.apache.commons.vfs.util.Messages;
@@ -133,12 +136,9 @@
 		final FtpClient client = ftpFs.getClient();
 		try
 		{
-            final FTPFile[] tmpChildren = client.listFiles(relPath);
-            if (tmpChildren == null)
-            {
-                children = null;
-            }
-            else if (tmpChildren.length == 0)
+            final String path = fileInfo != null && fileInfo.isSymbolicLink() ? getFileSystem().getFileSystemManager().resolveName(getParent().getName(),
fileInfo.getLink() ).getPath() : relPath;
+            final FTPFile[] tmpChildren = client.listFiles(path);
+			if (tmpChildren == null || tmpChildren.length == 0)
 			{
 				children = EMPTY_FTP_FILE_MAP;
 			}
@@ -230,7 +230,7 @@
                 {
                     this.fileInfo = null;
                 }
-                
+
                 /* VFS-210
                 try
 				{
@@ -394,7 +394,7 @@
 			 * if if this file has C children, P parents, there will be (C * P)
 			 * listings made with (C * (P + 1)) refreshes, when there should
 			 * really only be 1 listing and C refreshes. */
-			
+
 			this.inRefresh = true;
 			return super.getChildren();
 		}



Mime
View raw message