From 2fec32286192f6a774c65272067447a03497db4e Mon Sep 17 00:00:00 2001 From: Ramin Yaghoubzadeh <ryaghoubzadeh@uni-bielefeld.de> Date: Thu, 21 Nov 2013 13:41:31 +0100 Subject: [PATCH] Mainly: updated the injector script --- ipaacalib/java/ivy.xml | 6 ++-- ipaacalib/java/src/ipaaca/IUEventType.java | 2 +- ipaacalib/java/src/ipaaca/InputBuffer.java | 4 ++- ipaacatools/scripts/ipaaca-iu-injector.py | 38 ++++++++++++++++++---- 4 files changed, 38 insertions(+), 12 deletions(-) diff --git a/ipaacalib/java/ivy.xml b/ipaacalib/java/ivy.xml index 918ed49..8023c27 100644 --- a/ipaacalib/java/ivy.xml +++ b/ipaacalib/java/ivy.xml @@ -6,8 +6,8 @@ <dependencies> <dependency org="slf4j" name="slf4j-api" rev="latest.release" /> <dependency org="google" name="guava" rev="latest.release" /> - <dependency org="google" name="protobuf-java" rev="latest.release" /> - <dependency org="rsb" name="rsb" rev="latest.release" /> - <dependency org="lombok" name="lombok" rev="latest.release" /> + <dependency org="google" name="protobuf-java" rev="latest.release" /> + <dependency org="rsb" name="rsb" rev="latest.release" /> + <dependency org="lombok" name="lombok" rev="latest.release" /> </dependencies> </ivy-module> diff --git a/ipaacalib/java/src/ipaaca/IUEventType.java b/ipaacalib/java/src/ipaaca/IUEventType.java index fd6f481..3cbdd63 100644 --- a/ipaacalib/java/src/ipaaca/IUEventType.java +++ b/ipaacalib/java/src/ipaaca/IUEventType.java @@ -34,5 +34,5 @@ package ipaaca; public enum IUEventType { - ADDED, COMMITTED, DELETED, RETRACTED, UPDATED, LINKSUPDATED; + ADDED, COMMITTED, DELETED, RETRACTED, UPDATED, LINKSUPDATED, MESSAGE; } diff --git a/ipaacalib/java/src/ipaaca/InputBuffer.java b/ipaacalib/java/src/ipaaca/InputBuffer.java index b36ef56..e5542c3 100644 --- a/ipaacalib/java/src/ipaaca/InputBuffer.java +++ b/ipaacalib/java/src/ipaaca/InputBuffer.java @@ -270,7 +270,9 @@ public class InputBuffer extends Buffer { RemoteMessageIU rm = (RemoteMessageIU) event.getData(); messageStore.put(rm.getUid(), rm); - callIuEventHandlers(rm.getUid(), false, IUEventType.ADDED, rm.getCategory()); + // FIXME: this is NOT according to the other language versions! + // Messages must emit IUEventType.MESSAGE - not ADDED + callIuEventHandlers(rm.getUid(),false, IUEventType.ADDED, rm.getCategory()); messageStore.remove(rm.getUid()); } else if (event.getData() instanceof RemotePushIU) diff --git a/ipaacatools/scripts/ipaaca-iu-injector.py b/ipaacatools/scripts/ipaaca-iu-injector.py index 2249995..b6a56de 100755 --- a/ipaacatools/scripts/ipaaca-iu-injector.py +++ b/ipaacatools/scripts/ipaaca-iu-injector.py @@ -41,26 +41,50 @@ def my_update_handler(iu, event_type, local): if len(sys.argv)<2: print "Please use the program as follows:" - print " "+sys.argv[0]+" <categoryname> [<payloadkey> <payloadvalue>] [<k2> <v2>] ..." + print " "+sys.argv[0]+" [--class IU|Message] [--timeout <sec>] <categoryname> [<payloadkey> <payloadvalue>] [<k2> <v2>] ..." sys.exit(1) -cate = sys.argv[1] -idx=2 +iu_class = 'Message' +timeout = 3.0 +idx = 1 +keep_going = True +while keep_going: + keep_going = False + if sys.argv[idx]=='--class': + t = sys.argv[idx+1] + if t in ['Message', 'IU']: + iu_class = t + else: + print "Unknown IU class: "+t + sys.exit(1) + idx += 2 + keep_going = True + elif sys.argv[idx]=='--timeout': + timeout = float(sys.argv[idx+1]) + idx += 2 + keep_going = True + +cate = sys.argv[idx] +idx += 1 pl={} while len(sys.argv)>idx+1: pl[sys.argv[idx]] = sys.argv[idx+1] idx+=2 -print "Sending Message of category "+cate +print "Sending "+iu_class+" of category "+cate print " with payload "+str(pl) ob = ipaaca.OutputBuffer('IUInjector') ob.register_handler(my_update_handler) -iu_top = ipaaca.Message(cate) +iu_top = ipaaca.IU(cate) iu_top.payload = pl ob.add(iu_top) -print "Message sent." +print iu_class+" sent." -time.sleep(0.3) +if iu_class=="IU": + print "Waiting "+str(timeout)+" sec for remote modifications..." + time.sleep(timeout) +else: + time.sleep(0.1) print "done." -- GitLab