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);


Reply via email to