Changed the type of the message validator and reformated the classes in an appropriate way.
							parent
							
								
									d9272c9f94
								
							
						
					
					
						commit
						9828832553
					
				|  | @ -30,7 +30,7 @@ ext { | ||||||
|         nexusPassword = project.hasProperty('nexusPassword') ? project.property('nexusPassword') : "" |         nexusPassword = project.hasProperty('nexusPassword') ? project.property('nexusPassword') : "" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| description = "Meerkat Voter Registry application" | description = "Meerkat Voter RegistryUtils application" | ||||||
| 
 | 
 | ||||||
| // Your project version | // Your project version | ||||||
| version = "0.0" | version = "0.0" | ||||||
|  |  | ||||||
|  | @ -1,10 +1,12 @@ | ||||||
| package meerkat; | package meerkat; | ||||||
| 
 | 
 | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
| /** | /** | ||||||
|  * Provides the validation option for objects |  * Provides the validation option for objects | ||||||
|  * @param <T> |  * @param <T> | ||||||
|  */ |  */ | ||||||
| public interface MessageValidator<T> | public interface MessageValidator <T extends List<?>> | ||||||
| { | { | ||||||
|     /** |     /** | ||||||
|      * Throws ValidationError when no part of the object is valid else return the valid part |      * Throws ValidationError when no part of the object is valid else return the valid part | ||||||
|  |  | ||||||
|  | @ -1,10 +1,10 @@ | ||||||
| package meerkat; | package meerkat; | ||||||
| 
 | 
 | ||||||
| import com.google.protobuf.Timestamp; | import com.google.protobuf.Timestamp; | ||||||
| import meerkat.Registry.BooleanCallBack; | import meerkat.RegistryUtils.MessagesCallBack; | ||||||
| import meerkat.Registry.CollectionMessagesUtils; | import meerkat.RegistryUtils.CollectionMessagesUtils; | ||||||
| import meerkat.Registry.RegistryTags; | import meerkat.RegistryUtils.RegistryTags; | ||||||
| import meerkat.Registry.RelevantDataCallBack; | import meerkat.RegistryUtils.LatestMessagesCallBack; | ||||||
| import meerkat.bulletinboard.AsyncBulletinBoardClient; | import meerkat.bulletinboard.AsyncBulletinBoardClient; | ||||||
| import meerkat.crypto.DigitalSignature; | import meerkat.crypto.DigitalSignature; | ||||||
| import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; | import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; | ||||||
|  | @ -70,7 +70,7 @@ public class Registry implements VoterRegistry{ | ||||||
|                         .addTag(RegistryTags.VOTER_DATA_TAG + voterInfo.getInfo()) |                         .addTag(RegistryTags.VOTER_DATA_TAG + voterInfo.getInfo()) | ||||||
|                         .setTimestamp(Timestamp.newBuilder().setNanos((int) System.nanoTime()).build()); |                         .setTimestamp(Timestamp.newBuilder().setNanos((int) System.nanoTime()).build()); | ||||||
| 
 | 
 | ||||||
|         bulletinBoardClient.postMessage(CreateBulletinBoardMessage(basicMessage.build()), new BooleanCallBack(callback)); |         bulletinBoardClient.postMessage(CreateBulletinBoardMessage(basicMessage.build()), new MessagesCallBack(callback)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public void AddToGroups(VoterRegistryMessage voterGroup, RegistryCallBack callback) { |     public void AddToGroups(VoterRegistryMessage voterGroup, RegistryCallBack callback) { | ||||||
|  | @ -85,7 +85,7 @@ public class Registry implements VoterRegistry{ | ||||||
|             basicMessage.addTag(RegistryTags.GROUP_ID_TAG + voterGroup.getGroupID(i).getId()); |             basicMessage.addTag(RegistryTags.GROUP_ID_TAG + voterGroup.getGroupID(i).getId()); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         bulletinBoardClient.postMessage(CreateBulletinBoardMessage(basicMessage.build()), new BooleanCallBack(callback)); |         bulletinBoardClient.postMessage(CreateBulletinBoardMessage(basicMessage.build()), new MessagesCallBack(callback)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public void SetVoted(VoterID voterId, RegistryCallBack callback) { |     public void SetVoted(VoterID voterId, RegistryCallBack callback) { | ||||||
|  | @ -95,7 +95,7 @@ public class Registry implements VoterRegistry{ | ||||||
|                         .addTag(RegistryTags.VOTE_ACTION_TAG) |                         .addTag(RegistryTags.VOTE_ACTION_TAG) | ||||||
|                         .setTimestamp(Timestamp.newBuilder().setNanos((int) System.nanoTime()).build()); |                         .setTimestamp(Timestamp.newBuilder().setNanos((int) System.nanoTime()).build()); | ||||||
| 
 | 
 | ||||||
|         bulletinBoardClient.postMessage(CreateBulletinBoardMessage(basicMessage.build()), new BooleanCallBack(callback)); |         bulletinBoardClient.postMessage(CreateBulletinBoardMessage(basicMessage.build()), new MessagesCallBack(callback)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public void GetGroups(GroupID groupID, RegistryCallBack callback) { |     public void GetGroups(GroupID groupID, RegistryCallBack callback) { | ||||||
|  | @ -103,7 +103,7 @@ public class Registry implements VoterRegistry{ | ||||||
|            add(RegistryTags.GROUP_ID_TAG + groupID.getId()); |            add(RegistryTags.GROUP_ID_TAG + groupID.getId()); | ||||||
|         }}; |         }}; | ||||||
|         bulletinBoardClient.readMessages(CollectionMessagesUtils.GenerateFiltersFromTags(GroupsActionsTags), |         bulletinBoardClient.readMessages(CollectionMessagesUtils.GenerateFiltersFromTags(GroupsActionsTags), | ||||||
|                 new RelevantDataCallBack(callback, signer, signature, certificateStream)); |                 new LatestMessagesCallBack(callback, signer, signature, certificateStream)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public void GetPersonIDDetails(VoterID voterID, RegistryCallBack callback) { |     public void GetPersonIDDetails(VoterID voterID, RegistryCallBack callback) { | ||||||
|  | @ -112,6 +112,6 @@ public class Registry implements VoterRegistry{ | ||||||
|             add(RegistryTags.VOTER_ENTRY_TAG); |             add(RegistryTags.VOTER_ENTRY_TAG); | ||||||
|         }}; |         }}; | ||||||
|         bulletinBoardClient.readMessages(CollectionMessagesUtils.GenerateFiltersFromTags(GroupsActionsTags), |         bulletinBoardClient.readMessages(CollectionMessagesUtils.GenerateFiltersFromTags(GroupsActionsTags), | ||||||
|                 new RelevantDataCallBack(callback, signer, signature, certificateStream)); |                 new LatestMessagesCallBack(callback, signer, signature, certificateStream)); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,8 +1,7 @@ | ||||||
| package meerkat.Registry; | package meerkat.RegistryUtils; | ||||||
| 
 | 
 | ||||||
| import com.google.protobuf.InvalidProtocolBufferException; | import com.google.protobuf.InvalidProtocolBufferException; | ||||||
| import meerkat.protobuf.BulletinBoardAPI.*; | import meerkat.protobuf.BulletinBoardAPI.*; | ||||||
| import meerkat.protobuf.VoterRegistry; |  | ||||||
| 
 | 
 | ||||||
| import java.text.ParseException; | import java.text.ParseException; | ||||||
| import java.util.*; | import java.util.*; | ||||||
|  | @ -46,16 +45,9 @@ public abstract class CollectionMessagesUtils { | ||||||
|      */ |      */ | ||||||
|     private static boolean FirstBeforeSecond(BulletinBoardMessage message1, BulletinBoardMessage message2) |     private static boolean FirstBeforeSecond(BulletinBoardMessage message1, BulletinBoardMessage message2) | ||||||
|             throws InvalidProtocolBufferException { |             throws InvalidProtocolBufferException { | ||||||
|         try { |             int firstCreationTime =  message1.getMsg().getTimestamp().getNanos(); | ||||||
|             long firstCreationTime =  VoterRegistry.VoterRegistryMessage.newBuilder() |             long secondCreationTime = message2.getMsg().getTimestamp().getNanos(); | ||||||
|                     .mergeFrom(message1.getMsg().getData()).build().getCreationMiliseconds(); |  | ||||||
|             long secondCreationTime = VoterRegistry.VoterRegistryMessage.newBuilder() |  | ||||||
|                     .mergeFrom(message2.getMsg().getData()).build().getCreationMiliseconds(); |  | ||||||
|             return firstCreationTime < secondCreationTime; |             return firstCreationTime < secondCreationTime; | ||||||
|         } catch (InvalidProtocolBufferException e) { |  | ||||||
|             e.printStackTrace(); |  | ||||||
|             throw e; |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package meerkat.Registry; | package meerkat.RegistryUtils; | ||||||
| 
 | 
 | ||||||
| import com.google.common.util.concurrent.FutureCallback; | import com.google.common.util.concurrent.FutureCallback; | ||||||
| import com.google.protobuf.InvalidProtocolBufferException; | import com.google.protobuf.InvalidProtocolBufferException; | ||||||
|  | @ -18,7 +18,7 @@ import java.util.ArrayList; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| 
 | 
 | ||||||
| import static meerkat.Registry.CollectionMessagesUtils.*; | import static meerkat.RegistryUtils.CollectionMessagesUtils.*; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * TODO : add logging |  * TODO : add logging | ||||||
|  | @ -26,24 +26,24 @@ import static meerkat.Registry.CollectionMessagesUtils.*; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * Created by Vladimir Eliezer Tokarev  on 2/19/2016. |  * Created by Vladimir Eliezer Tokarev  on 2/19/2016. | ||||||
|  * Object that handles the GetGroups or the GetPersonIDDetails of the simpleRegistry |  * Gets latest data from given List<BulletinBoardMessage> | ||||||
|  */ |  */ | ||||||
| public class RelevantDataCallBack implements FutureCallback<List<BulletinBoardMessage>>, MessageValidator<List<BulletinBoardMessage>> { | public class LatestMessagesCallBack implements FutureCallback<List<BulletinBoardMessage>>, MessageValidator<List<BulletinBoardMessage>> { | ||||||
|     public RegistryCallBack callback; |     public RegistryCallBack callback; | ||||||
|     protected DigitalSignature validator; |     protected DigitalSignature validator; | ||||||
|     protected Crypto.Signature signature; |     protected Crypto.Signature signature; | ||||||
|     protected InputStream certificateStream; |     protected InputStream certificateStream; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * Init BooleanCallBack |      * Init MessagesCallBack | ||||||
|      * @param callback  voter registry callback object |      * @param callback  voter registry callback object | ||||||
|      * @param validator DigitalSignature object |      * @param validator DigitalSignature object | ||||||
|      * @param signature Crypto.Signature object |      * @param signature Crypto.Signature object | ||||||
|      */ |      */ | ||||||
|     public RelevantDataCallBack(RegistryCallBack callback, |     public LatestMessagesCallBack(RegistryCallBack callback, | ||||||
|                                 DigitalSignature validator, |                                   DigitalSignature validator, | ||||||
|                                 Crypto.Signature signature, |                                   Crypto.Signature signature, | ||||||
|                                 InputStream certificateStream) { |                                   InputStream certificateStream) { | ||||||
|         this.callback = callback; |         this.callback = callback; | ||||||
|         this.validator = validator; |         this.validator = validator; | ||||||
|         this.signature = signature; |         this.signature = signature; | ||||||
|  | @ -1,7 +1,6 @@ | ||||||
| package meerkat.Registry; | package meerkat.RegistryUtils; | ||||||
| 
 | 
 | ||||||
| import com.google.common.util.concurrent.FutureCallback; | import com.google.common.util.concurrent.FutureCallback; | ||||||
| import meerkat.MessageValidator; |  | ||||||
| import meerkat.VoterRegistry; | import meerkat.VoterRegistry; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | @ -12,14 +11,15 @@ import meerkat.VoterRegistry; | ||||||
|  * Created by Vladimir Eliezer Tokarev  on 2/19/2016. |  * Created by Vladimir Eliezer Tokarev  on 2/19/2016. | ||||||
|  * Handles the the after post state of VoterRegistry methods (that uses bulletinBoardClient to communicate with the server) |  * Handles the the after post state of VoterRegistry methods (that uses bulletinBoardClient to communicate with the server) | ||||||
|  */ |  */ | ||||||
| public class BooleanCallBack implements FutureCallback<Boolean>, MessageValidator<Boolean> { | public class MessagesCallBack implements FutureCallback<Boolean> | ||||||
|  | { | ||||||
|     public VoterRegistry.RegistryCallBack callback; |     public VoterRegistry.RegistryCallBack callback; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * Init BooleanCallBack |      * Init MessagesCallBack | ||||||
|      * @param callback  voter registry callback object |      * @param callback  voter registry callback object | ||||||
|      */ |      */ | ||||||
|     public BooleanCallBack(VoterRegistry.RegistryCallBack callback) { |     public MessagesCallBack(VoterRegistry.RegistryCallBack callback) { | ||||||
|         this.callback = callback; |         this.callback = callback; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -42,15 +42,4 @@ public class BooleanCallBack implements FutureCallback<Boolean>, MessageValidato | ||||||
|     public void onFailure(Throwable t) { |     public void onFailure(Throwable t) { | ||||||
|         callback.HandleFailure(t); |         callback.HandleFailure(t); | ||||||
|     } |     } | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * always return true because there no n |  | ||||||
|      * @param object object which will be checked |  | ||||||
|      * @return alwyas true |  | ||||||
|      * @throws ValidationError |  | ||||||
|      */ |  | ||||||
|     @Override |  | ||||||
|     public Boolean validate(Boolean object) throws ValidationError { |  | ||||||
|         return true; |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package meerkat.Registry; | package meerkat.RegistryUtils; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | @ -2,8 +2,8 @@ import com.google.common.util.concurrent.FutureCallback; | ||||||
| import com.google.protobuf.InvalidProtocolBufferException; | import com.google.protobuf.InvalidProtocolBufferException; | ||||||
| import junit.framework.TestCase; | import junit.framework.TestCase; | ||||||
| import meerkat.Registry; | import meerkat.Registry; | ||||||
| import meerkat.Registry.CollectionMessagesUtils; | import meerkat.RegistryUtils.CollectionMessagesUtils; | ||||||
| import meerkat.Registry.RegistryTags; | import meerkat.RegistryUtils.RegistryTags; | ||||||
| import meerkat.bulletinboard.AsyncBulletinBoardClient; | import meerkat.bulletinboard.AsyncBulletinBoardClient; | ||||||
| import meerkat.bulletinboard.ThreadedBulletinBoardClient; | import meerkat.bulletinboard.ThreadedBulletinBoardClient; | ||||||
| import meerkat.crypto.concrete.ECDSASignature; | import meerkat.crypto.concrete.ECDSASignature; | ||||||
|  | @ -29,7 +29,7 @@ import java.util.concurrent.Semaphore; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * Created by Vladimir Eliezer Tokarev on 1/16/2016. |  * Created by Vladimir Eliezer Tokarev on 1/16/2016. | ||||||
|  * Tests the Simple Registry contents |  * Tests the Simple RegistryUtils contents | ||||||
|  * NOTE: for most of this tests to pass there should run BulletinBoardServer |  * NOTE: for most of this tests to pass there should run BulletinBoardServer | ||||||
|  * that should be reachable on BULLETIN_BOARD_SERVER_ADDRESS |  * that should be reachable on BULLETIN_BOARD_SERVER_ADDRESS | ||||||
|  */ |  */ | ||||||
|  | @ -114,7 +114,7 @@ public class SimpleRegistryTest extends TestCase { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * Initialize Registry object |      * Initialize RegistryUtils object | ||||||
|      */ |      */ | ||||||
|     public void setUp() { |     public void setUp() { | ||||||
|         SetSigner(); |         SetSigner(); | ||||||
|  | @ -130,7 +130,7 @@ public class SimpleRegistryTest extends TestCase { | ||||||
|         try { |         try { | ||||||
|             new Registry(signer, bulletinBoardClient, certStream); |             new Registry(signer, bulletinBoardClient, certStream); | ||||||
|         } catch (Exception e) { |         } catch (Exception e) { | ||||||
|             assert false : "While creating the Registry exception have been thrown " + e; |             assert false : "While creating the RegistryUtils exception have been thrown " + e; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue