TCA:Bug fix for JsonPath with non array values
[dcaegen2/analytics/tca.git] / dcae-analytics-common / src / main / java / org / openecomp / dcae / apod / analytics / common / service / filter / GenericJsonMessageFilter.java
index 54de5cc..38e8d28 100644 (file)
@@ -29,6 +29,7 @@ import org.openecomp.dcae.apod.analytics.common.service.processor.AbstractMessag
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
 \r
+import java.util.List;\r
 import java.util.Set;\r
 \r
 /**\r
@@ -77,7 +78,9 @@ public class GenericJsonMessageFilter extends AbstractMessageProcessor<JsonMessa
             final DocumentContext documentContext = JsonPath.parse(jsonMessage);\r
             String jsonPathValue = null;\r
             try {\r
-                jsonPathValue = documentContext.read(jsonPath, String.class);\r
+                final List jsonPathValues = documentContext.read(jsonPath);\r
+                final Object pathValue = jsonPathValues.isEmpty() ? null :  jsonPathValues.get(0);\r
+                jsonPathValue = pathValue instanceof Number ? pathValue.toString() : (String) pathValue;\r
             } catch (PathNotFoundException ex) {\r
                 LOG.info("Unable to find json Path: {}. Exception: {}, Json Message: {}", jsonPath, ex, jsonMessage);\r
             }\r