aboutsummaryrefslogtreecommitdiffstats
path: root/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java')
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java35
1 files changed, 30 insertions, 5 deletions
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java
index c161977..f17f3a6 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java
@@ -22,13 +22,14 @@ package org.onap.universalvesadapter.adapter;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
+import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.annotation.PreDestroy;
import org.milyn.Smooks;
-import org.onap.dcaegen2.ves.domain.VesEvent;
+import org.onap.dcaegen2.ves.domain.ves7_0.VesEvent;
import org.onap.universalvesadapter.exception.ConfigFileSmooksConversionException;
import org.onap.universalvesadapter.exception.VesException;
import org.onap.universalvesadapter.service.VESAdapterInitializer;
@@ -36,6 +37,7 @@ import org.onap.universalvesadapter.utils.CollectorConfigPropertyRetrival;
import org.onap.universalvesadapter.utils.SmooksUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.xml.sax.SAXException;
@@ -58,7 +60,9 @@ import com.google.gson.JsonSyntaxException;
public class UniversalEventAdapter implements GenericAdapter {
private static final Logger debugLogger = LoggerFactory.getLogger("debugLogger");
private static final Logger errorLogger = LoggerFactory.getLogger("errorLogger");
-
+
+ @Value("${defaultConfigFilelocation}")
+ private String defaultConfigFilelocation;
private String collectorIdentifierValue;
private String collectorIdentifierKey;
private Map<String, Smooks> eventToSmooksMapping = new ConcurrentHashMap<>();
@@ -79,7 +83,7 @@ public class UniversalEventAdapter implements GenericAdapter {
String result = "";
String configFileData;
- String identifier[]= CollectorConfigPropertyRetrival.getProperyArray("identifier");
+ String identifier[]= CollectorConfigPropertyRetrival.getProperyArray("identifier",defaultConfigFilelocation );
String defaultMappingFile="defaultMappingFile-"+Thread.currentThread().getName();
try {
@@ -89,10 +93,11 @@ public class UniversalEventAdapter implements GenericAdapter {
JsonElement results;
for(int i=0;i<identifier.length;i++)
{
- if(body.has(identifier[i]))
+ JsonObject obj;
+ if((obj=keyObject(body,identifier[i])).has(identifier[i]))
{
collectorIdentifierKey=identifier[i];
- results=body.get(identifier[i]);
+ results=obj.get(identifier[i]);
collectorIdentifierValue=results.getAsString();
}
@@ -156,5 +161,25 @@ public class UniversalEventAdapter implements GenericAdapter {
smooks.close();
debugLogger.warn("All Smooks objects closed");
}
+
+ public JsonObject keyObject(JsonObject object, String searchedKey) {
+ boolean exists = object.has(searchedKey);
+ JsonObject jsonObject = object;
+
+ if(!exists) {
+ Iterator<?> keys = object.keySet().iterator();
+ while( keys.hasNext() ) {
+ String key = (String)keys.next();
+ if ( object.get(key) instanceof JsonObject ) {
+
+ jsonObject=(JsonObject) object.get(key);
+ JsonObject obj = keyObject(jsonObject, searchedKey);
+ exists = obj.has(searchedKey);
+ }
+ }
+ }
+
+ return jsonObject;
+ }
}