commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "HONMA Hirotaka (JIRA)" <j...@apache.org>
Subject [jira] Commented: (NET-188) FTPClient#listFiles returns null element when file's timestamp is "02/29"
Date Wed, 27 Feb 2008 01:58:51 GMT

    [ https://issues.apache.org/jira/browse/NET-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572759#action_12572759
] 

HONMA Hirotaka commented on NET-188:
------------------------------------

Rory, thank you for the quick follow-up.

In my environment, I got it to work when I also provided DateFormatSymbols to the constructor
to make sure the formatting is done in the same locale.
Also, I think setting the TimeZone is necessary. Please let me know your thoughts.

Please see below for proposed changes:

{code}
Index: FTPTimestampParserImpl.java
===================================================================
--- FTPTimestampParserImpl.java	(revision 631446)
+++ FTPTimestampParserImpl.java	(working copy)
@@ -104,8 +104,9 @@
 				pp = new ParsePosition(0);
 				int year = Calendar.getInstance().get(Calendar.YEAR);
 				String timeStampStrPlusYear = timestampStr + " " + year;
-				SimpleDateFormat hackFormatter = new SimpleDateFormat(recentDateFormat.toPattern() +
" yyyy");
+				SimpleDateFormat hackFormatter = new SimpleDateFormat(recentDateFormat.toPattern() +
" yyyy", recentDateFormat.getDateFormatSymbols());
 				hackFormatter.setLenient(false);
+				hackFormatter.setTimeZone(recentDateFormat.getTimeZone());
 				parsed = hackFormatter.parse(timeStampStrPlusYear, pp);
 			}
 			if (parsed != null && pp.getIndex() == timestampStr.length() + 5) {
{code}


> FTPClient#listFiles returns null element when file's timestamp is "02/29"
> -------------------------------------------------------------------------
>
>                 Key: NET-188
>                 URL: https://issues.apache.org/jira/browse/NET-188
>             Project: Commons Net
>          Issue Type: Bug
>    Affects Versions: 1.4
>            Reporter: HONMA Hirotaka
>
> This issue has same cause as VALIDATOR-221.
> org.apache.commons.net.ftp.parser.FTPTimestampParserImpl#parseTimestamp throws ParseException
with timestampStr = "Feb 29 11:22".
> FTP Server status:
> {code}
> [root@localhost test-commonsnet]# pwd
> /tmp/test-commonsnet
> [root@localhost test-commonsnet]# ls -l
> total 0
> -rw-r--r--  1 root root 0 Dec 19  2006 aaa.txt
> -rw-r--r--  1 root root 0 Feb 29 11:22 bbb.txt
> {code}
> test code:
> {code}
> public void testCommonsNetLeapDay() throws Exception {
>     final FTPClient ftp = new FTPClient();
>     ftp.connect(host);
>     ftp.login(user, password);
>     final FTPFile[] listFiles = ftp.listFiles("/tmp/test-commonsnet");
>     for (int i = 0; i < listFiles.length; i++) {
>         System.out.println("[" + i + "] " + listFiles[i]);
>     }
>     ftp.disconnect();
> }
> {code}
> results bellow.
> {code}
> [0] -rw-r--r--    1 0        0               0 Dec 18  2006 aaa.txt
> [1] null
> {code}
> Second element(bbb.txt) should not be null.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message