From 5cd9b202b8c7313ad10187d4ced9679335ec6620 Mon Sep 17 00:00:00 2001 From: Ramin Yaghoubzadeh <ryaghoubzadeh@uni-bielefeld.de> Date: Tue, 28 Jan 2014 15:59:17 +0100 Subject: [PATCH] Java: using concurrent hash maps; Py: Added new ivy files --- ipaacalib/java/src/ipaaca/IUStore.java | 4 ++-- ipaacalib/java/src/ipaaca/InputBuffer.java | 8 ++++++++ ipaacalib/python/ivy.xml | 2 ++ ipaacalib/python/test/ivy.xml | 2 ++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ipaacalib/java/src/ipaaca/IUStore.java b/ipaacalib/java/src/ipaaca/IUStore.java index 0edc347..a81b9b1 100644 --- a/ipaacalib/java/src/ipaaca/IUStore.java +++ b/ipaacalib/java/src/ipaaca/IUStore.java @@ -32,7 +32,7 @@ package ipaaca; -import java.util.HashMap; +import java.util.concurrent.ConcurrentHashMap; /** * An IUStore maps an IUid to an IU @@ -40,7 +40,7 @@ import java.util.HashMap; * * @param <X> type of AbstractIU stored in the store */ -public class IUStore<X extends AbstractIU> extends HashMap<String, X> +public class IUStore<X extends AbstractIU> extends ConcurrentHashMap<String, X> { private static final long serialVersionUID = 1L; } diff --git a/ipaacalib/java/src/ipaaca/InputBuffer.java b/ipaacalib/java/src/ipaaca/InputBuffer.java index de2be72..1a3bdb4 100644 --- a/ipaacalib/java/src/ipaaca/InputBuffer.java +++ b/ipaacalib/java/src/ipaaca/InputBuffer.java @@ -269,8 +269,16 @@ public class InputBuffer extends Buffer if (event.getData() instanceof RemoteMessageIU) { RemoteMessageIU rm = (RemoteMessageIU) event.getData(); + if (messageStore.containsKey(rm.getUid())) { + logger.warn("Spurious RemoteMessage event: already got this UID: "+rm.getUid()); + return; + } + + //logger.info("Adding Message "+rm.getUid()); messageStore.put(rm.getUid(), rm); + //logger.info("Calling handlers for Message "+rm.getUid()); callIuEventHandlers(rm.getUid(),false, IUEventType.MESSAGE, rm.getCategory()); + //logger.info("Removing Message "+rm.getUid()); messageStore.remove(rm.getUid()); } else if (event.getData() instanceof RemotePushIU) diff --git a/ipaacalib/python/ivy.xml b/ipaacalib/python/ivy.xml index 6746fd8..e559706 100644 --- a/ipaacalib/python/ivy.xml +++ b/ipaacalib/python/ivy.xml @@ -6,6 +6,8 @@ <dependencies> <dependency org="google" name="protobuf-python" rev="latest.release"/> <dependency org="rsb" name="rsb-python" rev="latest.release"/> + <dependency org="spread" name="spread" rev="latest.release"/> </dependencies> </ivy-module> + diff --git a/ipaacalib/python/test/ivy.xml b/ipaacalib/python/test/ivy.xml index 1e4d577..03db403 100644 --- a/ipaacalib/python/test/ivy.xml +++ b/ipaacalib/python/test/ivy.xml @@ -3,5 +3,7 @@ <dependencies> <dependency org="hamcrest" name="hamcrest-python" rev="latest.release"/> <dependency org="mockito" name="mockito-python" rev="latest.release" /> + <dependency org="nose" name="nose" rev="latest.release" /> </dependencies> </ivy-module> + -- GitLab