File Transfer Manager
This application is intended to be used initially as a graphical application, allowing file operations on the local filesystems and remote FTP servers. The API is designed such that the elements used by the graphical application to interact with filesystems can also be included in other applications. The aim is to represent local and remote filesystems through a common interface.
One of the distinguishing features of the underlying code is that two
FTPFileSystems can transfer files directly between the two servers. This is usually a major saving in bandwidth, as the transfer needs only be accomplished once - rather than transferring first to the client machine and then onto the second server - and is a part of the FTP protocol.
The application is written in Java for two principal reasons:
- Portability of code - Java is available on all major operating systems.
- Object orientation - the design of the Java language allows for an easily-developed and -maintained API, with proper abstraction and division of work into logical units.
- Version 0.1
- Basic API and graphical interface
- Version 0.2
- Command-line interface
- Version 0.3
- Automated file transfers - initiated upon various criteria being met, including presence of a file, time of day.
File system classes (package
- Abstract superclass to present a uniform programmatic view of local and FTP filesystems.
FileSystem, representing a file system accessible through normal OS filesystem calls.
FileSystem, representing a file system accessible through File Transfer Protocol.
- Describes a file on a
- As copies can progress in parallel, these objects are used to track each individual transfer. The code which initiates transfers can kick off a number of transfers and either poll each of these objects in turn to update the status of the transfer, or register a listener which the
CopyStatus objects will call whenever there is a change in the status of the transfer.
Graphical file system classes (package
- Contains a
FilePane. Refers to a
- Buttons to move up and jump to file system positions, select all files, toggle the current selection and delete files.
- Collapsible - shows a tree view of the file system
- Collection of
FileIcons within a directory.
- Representation of a file or directory.
File Transfer Manager application classes (package
- Main window, containing the
ControlPane at the top and the
- Options. Buttons are: New local view, New remote view, Synchronise..., Delete..., Compare...
The code is to be written to run on the Java 2 platform, specifically Java 1.2 and above. Initially, a Window-Icon-Menu-Pointer (wimp) environment will be required. This requirement will cease upon version 0.2 of the code.