commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rory Winston (JIRA)" <j...@apache.org>
Subject [jira] Closed: (NET-224) NullPointerException if in ftp-directory are files with creation date Feb 29 current year (Problem of leap year)
Date Mon, 01 Dec 2008 11:03:45 GMT

     [ https://issues.apache.org/jira/browse/NET-224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rory Winston closed NET-224.
----------------------------

       Resolution: Fixed
    Fix Version/s: 2.0
                   1.5

This is really an Ant issue - however the underlying cause was fixed a while back (see the
threads on [net] leap year parsing).

> NullPointerException if in ftp-directory are files with creation date Feb 29 current
year (Problem of leap year)
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: NET-224
>                 URL: https://issues.apache.org/jira/browse/NET-224
>             Project: Commons Net
>          Issue Type: Bug
>    Affects Versions: 1.4
>         Environment: Java 1.5/1.6
>            Reporter: Alexander
>             Fix For: 1.5, 2.0
>
>
> 1) Ant code:
>         <ftp action="get"
>             server="${ftp.server}"
>             userid="${ftp.user}"
>             password="${ftp.password}"
>             remotedir="${ftp.dir}"
>             verbose="yes"
>             depends="yes">
>             <fileset dir="${lib}">
>                 <include name="*.jar"/>
>             </fileset>
>         </ftp>
> NullPointerException if in ${ftp.dir} are files with creation date Feb 29 current year
> 2) Caused:
>    Incorrect parse creation date Feb 29 current year
> For java 1.5/1.6:
>    Example 1:
>         SimpleDateFormat sdf = new SimpleDateFormat("MMM d yy");
>         sdf.setLenient(false);
>         System.out.println("date=" + sdf.parse("Feb 29 12:14"));
>   
>       Result:
>          date=null;
>   If doesn't use command sdf.setLenient(false) then result: date = Sun Mar 01 12:14:00
EET 1970
> For java 1.4:
>     Result  always  "date=Sun Mar 01 12:14:00 EET 1970", because for java 1.4 doesn't
throw error NullPointerException
> 3) Sources:
> File: commons-net-1.4.1\src\java\org\apache\commons\net\ftp\parser\FTPTimestampParserImpl.java

> Caused  in function (line 225: this.recentDateFormat.setLenient(false);  ): 
> 	public void configure(FTPClientConfig config) {
>                    ....
> 		String recentFormatString = config.getRecentDateFormatStr();
> 		if (recentFormatString == null) {
> 		    this.recentDateFormat = null;
> 		} else {
> 			this.recentDateFormat = new SimpleDateFormat(recentFormatString, dfs);
> 			this.recentDateFormat.setLenient(false); 
> 		}
>                ....
>            }
> 4) StackTrace:
> java.lang.NullPointerException
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:115)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:698)
>         at org.apache.tools.ant.Main.startAnt(Main.java:199)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> Caused by: java.lang.NullPointerException
>         at org.apache.tools.ant.taskdefs.optional.net.FTP$FTPDirectoryScanner.checkRemoteSensitivity(FTP.java:583)
>         at org.apache.tools.ant.taskdefs.optional.net.FTP$FTPDirectoryScanner.forceRemoteSensitivityCheck(FTP.java:552)
>         at org.apache.tools.ant.taskdefs.optional.net.FTP$FTPDirectoryScanner.scan(FTP.java:231)
>         at org.apache.tools.ant.taskdefs.optional.net.FTP.transferFiles(FTP.java:1570)
>         at org.apache.tools.ant.taskdefs.optional.net.FTP.transferFiles(FTP.java:1683)
>         at org.apache.tools.ant.taskdefs.optional.net.FTP.execute(FTP.java:2373)
>         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>         ... 11 more
> --- Nested Exception ---
> java.lang.NullPointerException
>         at org.apache.tools.ant.taskdefs.optional.net.FTP$FTPDirectoryScanner.checkRemoteSensitivity(FTP.java:583)
>         at org.apache.tools.ant.taskdefs.optional.net.FTP$FTPDirectoryScanner.forceRemoteSensitivityCheck(FTP.java:552)
>         at org.apache.tools.ant.taskdefs.optional.net.FTP$FTPDirectoryScanner.scan(FTP.java:231)
>         at org.apache.tools.ant.taskdefs.optional.net.FTP.transferFiles(FTP.java:1570)
>         at org.apache.tools.ant.taskdefs.optional.net.FTP.transferFiles(FTP.java:1683)
>         at org.apache.tools.ant.taskdefs.optional.net.FTP.execute(FTP.java:2373)
>         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:698)
>         at org.apache.tools.ant.Main.startAnt(Main.java:199)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

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