rather than just 'data' attribute
2. Implemented a NetworkVirtualPrinter output device, and now both
this class and the previous SystemConsoleOutputDevice extend the same
new abstract class AsyncRunnableOutputDevice which supplies default
implementations for the interface methods.
Specifically:
1. now handling exceptions in the encryption process (according to voter's choice)
2. handling files in storage manager (now reading election parameters and system messages from files)
3. Controller's init() now already sets all the info and parameters. No need to call extra functions
4. some more changes to the method structure
Summary:
The initial code for the voting booth.
Some things are still missing:
1. comments EVERYWHERE
2. an implementation for the encryptor (program crashes when trying to encrypt PlaintexBallot)
3. the OutputDevice class should become a thread, (runnable with a queue of commands as the UI component)
Test Plan: Currently only simply run it with another main class.
Reviewers: arbel.peled
Differential Revision: https://proj-cs.idc.ac.il/D3
1. Especially tried to fix the callback mechanism I previously used.
2. 'long sessionID' changed to 'int requestId'
3. Introduced a generic class VotingBoothResult
4. Quite some other local changes
Summary:
Planned some basic interfaces for my revised Voting Booth componenets.
No implementation yet, though...
Test Plan: There are none, yet
Reviewers: arbel.peled
Differential Revision: https://proj-cs.idc.ac.il/D2
Removed dependency on large Protobufs (BulletinBoardMessageList and BatchDataList).
Partial implementation of Sync Query.
Current version supports only H2 and MySQL (no SQLite support).
Added Batch Messages Bulletin Board Client interface and associated ProtoBufs.
Returned simple implementation of BulletinBoardClient.
Made ThreadedBulletinBoardClient extend SimpleBulletinBoardClient.
Fixed an issue in SQLite where identical Signatures could be added to the same message.
Overhauled Bulletin Board Client interface to accommodate this.
Deprecated the Simple Bulletin Board Client.
Made the path to the server methods generic (defined in the Constants class of the rest package).