aboutsummaryrefslogtreecommitdiffstats
path: root/pom.xml
diff options
context:
space:
mode:
authorDaniel Cruz <dc443y@att.com>2019-02-14 00:42:45 -0600
committerDaniel Cruz <dc443y@att.com>2019-02-21 16:36:38 -0600
commitfa2a5a43c82cd35cca9e7d4b51f83ce70e1e3e59 (patch)
tree92b32081f70d2a7e3219e13836565cf81160ee3a /pom.xml
parentbf69c619c8c5a660f6fde044dc9aa8304ba12982 (diff)
Add Nested JSON Filtering
The refactoring of the JsonProtocolFilter allows for complex filter queries for JSON events coming in on network topics. The underlying library used is json-path, which supports path based searching and ruby regex filtering at any level of the JSON document. The JsonProtocolFilter no longer requires a FilterRule class as one json-path filter can contain multiple constraints using "&&" or "||". This eliminates the need to identify the field name as a key with a regex associated with it in the controller properties file (see the original FilterRule implementation). It also simplifies the parsing needed in the DroolsControllerFactory when extracting the filter property and creating the JsonProtocolFilter. JUnit coverage is 100% and all sonar flags were addressed related to the JsonProtocolFilter class. Tested and verified working with the telemetry API in a locally deployed PDP-D. Change-Id: I8bd63db4e497c1ba0b5044b5449ccb7a9e4dbdbc Issue-ID: POLICY-1489 Signed-off-by: Daniel Cruz <dc443y@att.com>
Diffstat (limited to 'pom.xml')
-rw-r--r--pom.xml6
1 files changed, 6 insertions, 0 deletions
diff --git a/pom.xml b/pom.xml
index 9b8f6506..ff9cdb75 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,6 +57,7 @@
<!-- Project common dependency versions -->
<jersey.version>2.25.1</jersey.version>
+ <json.path.version>2.4.0</json.path.version>
<hibernate.core.version>5.2.10.Final</hibernate.core.version>
<hibernate.commons.annotations.version>5.0.1.Final</hibernate.commons.annotations.version>
<commons.io.version>2.5</commons.io.version>
@@ -95,6 +96,11 @@
<version>2.4.0-b31</version>
</dependency>
<dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path</artifactId>
+ <version>${json.path.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-common</artifactId>
<version>${jersey.version}</version>