1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-09 18:15:23 +02:00

Fixing 162511 - FTP file service does not process filter strings correctly

This commit is contained in:
Javier Montalvo Orus 2006-10-27 14:40:08 +00:00
parent 52ef89604f
commit 71ec46bac5

View file

@ -22,6 +22,7 @@
* Javier Montalvo Orus (Symbian) - Fixing 161238 - [ftp] expand "My Home" node on * Javier Montalvo Orus (Symbian) - Fixing 161238 - [ftp] expand "My Home" node on
* ftp.ibiblio.org as anonymous fails * ftp.ibiblio.org as anonymous fails
* Javier Montalvo Orus (Symbian) - Fixing 160922 - create folder/file fails for FTP service * Javier Montalvo Orus (Symbian) - Fixing 160922 - create folder/file fails for FTP service
* David Dykstal (IBM) - Fixing 162511 - FTP file service does not process filter strings correctly
********************************************************************************/ ********************************************************************************/
package org.eclipse.rse.services.files.ftp; package org.eclipse.rse.services.files.ftp;
@ -39,6 +40,8 @@ import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPFile;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.rse.services.clientserver.FileTypeMatcher;
import org.eclipse.rse.services.clientserver.IMatcher;
import org.eclipse.rse.services.clientserver.NamePatternMatcher; import org.eclipse.rse.services.clientserver.NamePatternMatcher;
import org.eclipse.rse.services.clientserver.messages.SystemMessageException; import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
import org.eclipse.rse.services.files.AbstractFileService; import org.eclipse.rse.services.files.AbstractFileService;
@ -176,8 +179,13 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
{ {
fileFilter = "*"; fileFilter = "*";
} }
IMatcher filematcher = null;
NamePatternMatcher filematcher = new NamePatternMatcher(fileFilter, true, true); if (fileFilter.endsWith(",")) {
String[] types = fileFilter.split(",");
filematcher = new FileTypeMatcher(types, true);
} else {
filematcher = new NamePatternMatcher(fileFilter, true, true);
}
List results = new ArrayList(); List results = new ArrayList();
try try
@ -206,7 +214,8 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
for(int i=0; i<ftpFiles.length; i++) for(int i=0; i<ftpFiles.length; i++)
{ {
if(filematcher.matches(ftpFiles[i].getName())) FTPFile f = ftpFiles[i];
if(filematcher.matches(f.getName()) || f.isDirectory())
{ {
results.add(new FTPHostFile(parentPath,ftpFiles[i],systemName)); results.add(new FTPHostFile(parentPath,ftpFiles[i],systemName));
} }