aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/jsonprotocolplugin/Apex2JsonEventConverter.java3
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/TestJsonEventConverter.java5
2 files changed, 5 insertions, 3 deletions
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/jsonprotocolplugin/Apex2JsonEventConverter.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/jsonprotocolplugin/Apex2JsonEventConverter.java
index 78b96ed2c..549947e9b 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/jsonprotocolplugin/Apex2JsonEventConverter.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/jsonprotocolplugin/Apex2JsonEventConverter.java
@@ -24,6 +24,7 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
+import com.google.gson.internal.LinkedTreeMap;
import java.util.ArrayList;
import java.util.Collection;
@@ -150,6 +151,8 @@ public class Apex2JsonEventConverter implements ApexEventProtocolConverter {
eventList.add(jsonStringApexEvent(eventName, (String) jsonListObject));
} else if (jsonListObject instanceof JsonObject) {
eventList.add(jsonObject2ApexEvent(eventName, (JsonObject) jsonListObject));
+ } else if (jsonListObject instanceof LinkedTreeMap) {
+ eventList.add(jsonObject2ApexEvent(eventName, new Gson().toJsonTree(jsonListObject).getAsJsonObject()));
} else {
throw new ApexEventException("incoming event (" + jsonEventString
+ ") is a JSON object array containing an invalid object " + jsonListObject);
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/TestJsonEventConverter.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/TestJsonEventConverter.java
index 4dbdc8cce..3ccdd5926 100644
--- a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/TestJsonEventConverter.java
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/TestJsonEventConverter.java
@@ -75,9 +75,8 @@ public class TestJsonEventConverter {
converter.toApexEvent(null, "[{\"aKey\": 1},{\"aKey\": 2}]");
fail("test should throw an exception");
} catch (Exception tae) {
- assertEquals("Failed to unmarshal JSON event: incoming event ([{\"aKey\": 1},{\"aKey\": 2}]) "
- + "is a JSON object array containing an invalid object "
- + "{aKey=1.0}, event=[{\"aKey\": 1},{\"aKey\": 2}]", tae.getMessage());
+ assertEquals("Failed to unmarshal JSON event: event received without mandatory parameter \"name\" "
+ + "on configuration or on event, event=[{\"aKey\": 1},{\"aKey\": 2}]", tae.getMessage());
}
try {