Author: sebb Date: Mon Feb 6 16:43:40 2017 New Revision: 1781925 URL: http://svn.apache.org/viewvc?rev=1781925&view=rev Log: NET-609 - DefaultUnixFTPFileEntryParserFactory Issue (leading spaces removal configuration)
Modified: commons/proper/net/trunk/src/changes/changes.xml commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactory.java commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/parser/UnixFTPEntryParser.java commons/proper/net/trunk/src/test/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactoryTest.java Modified: commons/proper/net/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/changes/changes.xml?rev=1781925&r1=1781924&r2=1781925&view=diff ============================================================================== --- commons/proper/net/trunk/src/changes/changes.xml [utf-8] (original) +++ commons/proper/net/trunk/src/changes/changes.xml [utf-8] Mon Feb 6 16:43:40 2017 @@ -64,6 +64,9 @@ The <action> type attribute can be add,u <body> <release version="3.6" date="TBA" description=""> + <action issue="NET-609" type="fix" dev="sebb" due-to="Tqup3"> + DefaultUnixFTPFileEntryParserFactory Issue (leading spaces removal configuration) + </action> <action type="update" dev="sebb"> POP3Mail example: support host port; allow reading password from Console/stdin/environment </action> Modified: commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactory.java URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactory.java?rev=1781925&r1=1781924&r2=1781925&view=diff ============================================================================== --- commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactory.java (original) +++ commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactory.java Mon Feb 6 16:43:40 2017 @@ -121,13 +121,14 @@ public class DefaultFTPFileEntryParserFa if (parser == null) { // Now try for aliases String ukey = key.toUpperCase(java.util.Locale.ENGLISH); - if (ukey.indexOf(FTPClientConfig.SYST_UNIX) >= 0) + if (ukey.indexOf(FTPClientConfig.SYST_UNIX_TRIM_LEADING) >= 0) { - parser = new UnixFTPEntryParser(config, false); + parser = new UnixFTPEntryParser(config, true); } - else if (ukey.indexOf(FTPClientConfig.SYST_UNIX_TRIM_LEADING) >= 0) + // must check this after SYST_UNIX_TRIM_LEADING as it is a substring of it + else if (ukey.indexOf(FTPClientConfig.SYST_UNIX) >= 0) { - parser = new UnixFTPEntryParser(config, true); + parser = new UnixFTPEntryParser(config, false); } else if (ukey.indexOf(FTPClientConfig.SYST_VMS) >= 0) { Modified: commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/parser/UnixFTPEntryParser.java URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/parser/UnixFTPEntryParser.java?rev=1781925&r1=1781924&r2=1781925&view=diff ============================================================================== --- commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/parser/UnixFTPEntryParser.java (original) +++ commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/parser/UnixFTPEntryParser.java Mon Feb 6 16:43:40 2017 @@ -148,7 +148,7 @@ public class UnixFTPEntryParser extends // if true, leading spaces are trimmed from file names // this was the case for the original implementation - private final boolean trimLeadingSpaces; + final boolean trimLeadingSpaces; // package protected for access from test code /** * The default constructor for a UnixFTPEntryParser object. Modified: commons/proper/net/trunk/src/test/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactoryTest.java URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/test/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactoryTest.java?rev=1781925&r1=1781924&r2=1781925&view=diff ============================================================================== --- commons/proper/net/trunk/src/test/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactoryTest.java (original) +++ commons/proper/net/trunk/src/test/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactoryTest.java Mon Feb 6 16:43:40 2017 @@ -32,6 +32,11 @@ public class DefaultFTPFileEntryParserFa parser = factory.createFileEntryParser("UNIX"); assertTrue(parser instanceof UnixFTPEntryParser); + assertFalse(((UnixFTPEntryParser)parser).trimLeadingSpaces); + + parser = factory.createFileEntryParser("UNIX_LTRIM"); + assertTrue(parser instanceof UnixFTPEntryParser); + assertTrue(((UnixFTPEntryParser)parser).trimLeadingSpaces); parser = factory.createFileEntryParser("Unix"); assertTrue(parser instanceof UnixFTPEntryParser);