From 41fc6b2f9dbf6ebcd70dcaac534087ae1c7bce4c Mon Sep 17 00:00:00 2001 From: Herwin van Welbergen <hvanwelbergen@TechFak.Uni-Bielefeld.DE> Date: Thu, 21 Nov 2013 15:32:42 +0100 Subject: [PATCH] test fixes, notifier listening to messages --- .../src/ipaaca/util/ComponentNotifier.java | 2 +- ...ntMessageCommunicationIntegrationTest.java | 22 +++++++++---------- .../test/src/ipaaca/CountingEventHandler.java | 11 ++++++++++ .../java/test/src/ipaaca/JavaPythonTest.java | 6 ++--- .../test/src/ipaaca/StoringEventHandler.java | 9 ++++++++ 5 files changed, 35 insertions(+), 15 deletions(-) diff --git a/ipaacalib/java/src/ipaaca/util/ComponentNotifier.java b/ipaacalib/java/src/ipaaca/util/ComponentNotifier.java index d08f96a..6fbebdc 100644 --- a/ipaacalib/java/src/ipaaca/util/ComponentNotifier.java +++ b/ipaacalib/java/src/ipaaca/util/ComponentNotifier.java @@ -161,7 +161,7 @@ public class ComponentNotifier { if(!isInitialized) { - inBuffer.registerHandler(new IUEventHandler(new ComponentNotifyHandler(), EnumSet.of(IUEventType.ADDED), ImmutableSet + inBuffer.registerHandler(new IUEventHandler(new ComponentNotifyHandler(), EnumSet.of(IUEventType.ADDED, IUEventType.MESSAGE), ImmutableSet .of(NOTIFY_CATEGORY))); submitNotify(true); isInitialized = true; diff --git a/ipaacalib/java/test/src/ipaaca/ComponentMessageCommunicationIntegrationTest.java b/ipaacalib/java/test/src/ipaaca/ComponentMessageCommunicationIntegrationTest.java index f678a12..e4934ae 100644 --- a/ipaacalib/java/test/src/ipaaca/ComponentMessageCommunicationIntegrationTest.java +++ b/ipaacalib/java/test/src/ipaaca/ComponentMessageCommunicationIntegrationTest.java @@ -46,7 +46,7 @@ public class ComponentMessageCommunicationIntegrationTest Set<String> categories = new ImmutableSet.Builder<String>().add(CATEGORY).build(); inBuffer = new InputBuffer("component2", categories); - EnumSet<IUEventType> types = EnumSet.of(IUEventType.ADDED, IUEventType.COMMITTED, IUEventType.UPDATED); + EnumSet<IUEventType> types = EnumSet.of(IUEventType.ADDED, IUEventType.COMMITTED, IUEventType.UPDATED, IUEventType.MESSAGE); component2EventHandler = new CountingEventHandler(); component1EventHandler = new CountingEventHandler(); inBuffer.registerHandler(new IUEventHandler(component2EventHandler, types, categories)); @@ -75,11 +75,11 @@ public class ComponentMessageCommunicationIntegrationTest AbstractIU iuIn = inBuffer.getIU(localIU.getUid()); assertNull(iuIn); assertThat(localIU.getLinks("INIT"), containsInAnyOrder("init1", "init2")); - assertEquals(1, component2EventHandler.getNumberOfAddEvents(localIU.getUid())); - assertEquals(0, component1EventHandler.getNumberOfAddEvents(localIU.getUid())); - assertEquals(1, component2EventHandler.getNumberOfAddEvents(localIU.getUid())); - assertEquals(0, component1EventHandler.getNumberOfAddEvents(localIU.getUid())); - assertEquals(localIU.getUid(), component2StoreHandler.getAddedIUs().get(0).getUid()); + assertEquals(1, component2EventHandler.getNumberOfMessageEvents(localIU.getUid())); + assertEquals(0, component1EventHandler.getNumberOfMessageEvents(localIU.getUid())); + assertEquals(1, component2EventHandler.getNumberOfMessageEvents(localIU.getUid())); + assertEquals(0, component1EventHandler.getNumberOfMessageEvents(localIU.getUid())); + assertEquals(localIU.getUid(), component2StoreHandler.getMessageIUs().get(0).getUid()); } @Test @@ -90,7 +90,7 @@ public class ComponentMessageCommunicationIntegrationTest Thread.sleep(200); assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid())); assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid())); - assertFalse(component2StoreHandler.getAddedIUs().get(0).isCommitted()); + assertFalse(component2StoreHandler.getMessageIUs().get(0).isCommitted()); } @Test @@ -101,7 +101,7 @@ public class ComponentMessageCommunicationIntegrationTest Thread.sleep(200); assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid())); assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid())); - assertTrue(component2StoreHandler.getAddedIUs().get(0).isCommitted()); + assertTrue(component2StoreHandler.getMessageIUs().get(0).isCommitted()); } @Test @@ -109,7 +109,7 @@ public class ComponentMessageCommunicationIntegrationTest { outBuffer.add(localIU); Thread.sleep(200); - AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0); + AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0); iuIn.commit(); Thread.sleep(200); @@ -123,7 +123,7 @@ public class ComponentMessageCommunicationIntegrationTest { outBuffer.add(localIU); Thread.sleep(200); - AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0); + AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0); assertNull(iuIn.getPayload().get("key2")); localIU.getPayload().put("key2", "value2"); @@ -140,7 +140,7 @@ public class ComponentMessageCommunicationIntegrationTest outBuffer.add(localIU); Thread.sleep(200); - AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0); + AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0); assertEquals("value2", iuIn.getPayload().get("key2")); } diff --git a/ipaacalib/java/test/src/ipaaca/CountingEventHandler.java b/ipaacalib/java/test/src/ipaaca/CountingEventHandler.java index f661040..08a06f6 100644 --- a/ipaacalib/java/test/src/ipaaca/CountingEventHandler.java +++ b/ipaacalib/java/test/src/ipaaca/CountingEventHandler.java @@ -10,6 +10,7 @@ import java.util.Map; */ final class CountingEventHandler implements HandlerFunctor { + private Map<String,Integer> messageEvents = new HashMap<String,Integer>(); private Map<String,Integer> commitEvents = new HashMap<String,Integer>(); private Map<String,Integer> addEvents = new HashMap<String,Integer>(); private Map<String,Integer> updateEvents = new HashMap<String,Integer>(); @@ -33,6 +34,7 @@ final class CountingEventHandler implements HandlerFunctor case ADDED: updateEventMap(iu.getUid(),addEvents); break; case COMMITTED: updateEventMap(iu.getUid(),commitEvents); break; case UPDATED: updateEventMap(iu.getUid(),updateEvents); break; + case MESSAGE: updateEventMap(iu.getUid(),messageEvents);break; case DELETED: break; case LINKSUPDATED: @@ -70,4 +72,13 @@ final class CountingEventHandler implements HandlerFunctor } return updateEvents.get(iu); } + + public int getNumberOfMessageEvents(String iu) + { + if(!messageEvents.containsKey(iu)) + { + return 0; + } + return messageEvents.get(iu); + } } \ No newline at end of file diff --git a/ipaacalib/java/test/src/ipaaca/JavaPythonTest.java b/ipaacalib/java/test/src/ipaaca/JavaPythonTest.java index 95bb779..92f0b67 100644 --- a/ipaacalib/java/test/src/ipaaca/JavaPythonTest.java +++ b/ipaacalib/java/test/src/ipaaca/JavaPythonTest.java @@ -201,7 +201,7 @@ public class JavaPythonTest @Test public void testMessageFromPython()throws IOException, InterruptedException { - inBuffer.registerHandler(new IUEventHandler(storeHandler,EnumSet.of(IUEventType.ADDED),ImmutableSet.of("JavaPythonTest"))); + inBuffer.registerHandler(new IUEventHandler(storeHandler,EnumSet.of(IUEventType.ADDED, IUEventType.MESSAGE),ImmutableSet.of("JavaPythonTest"))); String pypr = PYTHON_PREAMBLE +"ob = ipaaca.OutputBuffer('pythonside')\n" +"iu = ipaaca.Message('JavaPythonTest')\n" @@ -210,7 +210,7 @@ public class JavaPythonTest +"ob.add(iu)\n"; runPythonProgram(pypr); Thread.sleep(200); - assertEquals(1,storeHandler.getAddedIUs().size()); - assertEquals("Hello from Python!", storeHandler.getAddedIUs().get(0).getPayload().get("data")); + assertEquals(1,storeHandler.getMessageIUs().size()); + assertEquals("Hello from Python!", storeHandler.getMessageIUs().get(0).getPayload().get("data")); } } diff --git a/ipaacalib/java/test/src/ipaaca/StoringEventHandler.java b/ipaacalib/java/test/src/ipaaca/StoringEventHandler.java index 7ba5f5b..b95c4f5 100644 --- a/ipaacalib/java/test/src/ipaaca/StoringEventHandler.java +++ b/ipaacalib/java/test/src/ipaaca/StoringEventHandler.java @@ -11,11 +11,17 @@ import java.util.List; public class StoringEventHandler implements HandlerFunctor { private List<AbstractIU> addedIUs = new ArrayList<AbstractIU>(); + private List<AbstractIU> messageIUs = new ArrayList<AbstractIU>(); public List<AbstractIU> getAddedIUs() { return addedIUs; } + + public List<AbstractIU> getMessageIUs() + { + return messageIUs; + } @Override public void handle(AbstractIU iu, IUEventType type, boolean local) @@ -25,6 +31,9 @@ public class StoringEventHandler implements HandlerFunctor case ADDED: addedIUs.add(iu); break; + case MESSAGE: + messageIUs.add(iu); + break; case COMMITTED: break; case UPDATED: -- GitLab