You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Rory Winston (JIRA)" <ji...@apache.org> on 2008/02/26 13:15:53 UTC

[jira] Issue Comment Edited: (NET-188) FTPClient#listFiles returns null element when file's timestamp is "02/29"

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

rwinston@eircom.net edited comment on NET-188 at 2/26/08 4:15 AM:
-----------------------------------------------------------

Something like this would work, if the initial recent date format parsing fails:

{code}
if (recentDateFormat != null) {
				pp = new ParsePosition(0);
				int year = Calendar.getInstance().get(Calendar.YEAR);
				String timeStampStrPlusYear = timestampStr + " " + year;
				SimpleDateFormat hackFormatter = new SimpleDateFormat(recentDateFormat.toPattern() + " yyyy");
				hackFormatter.setLenient(false);
				parsed = hackFormatter.parse(timeStampStrPlusYear, pp);
			}
			if (parsed != null && pp.getIndex() == timestampStr.length() + 5) {
				working.setTime(parsed);
			}
{code}
Although that is really hacky.

      was (Author: rwinston@eircom.net):
    Something like this would work, if the initial recent date format parsing fails:

[code]
if (recentDateFormat != null) {
				pp = new ParsePosition(0);
				int year = Calendar.getInstance().get(Calendar.YEAR);
				String timeStampStrPlusYear = timestampStr + " " + year;
				SimpleDateFormat hackFormatter = new SimpleDateFormat(recentDateFormat.toPattern() + " yyyy");
				hackFormatter.setLenient(false);
				parsed = hackFormatter.parse(timeStampStrPlusYear, pp);
			}
			if (parsed != null && pp.getIndex() == timestampStr.length() + 5) {
				working.setTime(parsed);
			}
[/code]
Although that is really hacky.
  
> 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.