Skip to content
Snippets Groups Projects
Commit 52b255ed authored by Ramin Yaghoubzadeh Torky's avatar Ramin Yaghoubzadeh Torky
Browse files

Merge portb:/homes/hvanwelbergen/git_pool/ipaaca

parents 8cd1eff5 41fc6b2f
No related branches found
No related tags found
No related merge requests found
...@@ -161,7 +161,7 @@ public class ComponentNotifier ...@@ -161,7 +161,7 @@ public class ComponentNotifier
{ {
if(!isInitialized) 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))); .of(NOTIFY_CATEGORY)));
submitNotify(true); submitNotify(true);
isInitialized = true; isInitialized = true;
......
...@@ -46,7 +46,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -46,7 +46,7 @@ public class ComponentMessageCommunicationIntegrationTest
Set<String> categories = new ImmutableSet.Builder<String>().add(CATEGORY).build(); Set<String> categories = new ImmutableSet.Builder<String>().add(CATEGORY).build();
inBuffer = new InputBuffer("component2", categories); 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(); component2EventHandler = new CountingEventHandler();
component1EventHandler = new CountingEventHandler(); component1EventHandler = new CountingEventHandler();
inBuffer.registerHandler(new IUEventHandler(component2EventHandler, types, categories)); inBuffer.registerHandler(new IUEventHandler(component2EventHandler, types, categories));
...@@ -75,11 +75,11 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -75,11 +75,11 @@ public class ComponentMessageCommunicationIntegrationTest
AbstractIU iuIn = inBuffer.getIU(localIU.getUid()); AbstractIU iuIn = inBuffer.getIU(localIU.getUid());
assertNull(iuIn); assertNull(iuIn);
assertThat(localIU.getLinks("INIT"), containsInAnyOrder("init1", "init2")); assertThat(localIU.getLinks("INIT"), containsInAnyOrder("init1", "init2"));
assertEquals(1, component2EventHandler.getNumberOfAddEvents(localIU.getUid())); assertEquals(1, component2EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(0, component1EventHandler.getNumberOfAddEvents(localIU.getUid())); assertEquals(0, component1EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(1, component2EventHandler.getNumberOfAddEvents(localIU.getUid())); assertEquals(1, component2EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(0, component1EventHandler.getNumberOfAddEvents(localIU.getUid())); assertEquals(0, component1EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(localIU.getUid(), component2StoreHandler.getAddedIUs().get(0).getUid()); assertEquals(localIU.getUid(), component2StoreHandler.getMessageIUs().get(0).getUid());
} }
@Test @Test
...@@ -90,7 +90,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -90,7 +90,7 @@ public class ComponentMessageCommunicationIntegrationTest
Thread.sleep(200); Thread.sleep(200);
assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid())); assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid())); assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertFalse(component2StoreHandler.getAddedIUs().get(0).isCommitted()); assertFalse(component2StoreHandler.getMessageIUs().get(0).isCommitted());
} }
@Test @Test
...@@ -101,7 +101,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -101,7 +101,7 @@ public class ComponentMessageCommunicationIntegrationTest
Thread.sleep(200); Thread.sleep(200);
assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid())); assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid())); assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertTrue(component2StoreHandler.getAddedIUs().get(0).isCommitted()); assertTrue(component2StoreHandler.getMessageIUs().get(0).isCommitted());
} }
@Test @Test
...@@ -109,7 +109,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -109,7 +109,7 @@ public class ComponentMessageCommunicationIntegrationTest
{ {
outBuffer.add(localIU); outBuffer.add(localIU);
Thread.sleep(200); Thread.sleep(200);
AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0); AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0);
iuIn.commit(); iuIn.commit();
Thread.sleep(200); Thread.sleep(200);
...@@ -123,7 +123,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -123,7 +123,7 @@ public class ComponentMessageCommunicationIntegrationTest
{ {
outBuffer.add(localIU); outBuffer.add(localIU);
Thread.sleep(200); Thread.sleep(200);
AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0); AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0);
assertNull(iuIn.getPayload().get("key2")); assertNull(iuIn.getPayload().get("key2"));
localIU.getPayload().put("key2", "value2"); localIU.getPayload().put("key2", "value2");
...@@ -140,7 +140,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -140,7 +140,7 @@ public class ComponentMessageCommunicationIntegrationTest
outBuffer.add(localIU); outBuffer.add(localIU);
Thread.sleep(200); Thread.sleep(200);
AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0); AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0);
assertEquals("value2", iuIn.getPayload().get("key2")); assertEquals("value2", iuIn.getPayload().get("key2"));
} }
......
...@@ -10,6 +10,7 @@ import java.util.Map; ...@@ -10,6 +10,7 @@ import java.util.Map;
*/ */
final class CountingEventHandler implements HandlerFunctor 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> commitEvents = new HashMap<String,Integer>();
private Map<String,Integer> addEvents = new HashMap<String,Integer>(); private Map<String,Integer> addEvents = new HashMap<String,Integer>();
private Map<String,Integer> updateEvents = new HashMap<String,Integer>(); private Map<String,Integer> updateEvents = new HashMap<String,Integer>();
...@@ -33,6 +34,7 @@ final class CountingEventHandler implements HandlerFunctor ...@@ -33,6 +34,7 @@ final class CountingEventHandler implements HandlerFunctor
case ADDED: updateEventMap(iu.getUid(),addEvents); break; case ADDED: updateEventMap(iu.getUid(),addEvents); break;
case COMMITTED: updateEventMap(iu.getUid(),commitEvents); break; case COMMITTED: updateEventMap(iu.getUid(),commitEvents); break;
case UPDATED: updateEventMap(iu.getUid(),updateEvents); break; case UPDATED: updateEventMap(iu.getUid(),updateEvents); break;
case MESSAGE: updateEventMap(iu.getUid(),messageEvents);break;
case DELETED: case DELETED:
break; break;
case LINKSUPDATED: case LINKSUPDATED:
...@@ -70,4 +72,13 @@ final class CountingEventHandler implements HandlerFunctor ...@@ -70,4 +72,13 @@ final class CountingEventHandler implements HandlerFunctor
} }
return updateEvents.get(iu); 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
...@@ -201,7 +201,7 @@ public class JavaPythonTest ...@@ -201,7 +201,7 @@ public class JavaPythonTest
@Test @Test
public void testMessageFromPython()throws IOException, InterruptedException 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 String pypr = PYTHON_PREAMBLE
+"ob = ipaaca.OutputBuffer('pythonside')\n" +"ob = ipaaca.OutputBuffer('pythonside')\n"
+"iu = ipaaca.Message('JavaPythonTest')\n" +"iu = ipaaca.Message('JavaPythonTest')\n"
...@@ -210,7 +210,7 @@ public class JavaPythonTest ...@@ -210,7 +210,7 @@ public class JavaPythonTest
+"ob.add(iu)\n"; +"ob.add(iu)\n";
runPythonProgram(pypr); runPythonProgram(pypr);
Thread.sleep(200); Thread.sleep(200);
assertEquals(1,storeHandler.getAddedIUs().size()); assertEquals(1,storeHandler.getMessageIUs().size());
assertEquals("Hello from Python!", storeHandler.getAddedIUs().get(0).getPayload().get("data")); assertEquals("Hello from Python!", storeHandler.getMessageIUs().get(0).getPayload().get("data"));
} }
} }
...@@ -11,11 +11,17 @@ import java.util.List; ...@@ -11,11 +11,17 @@ import java.util.List;
public class StoringEventHandler implements HandlerFunctor public class StoringEventHandler implements HandlerFunctor
{ {
private List<AbstractIU> addedIUs = new ArrayList<AbstractIU>(); private List<AbstractIU> addedIUs = new ArrayList<AbstractIU>();
private List<AbstractIU> messageIUs = new ArrayList<AbstractIU>();
public List<AbstractIU> getAddedIUs() public List<AbstractIU> getAddedIUs()
{ {
return addedIUs; return addedIUs;
} }
public List<AbstractIU> getMessageIUs()
{
return messageIUs;
}
@Override @Override
public void handle(AbstractIU iu, IUEventType type, boolean local) public void handle(AbstractIU iu, IUEventType type, boolean local)
...@@ -25,6 +31,9 @@ public class StoringEventHandler implements HandlerFunctor ...@@ -25,6 +31,9 @@ public class StoringEventHandler implements HandlerFunctor
case ADDED: case ADDED:
addedIUs.add(iu); addedIUs.add(iu);
break; break;
case MESSAGE:
messageIUs.add(iu);
break;
case COMMITTED: case COMMITTED:
break; break;
case UPDATED: case UPDATED:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment