Click link for more description
Design and implement a basic File Transfer Protocol (FTP) graphical user interface tool. When executed, the tool will display a UI where the user can upload (put) and download (get) files from a remote server. The ftp4j library will be used to implement the actual protocol and file transfers. A remote FTP site and credentials will be provided for the project
This project reuses classes implemented in Project 1. You should be able to use the classes with little to no modification. The classes (and related parent classes) to be reused are:
• PutJob.java: A subclass of TransferJob that performs an FTP upload of a file to the remote host.• GetJob.java: A subclass of TransferJob that performs and FTP download of a file from the remote host.• SingleThreadedTransferEngine.java: An implementation of TransferEngine that performs all operations in a single thread (i.e. the same thread as the caller). Therefore operations like addJob(…) will block while the job is added and executed
The UI must contain the following features:• A host text field: For entering the remote host name.• A port text field: For entering the remote port number.• A username text field: For entering the user name for remote authentication.• A password password input field: For entering the password for remote authentication.• A connect button: Creates the FTPBuilder using the host, port, username, and password. Starts the transfer engine. Creates an FTPClient to be used by the main UI thread.• A put button: Transfers the selected local file to the remote site. If not file is selected in the local file list, this button does nothing.• A get button: Transfers the selected remote file to the local site. If not file is selected in the remote file list, this button does nothing.• A console text area: A non-editable text area for displaying user feedback and job status information.• A refresh button: Refreshes the local file list, remote file list, and appends the status of all jobs to the console text area.• A local file list: Displays the files in the current local directory (i.e. the directory the application was launched in).
A remote file list: Displays the files in the remote directory (i.e. the default home directory on the remote FTP server).