Homework 7
CS520, Fall 2010


Due: Thursday, December 2

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.

[CSNS File Manager]

Continue to work on CSNS File Manager and implement the following functionality. Note that all the functionality from previous homework must work; otherwise you will not receive any credit.

1. (20pt) Toggle public/private.

Allow a user to set a file or a folder to be public or private (i.e. set the public property of the File object to true or false). Different icons, labels, or colors should be used in the file manager display to indicate whether a file/folder is public or private.

2. (25pt) Security.

Use Spring Security to implement security for the files in CSNS. In particular:

Note that Read access includes operations that do not modify the database, e.g. downloading a file, browsing a folder, and so on. Write access includes operations that will lead to changes in the database, e.g. uploading a file, moving a file, renaming a folder, and so on.

To receive full credit for this exercise, you must explain how you implemented the security mechanism in a text file hw7.txt

[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.