Commit Graph

49 Commits (a9fbf555d6458df486e2e01931e51d9675297c71)

Author SHA1 Message Date
Tal Moran a9fbf555d6 Refactored voting-booth-gui to use gradle and match maven directory style 2016-09-21 17:21:34 +03:00
Tal Moran 1ff490a354 Merge branch 'master' of https://cs.idc.ac.il/rhodecode/meerkat/meerkat-java into voting-booth-gui 2016-09-21 16:23:45 +03:00
Tal Moran 267164e996 Update to Gradle 3.1 2016-09-21 16:19:45 +03:00
Vladimir Eliezer Tokarev d8adf7b49e Created the VotingBoothGUIManager
This object creates a map of visual panels and can convert the
VotingBoothUI methods into actions (can execute them on wanted panels)
2016-09-17 13:29:21 +03:00
Vladimir Eliezer Tokarev 9444072f40 Created the Graphical User Interface
This objhect is the connector between the backed and the voting booth gui
also moved  number of methods from SystemConsoleUI into Utils class for
all the UI's classes be able to use those methods.
2016-09-17 12:33:40 +03:00
Hai Brenner 4ddd5f852a Fix: better test of the NetworkVirtualPrinter 2016-08-02 14:24:25 +03:00
Hai Brenner c78b78aa3c no change 2016-08-02 14:22:21 +03:00
Hai Brenner da7a05ecd8 Fix: UI now has command queue of size 1.
A new CommandPend class is introduced. It functions basically as
an ArrayBlockingQueue of size 1.
Difference is that it can handle two functions from two different threads
 - trample(cmd): removes the previously kept command (if there is such) and overrides it with the next command
 - offer(cmd): keeps the given command, but only if it doesn't currently keeps an older one

This new functionality is used so the UI can get commands from the controller
(but only take into account the latest one). At the same time it gets tick commands
from its clock ticker, but only keep and handle those if it doesn't have
a real controller command to handle.
2016-07-19 12:05:06 +03:00
Hai Brenner 1cf16d8386 Fix: output device now has queue of size 1. a newer command always overrides the previous one 2016-07-19 11:59:50 +03:00
Hai Brenner 88991ea9ff Refactor: some more comments, and better looking code in VotingBoothImpl.java 2016-07-12 15:32:22 +03:00
Hai Brenner 0956fa98d3 Refactor: add comments to VotingBoothImpl.java, and rename tasks to commands (because they were two names of the same thing)
Signed-off-by: Hai Brenner <haibrenner@gmail.com>
2016-07-12 15:23:46 +03:00
Hai Brenner 42d68b7ce8 Test: Add NetworkVirtualPrinterTest 2016-07-12 11:54:50 +03:00
Hai Brenner 5404bb9ed2 Fix error in setting name of output device thread 2016-07-12 11:51:16 +03:00
Hai Brenner f2836d277a Add polling-station project dependency to VB build.gradle for testing purposes 2016-07-12 11:50:21 +03:00
Hai Brenner 49551dc36b Merge branch 'master' into vbdev2
Conflicts:
	meerkat-common/src/main/proto/meerkat/voting.proto
2016-07-06 21:55:34 +03:00
Hai Brenner 88c4e0e644 Merge branch 'master' of https://cs.idc.ac.il/rhodecode/meerkat/meerkat-java 2016-07-06 21:45:35 +03:00
Hai Brenner d804f0dbac voting-booth gradle.build now has dependencies on jetty and RESTful API for testing purposes 2016-07-06 21:33:30 +03:00
Hai Brenner b1a033da5e Add the channel identifier to the PlaintextBallot, so it is now printed by the output device 2016-07-06 13:24:10 +03:00
Hai Brenner 853a6b5684 Another (final) Generics type fix 2016-07-04 16:05:52 +03:00
Hai Brenner 2336d44ffc reduced more compilation warnings by having better Generics type handling and better JavaDocs 2016-07-04 16:04:04 +03:00
Hai Brenner d8b766725b Removed many compilation warnings by having better handling of Generics types and better JavaDocs 2016-07-04 15:52:05 +03:00
Hai Brenner 218677fd96 added many comments and JavaDocs 2016-07-04 14:17:11 +03:00
Hai Brenner 2b56928e9a added some JavaDoc comments and documentation 2016-07-04 11:54:36 +03:00
Hai Brenner 7db6218735 fixed: access to the static system messages from the StorageManage class, rather than its instance 2016-07-04 11:53:28 +03:00
Hai Brenner 66e5db9f22 cleared some unnecessary imports 2016-07-04 11:51:49 +03:00
Hai Brenner 14fac728b3 1. ScannedData now has a Channel and a SignedEncryptedBallot attributes,
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.
2016-06-28 11:32:00 +03:00
Hai Brenner 3a5908ac49 A cancel by the voter is now sent to the execution flow as a Throwable
rather than an Exception.
2016-06-28 11:28:14 +03:00
Hai Brenner 438df78e36 Changed the ToySignature test file to match the new Signature interface. 2016-06-28 11:26:50 +03:00
Hai Brenner 4379921445 For some reason restful API did not appear in my gradle.build. It is fixed now. 2016-06-28 11:26:00 +03:00
Hai Brenner d12ad408c4 Merge branch 'master' into vbdev2
Conflicts:
	meerkat-common/src/main/proto/meerkat/voting.proto
2016-06-26 17:17:24 +03:00
Hai Brenner 06d69554d9 fixed some merge conflicts which appeared for some unknown reason 2016-06-26 17:07:03 +03:00
Hai Brenner 42ae18df00 Just added comments as part of the process to comment all the VB files.
Currently I commented the controller callbacks and commands packages, and
also the QuestionSelector component.
2016-06-21 15:37:20 +03:00
Hai Brenner e9732561f4 Removed the last dependency on the obsolete SystemMessages class.
This dependency was left by mistake.
We now read all the system messages of the VB from a protobuf file
using the StorageManager component.
2016-06-21 15:35:42 +03:00
Hai Brenner 19deec00bb a change of variable name to suggest its insignificance 2016-06-20 16:15:41 +03:00
Hai Brenner 559c714aac testing was changed according to the new interface of storage manager 2016-06-20 15:27:39 +03:00
Hai Brenner 2bdf92b075 Fixed some stuff according to Arbel's suggestions.
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
2016-06-20 15:26:53 +03:00
Hai Brenner 13f8948cfb change the output class to run as a thread.
It is now runnable and has its own queue of (also new) OutputCommands, and its own shutdown flag.
2016-06-15 19:32:05 +03:00
Hai Brenner 76d3fdeac2 Fixed the Selector classes.
Fixed the crypto classes to handle signatures as well.
Some more other fixes
2016-06-07 16:15:08 +03:00
Hai Brenner 94f3920e6d Many fixes, some are still only in temporary phase, according to what Arbel told me to do so far. 2016-05-23 14:43:01 +03:00
Hai Brenner e042779b15 Initial code for the Voting Booth.
Still missing components:
1. An implementation of the encryptor (currently program crashes when trying to encrypt the PlaintextBallot)
2. The output device implementation should change to a runnable thread (with commands queue as the ui)

Also needs to add comments EVERYWHERE.
2016-05-04 17:46:05 +03:00
Tal Moran 4f608e813d Code review comments and channges 2016-04-05 15:36:00 +03:00
Hai Brenner d1bc0d7c84 Some small changes according to code review 2016-03-18 10:22:05 +02:00
Hai Brenner 0fa5d4094a yet another take on the VB interfaces.
Interfaces were now shortened even more.
Many changes were made according to Arbel's instructions.
Most important change is now that the controller passes ALL questions for UI
to ask voter, instead of chunks of questions and back-and-forth messages
between the controller and UI which were always quite redundant.
2016-03-13 15:35:58 +02:00
Hai Brenner 15453a772d Changes made in the initial interfaces for further code review.
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
2016-03-02 19:52:17 +02:00
Hai Brenner 77f47fe9e1 First version of Voter Booth
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
2016-02-28 15:10:27 +02:00
Tal Moran b8cc3feedb EC encryption code; compiles but not tested 2015-11-22 03:16:35 +02:00
Tal Moran aaf26dc2b1 Removed application plugin from empty projects so that root-level build will work 2015-11-10 13:56:45 +02:00
Tal Moran c34e3b77c6 HelloWorld for protobuf-based servlet with integration test example 2015-11-10 01:49:17 +02:00
Tal Moran eb1230d719 Moved to multi-project gradle build; added (non-working) hello world for bulletin-board server using Jetty and Jersey 2015-11-09 16:01:59 +02:00