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.