summaryrefslogtreecommitdiffstats
path: root/embedding/java/src/org/uscxml/datamodel/ecmascript/ECMAEvent.java
diff options
context:
space:
mode:
Diffstat (limited to 'embedding/java/src/org/uscxml/datamodel/ecmascript/ECMAEvent.java')
-rw-r--r--embedding/java/src/org/uscxml/datamodel/ecmascript/ECMAEvent.java21
1 files changed, 10 insertions, 11 deletions
diff --git a/embedding/java/src/org/uscxml/datamodel/ecmascript/ECMAEvent.java b/embedding/java/src/org/uscxml/datamodel/ecmascript/ECMAEvent.java
index 58fff72..45d93b8 100644
--- a/embedding/java/src/org/uscxml/datamodel/ecmascript/ECMAEvent.java
+++ b/embedding/java/src/org/uscxml/datamodel/ecmascript/ECMAEvent.java
@@ -1,13 +1,12 @@
package org.uscxml.datamodel.ecmascript;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.mozilla.javascript.Scriptable;
import org.uscxml.Data;
import org.uscxml.Event;
-import org.uscxml.ParamPair;
-import org.uscxml.ParamPairVector;
public class ECMAEvent implements Scriptable {
@@ -19,17 +18,17 @@ public class ECMAEvent implements Scriptable {
public ECMAEvent(Event event) {
this.event = event;
-
- Data data = new Data(event.getData());
-
- // insert params into event.data
- ParamPairVector ppv = event.getParamPairs();
- for (int i = 0; i < ppv.size(); i++) {
- ParamPair pp = ppv.get(i);
- data.compound.put(pp.getFirst(), new Data(pp.getSecond()));
+
+ // copy event params to data
+ Data data = event.getData();
+ Map<String, List<Data>> params = event.getParams();
+ for (String key : params.keySet()) {
+ for (Data param : params.get(key)) {
+ data.put(key, param);
+ }
}
- members.put("type", event.getEventType().toString());
+ members.put("type", event.getEventType());
members.put("data", new ECMAData(data));
members.put("sendid", event.getSendId());
members.put("origin", event.getOrigin());