Created the SimpleRegistry file

SimpleRegistry expose the ability of manging voters information (their groups, and personal data)
vote-registry
Vladimir Eliezer Tokarev 2016-01-08 10:09:19 -08:00
parent 4aa6c25c0f
commit 070b851203
3 changed files with 138 additions and 14 deletions

View File

@ -30,7 +30,7 @@ ext {
nexusPassword = project.hasProperty('nexusPassword') ? project.property('nexusPassword') : ""
}
description = "Meerkat Voter Registry application"
description = "Meerkat Voter SimpleRegistry application"
// Your project version
version = "0.0"

View File

@ -1,13 +0,0 @@
package meerkat;
import meerkat.ProtobufsMessages.*;
/**
* Created by Vladimir Eliezer Tokarev on 1/8/2016.
*
*/
public class Registry {
public boolean TryAddVoter(String voterID, String personalData) throws IllegalArgumentException{
private
}
}

View File

@ -0,0 +1,137 @@
package meerkat;
import meerkat.ProtobufsMessages.*;
import meerkat.comm.CommunicationException;
import java.util.List;
/**
* Created by Vladimir Eliezer Tokarev on 1/8/2016.
* Gives the ability to manage voters information
* This object is synchronous (which meaning its method blocking)
*/
public class SimpleRegistry {
public SimpleRegistry(){
// inits the encoding object
// inits the connection data
}
/**
* Tries to add new voter to the bulletin-board
* @param voterID
* @param personalData for example residence location
* @throws throws CommunicationException
* @return true if the adding action succeeded else return false
*/
public boolean AddVoter(String voterID, String personalData) throws CommunicationException {
/**
* try:
* Create basic message for adding new voter
* Create bulletin board message using CreateBulletinBoardMessage
* use SimpleBulletinBoardClient.PostMessage to send the message
* return true
* catch exception:
* return false
*/
}
/**
* Tries adding given voter to given group
* @param voterID
* @param groupID
* @throws CommunicationException
* @return true if the adding action succeeded else return false
*/
public boolean AddToGroup(String voterID, String groupID) throws CommunicationException {
/**
* try:
* Create basic message for adding the given voter to the wanted group
* Create bulletin board message using CreateBulletinBoardMessage
* use SimpleBulletinBoardClient.PostMessage to send the message
* return true
* catch exception:
* return false
*/
}
/**
* Tries remove given voter from given group
* @param voterID
* @param groupID
* @return true if the removing action succeeded else return false
* @throws CommunicationException
*/
public boolean RemoveFromGroup(String voterID, String groupID) throws CommunicationException {
/**
* try:
* Create basic message for removing the given voter from the wanted group
* Create bulletin board message using CreateBulletinBoardMessage
* use SimpleBulletinBoardClient.PostMessage to send the message
* return true
* catch exception:
* return false
*/
}
/**
* Tries to set that the voter have voted
* @param id
* @return true if the set voted succeded else false
* @throws CommunicationException
*/
public boolean SetVoted(String id) throws CommunicationException {
/**
* try:
* Create basic message set voted
* Create bulletin board message using CreateBulletinBoardMessage
* use SimpleBulletinBoardClient.PostMessage to send the message
* return true
* catch exception:
* return false
*/
}
/**
* Craetes bulletin board message from basic message (with the signatures parts)
* @param basicMessage array of bytes
* @return
*/
private byte[] CreateBulletinBoardMessage(byte[] basicMessage) {
/**
* encode the basic message
* create bulletin board message
* put the basic message in bulletin board message
* put the encoded messages signature into the bulletin board message
* return the bulletin board message
*/
}
/**
* Requests all the groups that the given id voter is in
* @param ID
* @return list of groups ids (or names), if the method fails its empty
* @throws CommunicationException
*/
public List<String> GetGroups(String ID) throws CommunicationException {
/**
* Retrieve all List<BulletinBoardMessage> that contains this id
* creates new list of strings with the names of the group
* Returns the created list
*/
}
/**
* Retreives list of strings that represents voter
* @param id
* @return list of strings (empty list if the lookup failed)
* @throws CommunicationException
*/
public List<String> GetPersonIDDetails(String id) throws CommunicationException {
/**
* Retreive all List<BulletinBoardMessage> that contains this id
* search for message with the wanted personal data
* Create list with personal data
* return the list
*/
}
}