Homework 4
CS520, Fall 2010


Due: Thursday, November 4

Package all the source files of your project into a zip file using the zip Ant target you developed in Homework 1, and upload the zip file to CSNS. Note that file uploading will be disabled automatically after 11:59PM of the due date, so please turn in your work on time.


[Reading]

[CSNS File Manager]

Complete the following features of the CSNS File Manager you started in Homework 3. All the controllers you created should be placed under csns.spring.controller.file package, and all the JSPs you created should be placed under the WEB-INF/jsp/file folder.

1. (40pt) Folder Display.

Add a new link Files under the CSNS top menu Resources. For this assignment, you may assume that only users who are already logged in can access this link.

When a user clicks on Files, the top level files and folders of the user should be displayed, and when a user clicks on a folder, the content of that folder should be displayed. The user interface should be similar to the one shown in Homework 2. In particular,

Note that as stated in Homework 3, only regular files and folders are managed by the file manager.

2. (20pt) Create New Folder.

A user should be able to create a new folder under the currently selected folder. After the new folder is created, the application should redirect back to the display of the current folder.

3. (25pt)  File Upload and Download.

A user may upload files to the currently selected folder. After a file is uploaded, the application should redirect back to the display of the current folder. Note that

A user may download a file by clicking on the name of the file. You should use the existing DownloadController instead of creating a new one.

3. (25pt) Rename.

A user may rename a file or a folder. The input box should be pre-filled with the current name of the file or folder, and after it is renamed, the application should redirect back to the display of the current folder.

[About Submission and Grading]

Before submitting your work, commit all the changes to your Subversion repository and create a tag.

If you use any libraries that are not in the original CSNS and are not included in your csns.zip, please upload the library jar files together with csns.zip when you submit your work.

To test your project, we will use the following SQL scripts in your csns.zip to create, populate, and then clear the database:

Please make sure that these scripts are up to date and can be run in their entirety without generating any errors. You can check out http://sun.calstatela.edu/~cysun/public/cs520-grading/instructions.txt for more details about the grading procedure.

User interface should be intuitive, functional, and user friendly. Bad UI design will receive up to 15% credit penalty, and particularly good UI design will receive some extra credit.