SFTP project (SftpClient)In this project, you need to design the GUI interface to display, upload and download
the file to your server (users.cs.umb.edu). All the APIs and required packages will be
provided as the base code.
File and folders:
SftpClient.drjava: The Drjava project file. You can double click it to open the project
or you can open through Drjava “openproject” option.
sftp.properties: This file stores the users inputs, such as username, sever address,
port number(22) and password.
Folder, com: This folder contains all the supporting library, you do not need to open
Folder, commandline, This folder contains the command line base code. In this
program, you can display, upload and download files in your sever.
Folder, gui: This folder contains the GUI interface base code. It provides you the
example on how to interact with the related APIs from Jframe and sftp. In the base
code, it can connect to your server. However, the rest of the functions are still blank.
Folder, common: This folder contains the APIs that provide the “display”, “upload”,
“download” methods. All the APIs you need are inside this folder.
What you need to do.
Try to run and test the base code of both commandline and gui.
Read through the code in the folder of commandline and gui. Make sure you
understand the logic of those API calls.
Read the APIs that provided in common folder. You only need to know what does
this API do from the name of the API and don’t need to know how does the API
Extend the GUI interface based on the provided code. You only need to extend the
GUI after you logged in(connected) to your server.
Submit the preliminary report in hardcopy on Dec. 9th in class. The report should
a) A demonstration shows that you have successfully run the examples in the
base code (both command line and GUIs).
b) List out all the APIs that used in the command line based code (You should
investigate the command folder. All the APIs are inside it).
c) Your plan to implement the rest of the functions (For each function or button,
you need to provide what kind of APIs you are going to use).
Submit the final report with all your code on night of Dec. 19th. The report should
a) A demonstration shows all the functions that your project can do.
b) For each of the function, list out and explain what and why those APIs need to
c) Show the key part of your code and explain the logic.
Both deadlines, Dec. 9th and Dec. 19th , are strict deadlines. On Dec. 9th, you have to
hand it to me in person and I will quickly review your report to see if there is
anything wrong with it. I do NOT accept electronic copy for preliminary report.