You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by js...@apache.org on 2023/05/05 12:27:46 UTC

[unomi] 01/01: UNOMI-777 : upgrade json-schema-validator version

This is an automated email from the ASF dual-hosted git repository.

jsinovassinnaik pushed a commit to branch UNOMI-777-upgrade-lib-version
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit f250446fe6230bc8afc84c6478149a28e380aa82
Author: jsinovassin <js...@jahia.com>
AuthorDate: Fri May 5 14:27:15 2023 +0200

    UNOMI-777 : upgrade json-schema-validator version
---
 extensions/json-schema/services/pom.xml            | 22 ++++++++++++++++++++--
 .../apache/unomi/schema/keyword/ScopeKeyword.java  |  6 +++---
 .../unomi/schema/keyword/ScopeValidator.java       | 18 ++++++++----------
 .../items/page/page.properties.pageInfo.json       |  2 +-
 rest/pom.xml                                       |  6 ++++++
 5 files changed, 38 insertions(+), 16 deletions(-)

diff --git a/extensions/json-schema/services/pom.xml b/extensions/json-schema/services/pom.xml
index 904a367a1..58f3c1afd 100644
--- a/extensions/json-schema/services/pom.xml
+++ b/extensions/json-schema/services/pom.xml
@@ -31,8 +31,8 @@
     <packaging>bundle</packaging>
 
     <properties>
-        <version.schema>1.0.71</version.schema>
-        <version.schema.jackson>2.13.3</version.schema.jackson>
+        <version.schema>1.0.81</version.schema>
+        <version.schema.jackson>2.14.2</version.schema.jackson>
         <version.schema.itu>1.7.0</version.schema.itu>
     </properties>
 
@@ -73,6 +73,12 @@
             <groupId>com.networknt</groupId>
             <artifactId>json-schema-validator</artifactId>
             <version>${version.schema}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.commons</groupId>
+                    <artifactId>commons-lang3</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.ethlo.time</groupId>
@@ -98,6 +104,18 @@
             <version>${version.schema.jackson}</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.dataformat</groupId>
+            <artifactId>jackson-dataformat-yaml</artifactId>
+            <version>${version.schema.jackson}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.yaml</groupId>
+            <artifactId>snakeyaml</artifactId>
+            <version>1.33</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/keyword/ScopeKeyword.java b/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/keyword/ScopeKeyword.java
index 471a475ab..e771eea6e 100644
--- a/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/keyword/ScopeKeyword.java
+++ b/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/keyword/ScopeKeyword.java
@@ -25,7 +25,7 @@ import org.apache.unomi.api.services.ScopeService;
 
 public class ScopeKeyword extends AbstractKeyword {
 
-    private ScopeService scopeService;
+    private final ScopeService scopeService;
 
     public ScopeKeyword(ScopeService scopeService) {
         super("validateScope");
@@ -34,7 +34,7 @@ public class ScopeKeyword extends AbstractKeyword {
 
     @Override
     public JsonValidator newValidator(String schemaPath, JsonNode schemaNode, JsonSchema parentSchema,
-            ValidationContext validationContext) {
-        return new ScopeValidator(scopeService);
+                                      ValidationContext validationContext) {
+        return new ScopeValidator(schemaPath, schemaNode, parentSchema, validationContext, scopeService);
     }
 }
diff --git a/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/keyword/ScopeValidator.java b/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/keyword/ScopeValidator.java
index 63bc65b29..7e8c9475d 100644
--- a/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/keyword/ScopeValidator.java
+++ b/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/keyword/ScopeValidator.java
@@ -17,9 +17,7 @@
 package org.apache.unomi.schema.keyword;
 
 import com.fasterxml.jackson.databind.JsonNode;
-import com.networknt.schema.AbstractJsonValidator;
-import com.networknt.schema.CustomErrorMessageType;
-import com.networknt.schema.ValidationMessage;
+import com.networknt.schema.*;
 import org.apache.unomi.api.services.ScopeService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -28,13 +26,13 @@ import java.text.MessageFormat;
 import java.util.LinkedHashSet;
 import java.util.Set;
 
-public class ScopeValidator extends AbstractJsonValidator {
+public class ScopeValidator extends BaseJsonValidator implements JsonValidator {
     private static final Logger logger = LoggerFactory.getLogger(ScopeValidator.class);
 
     private ScopeService scopeService;
 
-    public ScopeValidator(ScopeService scopeService) {
-        super("validateScope");
+    public ScopeValidator(String schemaPath, JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext, ScopeService scopeService) {
+        super(schemaPath, schemaNode, parentSchema, null, validationContext);
         this.scopeService = scopeService;
     }
 
@@ -43,11 +41,11 @@ public class ScopeValidator extends AbstractJsonValidator {
         if (logger.isDebugEnabled()) {
             logger.debug("validate( {}, {}, {})", node, rootNode, at);
         }
-        Set<ValidationMessage> errors = new LinkedHashSet();
+        Set<ValidationMessage> errors = new LinkedHashSet<>();
         if (scopeService.getScope(node.textValue()) == null) {
-            errors.add(this.buildValidationMessage(
-                    CustomErrorMessageType.of("1100", new MessageFormat("Unknown scope value at \"{0}\" for value {1}")), at,
-                    node.textValue()));
+            ValidationMessage.Builder builder = new ValidationMessage.Builder();
+            builder.customMessage("Unknown scope value at " + at + " for value " + node.textValue()).format(new MessageFormat("Not used pattern. Message format is required"));
+            errors.add(builder.build());
         }
         return errors;
     }
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.pageInfo.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.pageInfo.json
index 1c72b4fa3..8468409ba 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.pageInfo.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.pageInfo.json
@@ -66,4 +66,4 @@
     }
   },
   "unevaluatedProperties" : false
-}
\ No newline at end of file
+}
diff --git a/rest/pom.xml b/rest/pom.xml
index 0c104de78..f3438c306 100644
--- a/rest/pom.xml
+++ b/rest/pom.xml
@@ -48,6 +48,12 @@
             <version>${project.version}</version>
             <scope>provided</scope>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.dataformat</groupId>
+            <artifactId>jackson-dataformat-yaml</artifactId>
+            <version>${version.jackson.core}</version>
+            <scope>provided</scope>
+        </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>osgi.core</artifactId>