aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/gnunet/voting/RegisterCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/gnunet/voting/RegisterCommand.java')
-rw-r--r--src/main/java/org/gnunet/voting/RegisterCommand.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/main/java/org/gnunet/voting/RegisterCommand.java b/src/main/java/org/gnunet/voting/RegisterCommand.java
index f9d4c4d..1878c48 100644
--- a/src/main/java/org/gnunet/voting/RegisterCommand.java
+++ b/src/main/java/org/gnunet/voting/RegisterCommand.java
@@ -49,16 +49,18 @@ import org.gnunet.mesh.TunnelEndHandler;
49import org.gnunet.testbed.CompressedConfig; 49import org.gnunet.testbed.CompressedConfig;
50import org.gnunet.util.Configuration; 50import org.gnunet.util.Configuration;
51import org.gnunet.util.PeerIdentity; 51import org.gnunet.util.PeerIdentity;
52import org.gnunet.voting.messages.BallotRegisterFailureMessage;
52import org.gnunet.voting.messages.BallotRegisterRequestMessage; 53import org.gnunet.voting.messages.BallotRegisterRequestMessage;
53import org.gnunet.voting.messages.BallotRegisterRespondMessage; 54import org.gnunet.voting.messages.BallotRegisterSuccessMessage;
54import org.gnunet.voting.messages.SubmitMessage;
55import org.gnunet.voting.messages.SubmitResponseMessage;
56 55
57import java.io.File; 56import java.io.File;
58import java.io.IOException; 57import java.io.IOException;
59import java.util.List; 58import java.util.List;
60import java.util.Random; 59import java.util.Random;
61 60
61/**
62 * Command for registering a ballot with an authority.
63 */
62public class RegisterCommand extends MeshRunabout implements TunnelEndHandler { 64public class RegisterCommand extends MeshRunabout implements TunnelEndHandler {
63 private final String ballotFilename; 65 private final String ballotFilename;
64 private Ballot ballot; 66 private Ballot ballot;
@@ -74,9 +76,9 @@ public class RegisterCommand extends MeshRunabout implements TunnelEndHandler {
74 throw new AssertionError(); 76 throw new AssertionError();
75 } 77 }
76 78
77 public void visit(BallotRegisterRespondMessage m) { 79 public void visit(BallotRegisterSuccessMessage m) {
78 submitted = true; 80 submitted = true;
79 System.out.println("vote successfully registered"); 81 System.out.println("ballot successfully registered");
80 ballot.addRegistrationSignature(currentAuthority, m.registrationSignature); 82 ballot.addRegistrationSignature(currentAuthority, m.registrationSignature);
81 try { 83 try {
82 Files.write(ballot.serialize(), new File(ballotFilename), Charsets.UTF_8); 84 Files.write(ballot.serialize(), new File(ballotFilename), Charsets.UTF_8);
@@ -88,6 +90,14 @@ public class RegisterCommand extends MeshRunabout implements TunnelEndHandler {
88 mesh.destroy(); 90 mesh.destroy();
89 } 91 }
90 92
93
94 public void visit(BallotRegisterFailureMessage m) {
95 submitted = true;
96 System.out.println("registering failed: " + m.reason);
97 tunnel.destroy();
98 mesh.destroy();
99 }
100
91 public RegisterCommand(Configuration cfg, String ballotFilename) { 101 public RegisterCommand(Configuration cfg, String ballotFilename) {
92 this.cfg = cfg; 102 this.cfg = cfg;
93 this.ballotFilename = ballotFilename; 103 this.ballotFilename = ballotFilename;