Refactored the thread structure in preparation for adding sync. Added
code to the cilent that waits for sync requests from the server.
Added new package for server syncing threads.
Added a HashMap<String, InetAddress> to keep track of connected clients
and their addresses. Added a mechanism for threads to request that the
server create syncing threads after a file has been received.
Revamped configuration loading on the Client and Server to use full path
names. Updated that code to Java NIO API. Both the client and server now
read their configuration file location from the command line.
Updated the key list and configuration files.
Modified the FileWatcher hierarchy to support customized FileWatchers in
preparation for sharing and server->client syncing.
Client now hooked up to the tracked files database. (Client not hooked
up to the shared files database yet).
Server is now hooked into its database.
Implemented file locks so that we don't get stuck in an infinite loop
when the server passes on an updated file to a user's other logged-in
machines.
Fixed a bug with path names when syncing to a user's other machines. If
a file doesn't exist, checking its lock status now returns false.
The new configuration file for the Madison test client somehow didn't
make it into the last commit.
Fixed the error that occurred when using a ResultSet and checking for no
results.
Bugfix for the path of the file the server is trying to send to a user's
additional machines.
Renamed a slew of things. Fixed the bug where the file output stream was
being closed prior to the cipher, causing the last bit of the decrypted
file to be lost. Fixed the bug where the file was being unlocked too
soon and an infinite loop of updates occurred.
Cleaned up debug messages. Added ability to delete directories.
Updated Madison configuration.
Implemented the ability for delete requests to be synced.
Implemented the locking mechanism for delete requests to prevent
excessive delete requests from circulating.
It turns out that a quick delete-create when modifications occur
registers as a Modified event by the File Watcher. (not sure if OS or
FileWatcher API does this?)
Fixed another bug that was allowing excessive delete requests to
circulate.