Thank you for proposition, we certainly will take a look a all that.
That being said, the FTP Client API project is in a unusual state.
You see, as a pointed numerous times, we do have an API already, even if
it's a rather incomplete and not flexible one. Which leads to 2 issues:
1) Any new FTP API has to be backward compatible with the existing one,
and, to avoid bloat, should reuse most of the existing one.
2) So far it has been the blocking argument when trying to convince "the
powers that be" that a new API is needed. I've been trying to get that
project approved for a long time now (years to be exact). As of today it
is still not approved for jdk7, even though I have good hopes that it
will be.
The corollary to that is that the API, and implementation, for a full
FTP client has been in the works, internally, for a long time.
Basically, it's done, just waiting in one of our internal workspaces for
final approval.
Now, assuming the project finally gets approved, I fully intend to
publish what we've done before committing it to the workspace in order
to get feedback, reviews, and, hopefully, contributions.
At which point, I will take a look at your work and see what can be done
to benefits all. In particular anything that could help with unit tests
will be very, very needed.
I hope this clarify a few things concerning FTP support in JDK 7.
Don't hesitate to contact me on that subject, or any networking issue,
if you have questions or issues.
Thanks again,
David Hansmann wrote:
Hi all,
I recently looked at openjdk.java.net and found that there doesn't
seem to be a fixed plan to integrate full FTP support
(I'm referring to
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4650689 ), so I
wonder if you might be interested to use parts
of my FTP API located on http://j-ftp.sourceforge.net .
It is part of a file transfer client which supports FTP using an API
which I wrote and which has been tested for quite some time now,
SFTP (throug j2ssh or jsch), JCIFS (through JCIFS) and NFS (through
Sun WebNFS) using
a common interface. Although the code may not be state-of-the art (no
generics yet) the core classes are very small, easy to refactor, not
very complicated in general and there are various of the features you
mentioned already present (like one control connection for multiple
downloads,
callbacks) and more.
It should for example be possible to to use the other APIs as plugins
once this would be implemented so those other protocols could be used
by just placing the jars anywhere in the classpath.
I'd of course help with the developement, code cleanup, testing and
support if anybody wants to give it a try - it would be really exiting to
contribute to the JDK especially because I started the project years
ago because of the lack of a real (and OSS) java FTP API ;)
Greetings and thanks for your time,
David Hansmann
P.S.: If you want to take a look at the code you probably want to look
at net/FtpConnection, the BasicConnection interface and the example code
in the doc/-directory.