From 2134bcb067851d7c42cf61520c1570aafbc5bef8 Mon Sep 17 00:00:00 2001
From: Justin Tay <49700559+justin-tay@users.noreply.github.com>
Date: Sat, 13 Dec 2025 22:07:50 +0800
Subject: [PATCH] Upgrade to Jackson 3 and JDK 17
---
.github/workflows/ci.yml | 2 +-
README.md | 8 +--
doc/custom-dialect.md | 2 +-
doc/upgrading.md | 11 +++++
doc/walkers.md | 4 +-
pom.xml | 45 ++++++++++-------
src/main/java/com/networknt/schema/Error.java | 12 ++---
.../com/networknt/schema/ErrorMessages.java | 10 ++--
.../java/com/networknt/schema/Schema.java | 8 +--
.../com/networknt/schema/SchemaContext.java | 2 +-
.../com/networknt/schema/SchemaRegistry.java | 10 ++--
.../java/com/networknt/schema/Validator.java | 2 +-
.../schema/annotation/Annotations.java | 4 +-
.../dialect/AbstractDialectRegistry.java | 2 +-
.../com/networknt/schema/dialect/Dialect.java | 4 +-
.../schema/format/BaseFormatValidator.java | 2 +-
.../com/networknt/schema/format/Format.java | 6 +--
.../keyword/AbstractKeywordValidator.java | 2 +-
.../AdditionalPropertiesValidator.java | 12 ++---
.../schema/keyword/AllOfValidator.java | 2 +-
.../schema/keyword/AnnotationKeyword.java | 6 +--
.../schema/keyword/AnyOfValidator.java | 4 +-
.../schema/keyword/BaseKeywordValidator.java | 4 +-
.../schema/keyword/ConstValidator.java | 8 +--
.../schema/keyword/ContainsValidator.java | 2 +-
.../keyword/ContentEncodingValidator.java | 6 +--
.../keyword/ContentMediaTypeValidator.java | 14 +++---
.../schema/keyword/DependenciesValidator.java | 9 ++--
.../schema/keyword/DependentRequired.java | 8 +--
.../schema/keyword/DependentSchemas.java | 6 +--
.../keyword/DiscriminatorValidator.java | 16 +++---
.../schema/keyword/DynamicRefValidator.java | 8 +--
.../schema/keyword/EnumValidator.java | 25 +++++-----
.../keyword/ExclusiveMaximumValidator.java | 12 ++---
.../keyword/ExclusiveMinimumValidator.java | 10 ++--
.../schema/keyword/FalseValidator.java | 2 +-
.../schema/keyword/FormatKeyword.java | 6 +--
.../schema/keyword/FormatValidator.java | 8 +--
.../networknt/schema/keyword/IfValidator.java | 2 +-
.../schema/keyword/ItemsLegacyValidator.java | 4 +-
.../schema/keyword/ItemsValidator.java | 4 +-
.../com/networknt/schema/keyword/Keyword.java | 2 +-
.../networknt/schema/keyword/KeywordType.java | 2 +-
.../schema/keyword/MaxItemsValidator.java | 2 +-
.../schema/keyword/MaxLengthValidator.java | 4 +-
.../keyword/MaxPropertiesValidator.java | 2 +-
.../schema/keyword/MaximumValidator.java | 12 ++---
.../schema/keyword/MinItemsValidator.java | 2 +-
.../schema/keyword/MinLengthValidator.java | 4 +-
.../keyword/MinMaxContainsValidator.java | 2 +-
.../keyword/MinPropertiesValidator.java | 2 +-
.../schema/keyword/MinimumValidator.java | 10 ++--
.../schema/keyword/MultipleOfValidator.java | 4 +-
.../schema/keyword/NonValidationKeyword.java | 4 +-
.../schema/keyword/NotAllowedValidator.java | 4 +-
.../schema/keyword/NotValidator.java | 2 +-
.../schema/keyword/OneOfValidator.java | 4 +-
.../keyword/PatternPropertiesValidator.java | 6 +--
.../schema/keyword/PatternValidator.java | 6 +--
.../schema/keyword/PrefixItemsValidator.java | 4 +-
.../schema/keyword/PropertiesValidator.java | 10 ++--
.../PropertyDependenciesValidator.java | 4 +-
.../keyword/PropertyNamesValidator.java | 8 +--
.../schema/keyword/ReadOnlyValidator.java | 2 +-
.../schema/keyword/RecursiveRefValidator.java | 8 +--
.../schema/keyword/RefValidator.java | 8 +--
.../schema/keyword/RequiredValidator.java | 4 +-
.../schema/keyword/ThresholdMixin.java | 2 +-
.../schema/keyword/TrueValidator.java | 2 +-
.../schema/keyword/TypeValidator.java | 2 +-
.../keyword/UnevaluatedItemsValidator.java | 2 +-
.../UnevaluatedPropertiesValidator.java | 4 +-
.../schema/keyword/UnionTypeValidator.java | 2 +-
.../schema/keyword/UniqueItemsValidator.java | 2 +-
.../schema/keyword/WriteOnlyValidator.java | 2 +-
.../networknt/schema/output/OutputFlag.java | 4 +-
.../networknt/schema/output/OutputUnit.java | 4 +-
.../schema/output/OutputUnitKey.java | 8 +--
.../schema/serialization/BasicNodeReader.java | 4 +-
.../serialization/DefaultNodeReader.java | 4 +-
.../serialization/JsonMapperFactory.java | 6 +--
.../schema/serialization/NodeReader.java | 2 +-
.../serialization/YamlMapperFactory.java | 6 +--
.../node/JsonNodeFactoryFactory.java | 4 +-
.../node/LocationJsonNodeFactory.java | 28 +++++------
.../node/LocationJsonNodeFactoryFactory.java | 4 +-
.../node/TokenStreamLocationAware.java | 4 +-
.../TokenStreamLocationAwareArrayNode.java | 18 +++----
...okenStreamLocationAwareBigIntegerNode.java | 10 ++--
.../TokenStreamLocationAwareBinaryNode.java | 12 ++---
.../TokenStreamLocationAwareBooleanNode.java | 10 ++--
.../TokenStreamLocationAwareDecimalNode.java | 10 ++--
.../TokenStreamLocationAwareDoubleNode.java | 10 ++--
.../TokenStreamLocationAwareFloatNode.java | 12 ++---
.../node/TokenStreamLocationAwareIntNode.java | 12 ++---
.../TokenStreamLocationAwareLongNode.java | 12 ++---
.../TokenStreamLocationAwareNullNode.java | 10 ++--
.../TokenStreamLocationAwareObjectNode.java | 16 +++---
.../TokenStreamLocationAwarePOJONode.java | 12 ++---
.../TokenStreamLocationAwareShortNode.java | 10 ++--
...> TokenStreamLocationAwareStringNode.java} | 14 +++---
.../networknt/schema/utils/JsonNodeTypes.java | 17 ++++---
.../com/networknt/schema/utils/JsonNodes.java | 29 +++++------
.../networknt/schema/utils/TypeFactory.java | 14 ++++--
.../schema/walk/AbstractWalkHandler.java | 2 +-
.../schema/walk/ItemWalkHandler.java | 2 +-
.../schema/walk/KeywordWalkHandler.java | 2 +-
.../schema/walk/PropertyWalkHandler.java | 2 +-
.../com/networknt/schema/walk/WalkConfig.java | 2 +-
.../com/networknt/schema/walk/WalkEvent.java | 2 +-
.../networknt/schema/walk/WalkHandler.java | 4 +-
.../com/networknt/schema/walk/Walker.java | 2 +-
.../schema/AbstractJsonSchemaTest.java | 13 ++---
.../schema/AbstractJsonSchemaTestSuite.java | 2 +-
.../schema/BaseJsonSchemaValidatorTest.java | 8 +--
.../schema/CollectorContextTest.java | 36 ++++++--------
.../schema/ContentSchemaValidatorTest.java | 4 +-
.../schema/CustomMetaSchemaTest.java | 8 +--
.../com/networknt/schema/CustomUriTest.java | 4 +-
.../schema/CyclicDependencyTest.java | 2 +-
.../com/networknt/schema/DateTimeDSTTest.java | 4 +-
.../schema/DependentRequiredTest.java | 8 +--
.../schema/DurationFormatValidatorTest.java | 4 +-
.../java/com/networknt/schema/ErrorTest.java | 4 +-
.../schema/FormatKeywordFactoryTest.java | 2 +-
.../networknt/schema/FormatValidatorTest.java | 2 +-
.../com/networknt/schema/Issue255Test.java | 4 +-
.../com/networknt/schema/Issue285Test.java | 2 +-
.../com/networknt/schema/Issue295Test.java | 4 +-
.../com/networknt/schema/Issue313Test.java | 4 +-
.../com/networknt/schema/Issue327Test.java | 4 +-
.../com/networknt/schema/Issue342Test.java | 4 +-
.../schema/Issue366FailFastTest.java | 4 +-
.../schema/Issue366FailSlowTest.java | 4 +-
.../com/networknt/schema/Issue375Test.java | 4 +-
.../com/networknt/schema/Issue383Test.java | 4 +-
.../com/networknt/schema/Issue396Test.java | 6 +--
.../com/networknt/schema/Issue404Test.java | 4 +-
.../com/networknt/schema/Issue426Test.java | 6 +--
.../com/networknt/schema/Issue428Test.java | 6 +--
.../com/networknt/schema/Issue451Test.java | 4 +-
.../com/networknt/schema/Issue456Test.java | 4 +-
.../com/networknt/schema/Issue461Test.java | 6 +--
.../com/networknt/schema/Issue467Test.java | 8 +--
.../com/networknt/schema/Issue471Test.java | 4 +-
.../com/networknt/schema/Issue493Test.java | 4 +-
.../com/networknt/schema/Issue550Test.java | 4 +-
.../com/networknt/schema/Issue575Test.java | 8 +--
.../com/networknt/schema/Issue604Test.java | 2 +-
.../com/networknt/schema/Issue606Test.java | 4 +-
.../com/networknt/schema/Issue619Test.java | 2 +-
.../com/networknt/schema/Issue650Test.java | 19 +++----
.../com/networknt/schema/Issue662Test.java | 2 +-
.../com/networknt/schema/Issue664Test.java | 4 +-
.../com/networknt/schema/Issue668Test.java | 6 +--
.../com/networknt/schema/Issue686Test.java | 16 +++---
.../com/networknt/schema/Issue687Test.java | 8 +--
.../com/networknt/schema/Issue724Test.java | 12 ++---
.../com/networknt/schema/Issue784Test.java | 6 +--
.../java/com/networknt/schema/Issue792.java | 8 +--
.../com/networknt/schema/Issue824Test.java | 8 +--
.../com/networknt/schema/Issue832Test.java | 4 +-
.../com/networknt/schema/Issue898Test.java | 2 +-
.../com/networknt/schema/Issue927Test.java | 4 +-
.../com/networknt/schema/Issue928Test.java | 2 +-
.../com/networknt/schema/Issue994Test.java | 10 ++--
.../schema/ItemsLegacyValidatorTest.java | 16 +++---
.../schema/JsonSchemaFactoryUriCacheTest.java | 10 ++--
.../schema/JsonWalkApplyDefaultsTest.java | 4 +-
.../com/networknt/schema/JsonWalkTest.java | 16 +++---
.../java/com/networknt/schema/LocaleTest.java | 17 +++----
.../schema/MaximumValidatorTest.java | 10 ++--
.../com/networknt/schema/MessageTest.java | 6 +--
.../schema/MetaSchemaValidationTest.java | 2 +-
.../schema/MinimumValidatorTest.java | 10 ++--
.../schema/OpenAPI30JsonSchemaTest.java | 6 +--
.../networknt/schema/OutputFormatTest.java | 6 +--
.../com/networknt/schema/OutputUnitTest.java | 14 +++---
.../schema/OverrideValidatorTest.java | 8 +--
.../OverwritingCustomMessageBugTest.java | 4 +-
.../PatternPropertiesValidatorTest.java | 2 +-
.../schema/PrefixItemsValidatorTest.java | 6 +--
.../com/networknt/schema/QuickStartTest.java | 23 +++++----
.../schema/ReadOnlyValidatorTest.java | 4 +-
...ursiveReferenceValidatorExceptionTest.java | 2 +-
.../java/com/networknt/schema/RefTest.java | 10 ++--
.../networknt/schema/SharedConfigTest.java | 2 +-
.../schema/SpecificationVersionDetector.java | 4 +-
.../SpecificationVersionDetectorTest.java | 8 +--
.../com/networknt/schema/TypeFactoryTest.java | 24 ++++-----
.../schema/UnknownMetaSchemaTest.java | 4 +-
.../com/networknt/schema/UriMappingTest.java | 21 +++++---
.../networknt/schema/V4JsonSchemaTest.java | 4 +-
.../benchmark/NetworkntBasicRunner.java | 11 ++---
.../keyword/PropertiesValidatorTest.java | 2 +-
.../keyword/ThresholdMixinPerfTest.java | 44 ++++++++---------
.../serialization/DefaultNodeReaderTest.java | 17 +++----
.../com/networknt/schema/suite/TestCase.java | 2 +-
.../networknt/schema/suite/TestSource.java | 6 +--
.../com/networknt/schema/suite/TestSpec.java | 2 +-
.../networknt/schema/utils/JsonNodesTest.java | 49 +++++++++----------
.../schema/walk/WalkListenerTest.java | 37 +++++++-------
src/test/resources/draft7/issue386.json | 5 ++
203 files changed, 772 insertions(+), 746 deletions(-)
rename src/main/java/com/networknt/schema/serialization/node/{TokenStreamLocationAwareTextNode.java => TokenStreamLocationAwareStringNode.java} (63%)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 20d7a905e..bea54d007 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- java: [ 8, 11, 17, 21 ]
+ java: [ 17, 21, 25 ]
name: Java ${{ matrix.java }}
steps:
- uses: actions/checkout@v4
diff --git a/README.md b/README.md
index 9a47ffb25..4a227469d 100644
--- a/README.md
+++ b/README.md
@@ -421,17 +421,17 @@ JsonLocation minLengthInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationO
JsonLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getSchemaNode());
assertEquals("format", format.getKeyword());
-assertEquals("date", format.getSchemaNode().asText());
+assertEquals("date", format.getSchemaNode().asString());
assertEquals(5, formatSchemaNodeTokenLocation.getLineNr());
assertEquals(17, formatSchemaNodeTokenLocation.getColumnNr());
-assertEquals("1", format.getInstanceNode().asText());
+assertEquals("1", format.getInstanceNode().asString());
assertEquals(2, formatInstanceNodeTokenLocation.getLineNr());
assertEquals(16, formatInstanceNodeTokenLocation.getColumnNr());
assertEquals("minLength", minLength.getKeyword());
-assertEquals("6", minLength.getSchemaNode().asText());
+assertEquals("6", minLength.getSchemaNode().asString());
assertEquals(6, minLengthSchemaNodeTokenLocation.getLineNr());
assertEquals(20, minLengthSchemaNodeTokenLocation.getColumnNr());
-assertEquals("1", minLength.getInstanceNode().asText());
+assertEquals("1", minLength.getInstanceNode().asString());
assertEquals(2, minLengthInstanceNodeTokenLocation.getLineNr());
assertEquals(16, minLengthInstanceNodeTokenLocation.getColumnNr());
assertEquals(16, minLengthInstanceNodeTokenLocation.getColumnNr());
diff --git a/doc/custom-dialect.md b/doc/custom-dialect.md
index fd90a19a2..d87069453 100644
--- a/doc/custom-dialect.md
+++ b/doc/custom-dialect.md
@@ -35,7 +35,7 @@ public class EqualsValidator extends BaseKeywordValidator {
@Override
public void validate(ExecutionContext executionContext, JsonNode node, JsonNode rootNode,
NodePath instanceLocation) {
- if (!node.asText().equals(value)) {
+ if (!node.asString().equals(value)) {
executionContext.addError(error().message("must be equal to ''{0}''")
.arguments(value)
.instanceLocation(instanceLocation).instanceNode(node).evaluationPath(executionContext.getEvaluationPath()).build());
diff --git a/doc/upgrading.md b/doc/upgrading.md
index e9a3e7842..d3f77d241 100644
--- a/doc/upgrading.md
+++ b/doc/upgrading.md
@@ -4,6 +4,17 @@ This library can contain breaking changes in `minor` version releases.
This contains information on the notable or breaking changes in each version.
+### 3.0.0
+
+| Compatibility | Version |
+| ------------- | --------- |
+| Java | Java 17 |
+| Jackson | Jackson 3 |
+
+#### Major Changes
+
+- Change to use Jackson 3 for which Java 17 is now required.
+
### 2.0.0
| Compatibility | Version |
diff --git a/doc/walkers.md b/doc/walkers.md
index ed218ddd9..62b6c6832 100644
--- a/doc/walkers.md
+++ b/doc/walkers.md
@@ -95,14 +95,14 @@ assertEquals("", propertyKeywords.get(0).getInstanceLocation().toString());
assertEquals("/properties",
propertyKeywords.get(0).getEvaluationPath().append(propertyKeywords.get(0).getKeyword()).toString());
assertEquals("/tags/0", propertyKeywords.get(1).getInstanceLocation().toString());
-assertEquals("image", propertyKeywords.get(1).getInstanceNode().get("name").asText());
+assertEquals("image", propertyKeywords.get(1).getInstanceNode().get("name").asString());
assertEquals("/properties/tags/items/$ref", propertyKeywords.get(1).getEvaluationPath().toString());
assertEquals("/properties/tags/items/$ref/properties",
propertyKeywords.get(1).getEvaluationPath().append(propertyKeywords.get(1).getKeyword()).toString());
assertEquals("/tags/1", propertyKeywords.get(2).getInstanceLocation().toString());
assertEquals("/properties/tags/items/$ref/properties",
propertyKeywords.get(2).getEvaluationPath().append(propertyKeywords.get(2).getKeyword()).toString());
-assertEquals("link", propertyKeywords.get(2).getInstanceNode().get("name").asText());
+assertEquals("link", propertyKeywords.get(2).getInstanceNode().get("name").asString());
```
### Applying Defaults
diff --git a/pom.xml b/pom.xml
index ffb823112..57e3f4b9a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
com.networknt
json-schema-validator
- 2.0.1
+ 3.0.0-SNAPSHOT
bundle
JsonSchemaValidator
A json schema validator that supports draft v4, v6, v7, v2019-09 and v2020-12
@@ -68,25 +68,25 @@
- 1.8
- 1.8
+ 17
+ 17
UTF-8
1.14.0
- 2.18.3
+ 3.0.3
2.2.6
- 1.3.14
+ 1.5.22
2.0.17
- 21.3.10
+ 25.0.1
3.0
- 5.11.3
- 0.8.12
- 3.13.0
- 5.1.9
- 3.6.3
- 3.2.1
- 1.3.0
- 3.5.1
+ 6.0.1
+ 0.8.14
+ 3.14.1
+ 6.0.0
+ 3.12.0
+ 3.4.0
+ 1.5.1
+ 3.5.4
1.2.2.Final
1.7.0
3.2.7
@@ -112,13 +112,13 @@
- com.fasterxml.jackson.core
+ tools.jackson.core
jackson-databind
${version.jackson}
- com.fasterxml.jackson.dataformat
+ tools.jackson.dataformat
jackson-dataformat-yaml
${version.jackson}
@@ -143,7 +143,16 @@
org.graalvm.js
- js
+ js-language
+ ${version.graaljs}
+ true
+
+
+
+
+
+ org.graalvm.truffle
+ truffle-runtime
${version.graaljs}
true
@@ -459,7 +468,7 @@
static com.ethlo.time;
- static com.fasterxml.jackson.dataformat.yaml;
+ static tools.jackson.dataformat.yaml;
static org.jruby.jcodings;
static org.jruby.joni;
static org.graalvm.sdk;
diff --git a/src/main/java/com/networknt/schema/Error.java b/src/main/java/com/networknt/schema/Error.java
index 6e117af76..7322d3b90 100644
--- a/src/main/java/com/networknt/schema/Error.java
+++ b/src/main/java/com/networknt/schema/Error.java
@@ -20,9 +20,9 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.annotation.JsonSerialize;
+import tools.jackson.databind.ser.std.ToStringSerializer;
import com.networknt.schema.i18n.MessageFormatter;
import com.networknt.schema.path.NodePath;
import com.networknt.schema.utils.CachingSupplier;
@@ -42,7 +42,7 @@
* "https://github.com/json-schema-org/json-schema-spec/blob/main/specs/output/jsonschema-validation-output-machines.md">JSON
* Schema
*/
-@JsonIgnoreProperties({ "messageSupplier", "schemaNode", "instanceNode", "valid" })
+@JsonIgnoreProperties({ "messageSupplier", "schemaNode", "instanceNode" })
@JsonPropertyOrder({ "keyword", "instanceLocation", "message", "evaluationPath", "schemaLocation",
"messageKey", "arguments", "details" })
@JsonInclude(Include.NON_NULL)
@@ -176,10 +176,6 @@ public String getMessageKey() {
return messageKey;
}
- public boolean isValid() {
- return messageSupplier != null;
- }
-
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/src/main/java/com/networknt/schema/ErrorMessages.java b/src/main/java/com/networknt/schema/ErrorMessages.java
index aaff9bf2a..028f178e9 100644
--- a/src/main/java/com/networknt/schema/ErrorMessages.java
+++ b/src/main/java/com/networknt/schema/ErrorMessages.java
@@ -4,7 +4,7 @@
import java.util.LinkedHashMap;
import java.util.Map;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
/**
* ErrorMessages.
@@ -24,12 +24,12 @@ public static Map getErrorMessage(Schema parentSchema, String er
if (message != null) {
JsonNode messageNode = message.get(keyword);
if (messageNode != null) {
- if (messageNode.isTextual()) {
- return Collections.singletonMap("", messageNode.asText());
+ if (messageNode.isString()) {
+ return Collections.singletonMap("", messageNode.asString());
} else if (messageNode.isObject()) {
Map result = new LinkedHashMap<>();
- messageNode.fields()
- .forEachRemaining(entry -> result.put(entry.getKey(), entry.getValue().textValue()));
+ messageNode.properties().iterator()
+ .forEachRemaining(entry -> result.put(entry.getKey(), entry.getValue().asString()));
if (!result.isEmpty()) {
return result;
}
diff --git a/src/main/java/com/networknt/schema/Schema.java b/src/main/java/com/networknt/schema/Schema.java
index 5879b0fe4..87999f107 100644
--- a/src/main/java/com/networknt/schema/Schema.java
+++ b/src/main/java/com/networknt/schema/Schema.java
@@ -32,7 +32,7 @@
import java.util.Objects;
import java.util.function.Consumer;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.keyword.KeywordValidator;
import com.networknt.schema.keyword.TypeValidator;
import com.networknt.schema.path.NodePath;
@@ -107,11 +107,11 @@ private static Schema obtainSubSchemaNode(final JsonNode schemaNode, final Schem
return null;
}
- final String text = node.textValue();
+ final String text = node.asString();
if (text == null) {
return null;
}
- final SchemaLocation schemaLocation = SchemaLocation.of(node.textValue());
+ final SchemaLocation schemaLocation = SchemaLocation.of(node.asString());
return schemaContext.getSchemaRegistry().getSchema(schemaLocation);
}
public static class JsonNodePathLegacy {
@@ -519,7 +519,7 @@ private List read(JsonNode schemaNode) {
} else {
KeywordValidator refValidator = null;
- Iterator> iterator = schemaNode.fields();
+ Iterator> iterator = schemaNode.properties().iterator();
validators = new ArrayList<>(schemaNode.size());
while (iterator.hasNext()) {
Entry entry = iterator.next();
diff --git a/src/main/java/com/networknt/schema/SchemaContext.java b/src/main/java/com/networknt/schema/SchemaContext.java
index 783ff91ac..8f5efdafa 100644
--- a/src/main/java/com/networknt/schema/SchemaContext.java
+++ b/src/main/java/com/networknt/schema/SchemaContext.java
@@ -19,7 +19,7 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.keyword.KeywordValidator;
diff --git a/src/main/java/com/networknt/schema/SchemaRegistry.java b/src/main/java/com/networknt/schema/SchemaRegistry.java
index 25c58839b..cbbd6c669 100644
--- a/src/main/java/com/networknt/schema/SchemaRegistry.java
+++ b/src/main/java/com/networknt/schema/SchemaRegistry.java
@@ -16,7 +16,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.dialect.BasicDialectRegistry;
import com.networknt.schema.dialect.DefaultDialectRegistry;
import com.networknt.schema.dialect.Dialect;
@@ -534,18 +534,18 @@ protected SchemaContext createSchemaContext(final JsonNode schemaNode) {
private Dialect getDialect(final JsonNode schemaNode, SchemaRegistryConfig config) {
final JsonNode iriNode = schemaNode.get("$schema");
- if (iriNode != null && iriNode.isTextual()) {
- return getDialect(iriNode.textValue());
+ if (iriNode != null && iriNode.isString()) {
+ return getDialect(iriNode.asString());
}
return null;
}
private Dialect getDialectOrDefault(final JsonNode schemaNode) {
final JsonNode iriNode = schemaNode.get("$schema");
- if (iriNode != null && !iriNode.isNull() && !iriNode.isTextual()) {
+ if (iriNode != null && !iriNode.isNull() && !iriNode.isString()) {
throw new SchemaException("Unknown dialect: " + iriNode);
}
- final String iri = iriNode == null || iriNode.isNull() ? defaultDialectId : iriNode.textValue();
+ final String iri = iriNode == null || iriNode.isNull() ? defaultDialectId : iriNode.asString();
if (iri == null) {
throw new MissingSchemaKeywordException(
"The $schema keyword that indicates the schema dialect must be specified.");
diff --git a/src/main/java/com/networknt/schema/Validator.java b/src/main/java/com/networknt/schema/Validator.java
index 09434d990..1e3c4e3d9 100644
--- a/src/main/java/com/networknt/schema/Validator.java
+++ b/src/main/java/com/networknt/schema/Validator.java
@@ -16,7 +16,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.path.NodePath;
import com.networknt.schema.walk.Walker;
diff --git a/src/main/java/com/networknt/schema/annotation/Annotations.java b/src/main/java/com/networknt/schema/annotation/Annotations.java
index 581f73b8f..3dd0a5f0c 100644
--- a/src/main/java/com/networknt/schema/annotation/Annotations.java
+++ b/src/main/java/com/networknt/schema/annotation/Annotations.java
@@ -20,7 +20,7 @@
import java.util.List;
import java.util.Map;
-import com.fasterxml.jackson.core.JsonProcessingException;
+import tools.jackson.core.JacksonException;
import com.networknt.schema.path.NodePath;
import com.networknt.schema.serialization.JsonMapperFactory;
@@ -92,7 +92,7 @@ public static String format(Map> annotations) {
try {
return JsonMapperFactory.getInstance().writerWithDefaultPrettyPrinter().writeValueAsString(results);
- } catch (JsonProcessingException e) {
+ } catch (JacksonException e) {
return "";
}
}
diff --git a/src/main/java/com/networknt/schema/dialect/AbstractDialectRegistry.java b/src/main/java/com/networknt/schema/dialect/AbstractDialectRegistry.java
index 7bddaacfa..57948660d 100644
--- a/src/main/java/com/networknt/schema/dialect/AbstractDialectRegistry.java
+++ b/src/main/java/com/networknt/schema/dialect/AbstractDialectRegistry.java
@@ -18,7 +18,7 @@
import java.util.Map;
import java.util.Map.Entry;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.InvalidSchemaException;
import com.networknt.schema.Schema;
diff --git a/src/main/java/com/networknt/schema/dialect/Dialect.java b/src/main/java/com/networknt/schema/dialect/Dialect.java
index 3fd4580c8..6af636e91 100644
--- a/src/main/java/com/networknt/schema/dialect/Dialect.java
+++ b/src/main/java/com/networknt/schema/dialect/Dialect.java
@@ -16,7 +16,7 @@
package com.networknt.schema.dialect;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.InvalidSchemaException;
import com.networknt.schema.Schema;
@@ -416,7 +416,7 @@ public String readDynamicAnchor(JsonNode schemaNode) {
private static String readText(JsonNode node, String field) {
JsonNode fieldNode = node.get(field);
- return fieldNode == null ? null : fieldNode.textValue();
+ return fieldNode == null ? null : fieldNode.asString();
}
public String getId() {
diff --git a/src/main/java/com/networknt/schema/format/BaseFormatValidator.java b/src/main/java/com/networknt/schema/format/BaseFormatValidator.java
index b22e17b2b..7e765e69f 100644
--- a/src/main/java/com/networknt/schema/format/BaseFormatValidator.java
+++ b/src/main/java/com/networknt/schema/format/BaseFormatValidator.java
@@ -2,7 +2,7 @@
import java.util.Map;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/format/Format.java b/src/main/java/com/networknt/schema/format/Format.java
index cf8064c61..69365ca6c 100644
--- a/src/main/java/com/networknt/schema/format/Format.java
+++ b/src/main/java/com/networknt/schema/format/Format.java
@@ -18,7 +18,7 @@
import java.util.function.Supplier;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.MessageSourceError;
import com.networknt.schema.SchemaContext;
@@ -95,7 +95,7 @@ default boolean matches(ExecutionContext executionContext, SchemaContext schemaC
if (nodeType != JsonType.STRING) {
return true;
}
- return matches(executionContext, schemaContext, value.textValue());
+ return matches(executionContext, schemaContext, value.asString());
}
/**
@@ -139,7 +139,7 @@ default void validate(ExecutionContext executionContext, SchemaContext schemaCon
if (!matches(executionContext, schemaContext, node, rootNode, instanceLocation, assertionsEnabled,
formatValidator)) {
executionContext.addError(message.get()
- .arguments(this.getName(), node.asText()).build());
+ .arguments(this.getName(), node.asString()).build());
}
}
}
diff --git a/src/main/java/com/networknt/schema/keyword/AbstractKeywordValidator.java b/src/main/java/com/networknt/schema/keyword/AbstractKeywordValidator.java
index 70d323bf3..67fe16269 100644
--- a/src/main/java/com/networknt/schema/keyword/AbstractKeywordValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/AbstractKeywordValidator.java
@@ -19,7 +19,7 @@
import java.util.Iterator;
import java.util.function.Consumer;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/AdditionalPropertiesValidator.java b/src/main/java/com/networknt/schema/keyword/AdditionalPropertiesValidator.java
index 37a53d749..1780d70a8 100644
--- a/src/main/java/com/networknt/schema/keyword/AdditionalPropertiesValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/AdditionalPropertiesValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -60,7 +60,7 @@ public AdditionalPropertiesValidator(SchemaLocation schemaLocation, JsonNode sch
JsonNode propertiesNode = parentSchema.getSchemaNode().get(PropertiesValidator.PROPERTY);
if (propertiesNode != null) {
allowedProperties = new HashSet<>();
- for (Iterator it = propertiesNode.fieldNames(); it.hasNext(); ) {
+ for (Iterator it = propertiesNode.propertyNames().iterator(); it.hasNext(); ) {
allowedProperties.add(it.next());
}
} else {
@@ -70,7 +70,7 @@ public AdditionalPropertiesValidator(SchemaLocation schemaLocation, JsonNode sch
JsonNode patternPropertiesNode = parentSchema.getSchemaNode().get(PatternPropertiesValidator.PROPERTY);
if (patternPropertiesNode != null) {
this.patternProperties = new ArrayList<>(patternPropertiesNode.size());
- for (Iterator it = patternPropertiesNode.fieldNames(); it.hasNext(); ) {
+ for (Iterator it = patternPropertiesNode.propertyNames().iterator(); it.hasNext(); ) {
patternProperties.add(RegularExpression.compile(it.next(), schemaContext));
}
} else {
@@ -97,7 +97,7 @@ protected void validate(ExecutionContext executionContext, JsonNode node, JsonNo
|| collectAnnotations(executionContext);
// if allowAdditionalProperties is true, add all the properties as evaluated.
if (allowAdditionalProperties && collectAnnotations) {
- for (Iterator it = node.fieldNames(); it.hasNext();) {
+ for (Iterator it = node.propertyNames().iterator(); it.hasNext();) {
if (matchedInstancePropertyNames == null) {
matchedInstancePropertyNames = new LinkedHashSet<>();
}
@@ -106,7 +106,7 @@ protected void validate(ExecutionContext executionContext, JsonNode node, JsonNo
}
}
- for (Iterator> it = node.fields(); it.hasNext(); ) {
+ for (Iterator> it = node.properties().iterator(); it.hasNext(); ) {
Entry entry = it.next();
String pname = entry.getKey();
// skip the context items
@@ -154,7 +154,7 @@ public void walk(ExecutionContext executionContext, JsonNode node, JsonNode root
}
// Else continue walking.
- for (Iterator it = node.fieldNames(); it.hasNext(); ) {
+ for (Iterator it = node.propertyNames().iterator(); it.hasNext(); ) {
String pname = it.next();
// skip the context items
if (pname.startsWith("#")) {
diff --git a/src/main/java/com/networknt/schema/keyword/AllOfValidator.java b/src/main/java/com/networknt/schema/keyword/AllOfValidator.java
index c0d871d2d..dfdff943b 100644
--- a/src/main/java/com/networknt/schema/keyword/AllOfValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/AllOfValidator.java
@@ -19,7 +19,7 @@
import java.util.ArrayList;
import java.util.List;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaContext;
diff --git a/src/main/java/com/networknt/schema/keyword/AnnotationKeyword.java b/src/main/java/com/networknt/schema/keyword/AnnotationKeyword.java
index 6c961b973..5c1d43fc0 100644
--- a/src/main/java/com/networknt/schema/keyword/AnnotationKeyword.java
+++ b/src/main/java/com/networknt/schema/keyword/AnnotationKeyword.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -46,8 +46,8 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
}
private Object getAnnotationValue(JsonNode schemaNode) {
- if (schemaNode.isTextual()) {
- return schemaNode.textValue();
+ if (schemaNode.isString()) {
+ return schemaNode.asString();
} else if (schemaNode.isNumber()) {
return schemaNode.numberValue();
} else if (schemaNode.isObject()) {
diff --git a/src/main/java/com/networknt/schema/keyword/AnyOfValidator.java b/src/main/java/com/networknt/schema/keyword/AnyOfValidator.java
index d2b722ffc..13de8fcdd 100644
--- a/src/main/java/com/networknt/schema/keyword/AnyOfValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/AnyOfValidator.java
@@ -19,7 +19,7 @@
import java.util.ArrayList;
import java.util.List;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
@@ -103,7 +103,7 @@ && canShortCircuit(executionContext)) {
DiscriminatorState discriminator = executionContext.getDiscriminatorMapping().get(instanceLocation);
JsonNode refNode = schema.getSchemaNode().get("$ref");
if (discriminator != null && refNode != null) {
- discriminatorMatchFound = discriminator.matches(refNode.asText());
+ discriminatorMatchFound = discriminator.matches(refNode.asString());
}
if (discriminatorMatchFound) {
/*
diff --git a/src/main/java/com/networknt/schema/keyword/BaseKeywordValidator.java b/src/main/java/com/networknt/schema/keyword/BaseKeywordValidator.java
index ef13efb08..342b11364 100644
--- a/src/main/java/com/networknt/schema/keyword/BaseKeywordValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/BaseKeywordValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ErrorMessages;
import com.networknt.schema.Schema;
import com.networknt.schema.MessageSourceError;
@@ -86,7 +86,7 @@ public Schema getParentSchema() {
protected String getNodeFieldType() {
JsonNode typeField = this.getParentSchema().getSchemaNode().get("type");
if (typeField != null) {
- return typeField.asText();
+ return typeField.asString();
}
return null;
}
diff --git a/src/main/java/com/networknt/schema/keyword/ConstValidator.java b/src/main/java/com/networknt/schema/keyword/ConstValidator.java
index e1c9f56bc..955e14d39 100644
--- a/src/main/java/com/networknt/schema/keyword/ConstValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/ConstValidator.java
@@ -15,7 +15,7 @@
*/
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -36,12 +36,14 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
if (schemaNode.decimalValue().compareTo(node.decimalValue()) != 0) {
executionContext.addError(error().instanceNode(node).instanceLocation(instanceLocation)
.evaluationPath(executionContext.getEvaluationPath()).locale(executionContext.getExecutionConfig().getLocale())
- .arguments(schemaNode.asText(), node.asText())
+ .arguments(schemaNode.asString(schemaNode.toString()), node.asString())
.build());
}
} else if (!schemaNode.equals(node)) {
executionContext.addError(error().instanceNode(node).instanceLocation(instanceLocation)
- .evaluationPath(executionContext.getEvaluationPath()).locale(executionContext.getExecutionConfig().getLocale()).arguments(schemaNode.asText(), node.asText()).build());
+ .evaluationPath(executionContext.getEvaluationPath())
+ .locale(executionContext.getExecutionConfig().getLocale())
+ .arguments(schemaNode.asString(schemaNode.toString()), node.asString(node.toString())).build());
}
}
}
diff --git a/src/main/java/com/networknt/schema/keyword/ContainsValidator.java b/src/main/java/com/networknt/schema/keyword/ContainsValidator.java
index 801f776d5..403f258d4 100644
--- a/src/main/java/com/networknt/schema/keyword/ContainsValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/ContainsValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
diff --git a/src/main/java/com/networknt/schema/keyword/ContentEncodingValidator.java b/src/main/java/com/networknt/schema/keyword/ContentEncodingValidator.java
index 758ffc420..d655a0fa7 100644
--- a/src/main/java/com/networknt/schema/keyword/ContentEncodingValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/ContentEncodingValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -47,7 +47,7 @@ public class ContentEncodingValidator extends BaseKeywordValidator {
public ContentEncodingValidator(SchemaLocation schemaLocation, JsonNode schemaNode,
Schema parentSchema, SchemaContext schemaContext) {
super(KeywordType.CONTENT_ENCODING, schemaNode, schemaLocation, parentSchema, schemaContext);
- this.contentEncoding = schemaNode.textValue();
+ this.contentEncoding = schemaNode.asString();
}
private boolean matches(String value) {
@@ -77,7 +77,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
annotation -> annotation.instanceLocation(instanceLocation).value(this.contentEncoding));
}
- if (!matches(node.asText())) {
+ if (!matches(node.asString())) {
executionContext.addError(error().instanceNode(node).instanceLocation(instanceLocation)
.evaluationPath(executionContext.getEvaluationPath()).locale(executionContext.getExecutionConfig().getLocale())
.arguments(this.contentEncoding)
diff --git a/src/main/java/com/networknt/schema/keyword/ContentMediaTypeValidator.java b/src/main/java/com/networknt/schema/keyword/ContentMediaTypeValidator.java
index 98e9aae71..1d8f00e61 100644
--- a/src/main/java/com/networknt/schema/keyword/ContentMediaTypeValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/ContentMediaTypeValidator.java
@@ -20,8 +20,8 @@
import java.util.Base64;
import java.util.regex.Pattern;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -52,7 +52,7 @@ public class ContentMediaTypeValidator extends BaseKeywordValidator {
public ContentMediaTypeValidator(SchemaLocation schemaLocation, JsonNode schemaNode,
Schema parentSchema, SchemaContext schemaContext) {
super(KeywordType.CONTENT_MEDIA_TYPE, schemaNode, schemaLocation, parentSchema, schemaContext);
- this.contentMediaType = schemaNode.textValue();
+ this.contentMediaType = schemaNode.asString();
}
private boolean matches(String value) {
@@ -60,8 +60,8 @@ private boolean matches(String value) {
// Validate content
JsonNode node = this.parentSchema.getSchemaNode().get("contentEncoding");
String encoding = null;
- if (node != null && node.isTextual()) {
- encoding = node.asText();
+ if (node != null && node.isString()) {
+ encoding = node.asString();
}
String data = value;
if ("base64".equals(encoding)) {
@@ -74,7 +74,7 @@ private boolean matches(String value) {
// Validate the json
try {
JsonMapperFactory.getInstance().readTree(data);
- } catch (JsonProcessingException e) {
+ } catch (JacksonException e) {
return false;
}
return true;
@@ -101,7 +101,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
annotation -> annotation.instanceLocation(instanceLocation).value(this.contentMediaType));
}
- if (!matches(node.asText())) {
+ if (!matches(node.asString())) {
executionContext.addError(error().instanceNode(node).instanceLocation(instanceLocation)
.evaluationPath(executionContext.getEvaluationPath()).locale(executionContext.getExecutionConfig().getLocale())
.arguments(this.contentMediaType)
diff --git a/src/main/java/com/networknt/schema/keyword/DependenciesValidator.java b/src/main/java/com/networknt/schema/keyword/DependenciesValidator.java
index 1acad4aba..0602dcf2d 100644
--- a/src/main/java/com/networknt/schema/keyword/DependenciesValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/DependenciesValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -45,10 +45,11 @@ public DependenciesValidator(SchemaLocation schemaLocation, JsonNode schemaNode,
super(KeywordType.DEPENDENCIES, schemaNode, schemaLocation, parentSchema, schemaContext);
- for (Iterator> it = schemaNode.fields(); it.hasNext(); ) {
+ for (Iterator> it = schemaNode.properties().iterator(); it.hasNext(); ) {
Entry entry = it.next();
String pname = entry.getKey();
JsonNode pvalue = entry.getValue();
+
if (pvalue.isArray()) {
List depsProps = propertyDeps.get(pname);
if (depsProps == null) {
@@ -56,7 +57,7 @@ public DependenciesValidator(SchemaLocation schemaLocation, JsonNode schemaNode,
propertyDeps.put(pname, depsProps);
}
for (int i = 0; i < pvalue.size(); i++) {
- depsProps.add(pvalue.get(i).asText());
+ depsProps.add(pvalue.get(i).asString());
}
} else if (pvalue.isObject() || pvalue.isBoolean()) {
schemaDeps.put(pname, schemaContext.newSchema(schemaLocation.append(pname),
@@ -66,7 +67,7 @@ public DependenciesValidator(SchemaLocation schemaLocation, JsonNode schemaNode,
}
public void validate(ExecutionContext executionContext, JsonNode node, JsonNode rootNode, NodePath instanceLocation) {
- for (Iterator it = node.fieldNames(); it.hasNext(); ) {
+ for (Iterator it = node.propertyNames().iterator(); it.hasNext(); ) {
String pname = it.next();
List deps = propertyDeps.get(pname);
if (deps != null && !deps.isEmpty()) {
diff --git a/src/main/java/com/networknt/schema/keyword/DependentRequired.java b/src/main/java/com/networknt/schema/keyword/DependentRequired.java
index 88384a368..73a17e3d8 100644
--- a/src/main/java/com/networknt/schema/keyword/DependentRequired.java
+++ b/src/main/java/com/networknt/schema/keyword/DependentRequired.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -35,21 +35,21 @@ public DependentRequired(SchemaLocation schemaLocation, JsonNode schemaNode, Sch
super(KeywordType.DEPENDENT_REQUIRED, schemaNode, schemaLocation, parentSchema, schemaContext);
- for (Iterator it = schemaNode.fieldNames(); it.hasNext(); ) {
+ for (Iterator it = schemaNode.propertyNames().iterator(); it.hasNext(); ) {
String pname = it.next();
JsonNode pvalue = schemaNode.get(pname);
if (pvalue.isArray()) {
List dependencies = propertyDependencies.computeIfAbsent(pname, k -> new ArrayList<>());
for (int i = 0; i < pvalue.size(); i++) {
- dependencies.add(pvalue.get(i).asText());
+ dependencies.add(pvalue.get(i).asString());
}
}
}
}
public void validate(ExecutionContext executionContext, JsonNode node, JsonNode rootNode, NodePath instanceLocation) {
- for (Iterator it = node.fieldNames(); it.hasNext(); ) {
+ for (Iterator it = node.propertyNames().iterator(); it.hasNext(); ) {
String pname = it.next();
List dependencies = propertyDependencies.get(pname);
if (dependencies != null && !dependencies.isEmpty()) {
diff --git a/src/main/java/com/networknt/schema/keyword/DependentSchemas.java b/src/main/java/com/networknt/schema/keyword/DependentSchemas.java
index 8f87bdc9f..8c6796b2d 100644
--- a/src/main/java/com/networknt/schema/keyword/DependentSchemas.java
+++ b/src/main/java/com/networknt/schema/keyword/DependentSchemas.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -34,7 +34,7 @@ public class DependentSchemas extends BaseKeywordValidator {
public DependentSchemas(SchemaLocation schemaLocation, JsonNode schemaNode,
Schema parentSchema, SchemaContext schemaContext) {
super(KeywordType.DEPENDENT_SCHEMAS, schemaNode, schemaLocation, parentSchema, schemaContext);
- for (Iterator it = schemaNode.fieldNames(); it.hasNext();) {
+ for (Iterator it = schemaNode.propertyNames().iterator(); it.hasNext();) {
String pname = it.next();
JsonNode pvalue = schemaNode.get(pname);
if (pvalue.isObject() || pvalue.isBoolean()) {
@@ -52,7 +52,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
protected void validate(ExecutionContext executionContext, JsonNode node, JsonNode rootNode,
NodePath instanceLocation, boolean walk) {
- for (Iterator it = node.fieldNames(); it.hasNext(); ) {
+ for (Iterator it = node.propertyNames().iterator(); it.hasNext(); ) {
String pname = it.next();
Schema schema = this.schemaDependencies.get(pname);
if (schema != null) {
diff --git a/src/main/java/com/networknt/schema/keyword/DiscriminatorValidator.java b/src/main/java/com/networknt/schema/keyword/DiscriminatorValidator.java
index bc85d0011..0e01e7d42 100644
--- a/src/main/java/com/networknt/schema/keyword/DiscriminatorValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/DiscriminatorValidator.java
@@ -22,8 +22,8 @@
import java.util.Map;
import java.util.Map.Entry;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.ObjectNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaContext;
@@ -74,14 +74,14 @@ public DiscriminatorValidator(SchemaLocation schemaLocation, JsonNode schemaNode
* schema but there is non-specification compliant behavior if there are
* multiple discriminators on the same path if the propertyName is not defined.
*/
- this.propertyName = propertyName != null ? propertyName.asText() : "";
+ this.propertyName = propertyName != null ? propertyName.asString() : "";
JsonNode mappingNode = discriminator.get("mapping");
ObjectNode mapping = mappingNode != null && mappingNode.isObject() ? (ObjectNode) mappingNode : null;
if (mapping != null) {
this.mapping = new HashMap<>();
- for (Iterator> iter = mapping.fields(); iter.hasNext();) {
+ for (Iterator> iter = mapping.properties().iterator(); iter.hasNext();) {
Entry entry = iter.next();
- this.mapping.put(entry.getKey(), entry.getValue().asText());
+ this.mapping.put(entry.getKey(), entry.getValue().asString());
}
} else {
this.mapping = Collections.emptyMap();
@@ -90,7 +90,7 @@ public DiscriminatorValidator(SchemaLocation schemaLocation, JsonNode schemaNode
// Check if OpenAPI 3.2.0
JsonNode defaultMapping = discriminator.get("defaultMapping");
if (defaultMapping != null) {
- this.defaultMapping = defaultMapping.asText();
+ this.defaultMapping = defaultMapping.asString();
} else {
this.defaultMapping = null;
}
@@ -142,8 +142,8 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
executionContext.getDiscriminatorMapping().put(instanceLocation, state);
}
JsonNode discriminatingValueNode = node.get(state.getPropertyName());
- if (discriminatingValueNode != null && discriminatingValueNode.isTextual()) {
- String discriminatingValue = discriminatingValueNode.asText();
+ if (discriminatingValueNode != null && discriminatingValueNode.isString()) {
+ String discriminatingValue = discriminatingValueNode.asString();
state.setDiscriminatingValue(discriminatingValue);
// Check for explicit mapping
String mappedSchema = mapping.get(discriminatingValue);
diff --git a/src/main/java/com/networknt/schema/keyword/DynamicRefValidator.java b/src/main/java/com/networknt/schema/keyword/DynamicRefValidator.java
index fc6d497dc..ea6038198 100644
--- a/src/main/java/com/networknt/schema/keyword/DynamicRefValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/DynamicRefValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.InvalidSchemaRefException;
@@ -96,7 +96,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
Error error = error().keyword(KeywordType.DYNAMIC_REF.getValue())
.messageKey("internal.unresolvedRef").message("Reference {0} cannot be resolved")
.instanceLocation(instanceLocation).evaluationPath(executionContext.getEvaluationPath())
- .arguments(schemaNode.asText()).build();
+ .arguments(schemaNode.asString()).build();
throw new InvalidSchemaRefException(error);
}
refSchema.validate(executionContext, node, rootNode, instanceLocation);
@@ -112,7 +112,7 @@ public void walk(ExecutionContext executionContext, JsonNode node, JsonNode root
Error error = error().keyword(KeywordType.DYNAMIC_REF.getValue())
.messageKey("internal.unresolvedRef").message("Reference {0} cannot be resolved")
.instanceLocation(instanceLocation).evaluationPath(executionContext.getEvaluationPath())
- .arguments(schemaNode.asText()).build();
+ .arguments(schemaNode.asString()).build();
throw new InvalidSchemaRefException(error);
}
if (node == null) {
@@ -134,7 +134,7 @@ public void walk(ExecutionContext executionContext, JsonNode node, JsonNode root
}
public SchemaRef getSchemaRef(ExecutionContext executionContext ) {
- String refValue = schemaNode.asText();
+ String refValue = schemaNode.asString();
return getRefSchema(this.getParentSchema(), refValue, executionContext);
}
}
diff --git a/src/main/java/com/networknt/schema/keyword/EnumValidator.java b/src/main/java/com/networknt/schema/keyword/EnumValidator.java
index 8ee06e794..ee56528df 100644
--- a/src/main/java/com/networknt/schema/keyword/EnumValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/EnumValidator.java
@@ -16,10 +16,10 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.DecimalNode;
-import com.fasterxml.jackson.databind.node.NullNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.node.DecimalNode;
+import tools.jackson.databind.node.NullNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -28,7 +28,6 @@
import com.networknt.schema.utils.TypeFactory;
import com.networknt.schema.SchemaContext;
-import java.math.BigDecimal;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@@ -40,12 +39,12 @@ public class EnumValidator extends BaseKeywordValidator implements KeywordValida
private final Set nodes;
private final String error;
- static String asText(JsonNode node) {
- if (node.isObject() || node.isArray() || node.isTextual()) {
- // toString for isTextual is so that there are quotes
+ static String asString(JsonNode node) {
+ if (node.isObject() || node.isArray() || node.isString()) {
+ // toString for isString is so that there are quotes
return node.toString();
}
- return node.asText();
+ return node.asString();
}
public EnumValidator(SchemaLocation schemaLocation, JsonNode schemaNode, Schema parentSchema, SchemaContext schemaContext) {
@@ -69,7 +68,7 @@ public EnumValidator(SchemaLocation schemaLocation, JsonNode schemaNode, Schema
}
sb.append(separator);
- sb.append(asText(n));
+ sb.append(asString(n));
separator = ", ";
}
@@ -112,9 +111,9 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
*/
private boolean isTypeLooseContainsInEnum(JsonNode node) {
if (TypeFactory.getValueNodeType(node, this.schemaContext.getSchemaRegistryConfig()) == JsonType.STRING) {
- String nodeText = node.textValue();
+ String nodeText = node.asString();
for (JsonNode n : nodes) {
- String value = n.asText();
+ String value = n.asString();
if (value != null && value.equals(nodeText)) {
return true;
}
@@ -130,7 +129,7 @@ private boolean isTypeLooseContainsInEnum(JsonNode node) {
* @return the node
*/
protected JsonNode processNumberNode(JsonNode n) {
- return DecimalNode.valueOf(new BigDecimal(n.decimalValue().toPlainString()));
+ return DecimalNode.valueOf(n.decimalValue().stripTrailingZeros());
}
/**
diff --git a/src/main/java/com/networknt/schema/keyword/ExclusiveMaximumValidator.java b/src/main/java/com/networknt/schema/keyword/ExclusiveMaximumValidator.java
index d7aa9f5d7..c73dee01b 100644
--- a/src/main/java/com/networknt/schema/keyword/ExclusiveMaximumValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/ExclusiveMaximumValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaException;
@@ -40,7 +40,7 @@ public ExclusiveMaximumValidator(SchemaLocation schemaLocation, final JsonNode s
if (!schemaNode.isNumber()) {
throw new SchemaException("exclusiveMaximum value is not a number");
}
- final String maximumText = schemaNode.asText();
+ final String maximumText = schemaNode.asString();
if ((schemaNode.isLong() || schemaNode.isInt()) && (JsonType.INTEGER.toString().equals(getNodeFieldType()))) {
// "integer", and within long range
final long lm = schemaNode.asLong();
@@ -49,12 +49,12 @@ public ExclusiveMaximumValidator(SchemaLocation schemaLocation, final JsonNode s
public boolean crossesThreshold(JsonNode node) {
if (node.isBigInteger()) {
//node.isBigInteger is not trustable, the type BigInteger doesn't mean it is a big number.
- int compare = node.bigIntegerValue().compareTo(new BigInteger(schemaNode.asText()));
+ int compare = node.bigIntegerValue().compareTo(new BigInteger(schemaNode.asString()));
return compare > 0 || compare == 0;
- } else if (node.isTextual()) {
+ } else if (node.isString()) {
BigDecimal max = new BigDecimal(maximumText);
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(max);
return compare > 0 || compare == 0;
}
@@ -84,7 +84,7 @@ public boolean crossesThreshold(JsonNode node) {
return true;
}
final BigDecimal max = new BigDecimal(maximumText);
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(max);
return compare > 0 || compare == 0;
}
diff --git a/src/main/java/com/networknt/schema/keyword/ExclusiveMinimumValidator.java b/src/main/java/com/networknt/schema/keyword/ExclusiveMinimumValidator.java
index 200965fd7..600e37dce 100644
--- a/src/main/java/com/networknt/schema/keyword/ExclusiveMinimumValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/ExclusiveMinimumValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaException;
@@ -44,7 +44,7 @@ public ExclusiveMinimumValidator(SchemaLocation schemaLocation, final JsonNode s
if (!schemaNode.isNumber()) {
throw new SchemaException("exclusiveMinimum value is not a number");
}
- final String minimumText = schemaNode.asText();
+ final String minimumText = schemaNode.asString();
if ((schemaNode.isLong() || schemaNode.isInt()) && JsonType.INTEGER.toString().equals(getNodeFieldType())) {
// "integer", and within long range
final long lmin = schemaNode.asLong();
@@ -56,9 +56,9 @@ public boolean crossesThreshold(JsonNode node) {
int compare = node.bigIntegerValue().compareTo(new BigInteger(minimumText));
return compare < 0 || compare == 0;
- } else if (node.isTextual()) {
+ } else if (node.isString()) {
BigDecimal min = new BigDecimal(minimumText);
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(min);
return compare < 0 || compare == 0;
@@ -91,7 +91,7 @@ public boolean crossesThreshold(JsonNode node) {
return false;
}
final BigDecimal min = new BigDecimal(minimumText);
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(min);
return compare < 0 || compare == 0;
}
diff --git a/src/main/java/com/networknt/schema/keyword/FalseValidator.java b/src/main/java/com/networknt/schema/keyword/FalseValidator.java
index 49025e2c1..b6654120b 100644
--- a/src/main/java/com/networknt/schema/keyword/FalseValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/FalseValidator.java
@@ -15,7 +15,7 @@
*/
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaContext;
diff --git a/src/main/java/com/networknt/schema/keyword/FormatKeyword.java b/src/main/java/com/networknt/schema/keyword/FormatKeyword.java
index 6e35bc112..a5b4ea4e2 100644
--- a/src/main/java/com/networknt/schema/keyword/FormatKeyword.java
+++ b/src/main/java/com/networknt/schema/keyword/FormatKeyword.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
import com.networknt.schema.format.Format;
@@ -53,8 +53,8 @@ Collection getFormats() {
@Override
public KeywordValidator newValidator(SchemaLocation schemaLocation, JsonNode schemaNode, Schema parentSchema, SchemaContext schemaContext) {
Format format = null;
- if (schemaNode != null && schemaNode.isTextual()) {
- String formatName = schemaNode.textValue();
+ if (schemaNode != null && schemaNode.isString()) {
+ String formatName = schemaNode.asString();
format = this.formats.get(formatName);
}
return new FormatValidator(schemaLocation, schemaNode, parentSchema, schemaContext, format,
diff --git a/src/main/java/com/networknt/schema/keyword/FormatValidator.java b/src/main/java/com/networknt/schema/keyword/FormatValidator.java
index f9a6c5814..c7a917ae2 100644
--- a/src/main/java/com/networknt/schema/keyword/FormatValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/FormatValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -54,7 +54,7 @@ protected Object getAnnotationValue() {
if (this.format != null) {
return this.format.getName();
}
- return this.schemaNode.isTextual() ? schemaNode.textValue() : null;
+ return this.schemaNode.isString() ? schemaNode.asString() : null;
}
public void validate(ExecutionContext executionContext, JsonNode node, JsonNode rootNode, NodePath instanceLocation) {
@@ -104,9 +104,9 @@ protected void validateUnknownFormat(ExecutionContext executionContext,
* Unknown formats should create an assertion if the vocab is specified
* according to the specification.
*/
- if (createUnknownFormatAssertions(executionContext) && this.schemaNode.isTextual()) {
+ if (createUnknownFormatAssertions(executionContext) && this.schemaNode.isString()) {
executionContext.addError(error().instanceLocation(instanceLocation).instanceNode(node)
- .evaluationPath(executionContext.getEvaluationPath()).messageKey("format.unknown").arguments(schemaNode.textValue()).build());
+ .evaluationPath(executionContext.getEvaluationPath()).messageKey("format.unknown").arguments(schemaNode.asString()).build());
}
}
diff --git a/src/main/java/com/networknt/schema/keyword/IfValidator.java b/src/main/java/com/networknt/schema/keyword/IfValidator.java
index 22e5053be..09a7a9749 100644
--- a/src/main/java/com/networknt/schema/keyword/IfValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/IfValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
diff --git a/src/main/java/com/networknt/schema/keyword/ItemsLegacyValidator.java b/src/main/java/com/networknt/schema/keyword/ItemsLegacyValidator.java
index 5c83a5658..377e837c8 100644
--- a/src/main/java/com/networknt/schema/keyword/ItemsLegacyValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/ItemsLegacyValidator.java
@@ -20,8 +20,8 @@
import java.util.Collections;
import java.util.List;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.ArrayNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaContext;
diff --git a/src/main/java/com/networknt/schema/keyword/ItemsValidator.java b/src/main/java/com/networknt/schema/keyword/ItemsValidator.java
index 5938a247c..b77c3a2cd 100644
--- a/src/main/java/com/networknt/schema/keyword/ItemsValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/ItemsValidator.java
@@ -16,8 +16,8 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.ArrayNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaRef;
diff --git a/src/main/java/com/networknt/schema/keyword/Keyword.java b/src/main/java/com/networknt/schema/keyword/Keyword.java
index 596c7ea62..5298dac84 100644
--- a/src/main/java/com/networknt/schema/keyword/Keyword.java
+++ b/src/main/java/com/networknt/schema/keyword/Keyword.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaException;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/KeywordType.java b/src/main/java/com/networknt/schema/keyword/KeywordType.java
index a199cde1b..ca205db09 100644
--- a/src/main/java/com/networknt/schema/keyword/KeywordType.java
+++ b/src/main/java/com/networknt/schema/keyword/KeywordType.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
import com.networknt.schema.SpecificationVersion;
diff --git a/src/main/java/com/networknt/schema/keyword/MaxItemsValidator.java b/src/main/java/com/networknt/schema/keyword/MaxItemsValidator.java
index 049101155..b87ac16d2 100644
--- a/src/main/java/com/networknt/schema/keyword/MaxItemsValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/MaxItemsValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/MaxLengthValidator.java b/src/main/java/com/networknt/schema/keyword/MaxLengthValidator.java
index 0e1cda817..af172513d 100644
--- a/src/main/java/com/networknt/schema/keyword/MaxLengthValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/MaxLengthValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -48,7 +48,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
// ignore no-string typs
return;
}
- if (node.textValue().codePointCount(0, node.textValue().length()) > this.maxLength) {
+ if (node.asString().codePointCount(0, node.asString().length()) > this.maxLength) {
executionContext.addError(error().instanceNode(node).instanceLocation(instanceLocation)
.evaluationPath(executionContext.getEvaluationPath()).locale(executionContext.getExecutionConfig().getLocale())
.arguments(this.maxLength).build());
diff --git a/src/main/java/com/networknt/schema/keyword/MaxPropertiesValidator.java b/src/main/java/com/networknt/schema/keyword/MaxPropertiesValidator.java
index edef1cd95..8c8391c6d 100644
--- a/src/main/java/com/networknt/schema/keyword/MaxPropertiesValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/MaxPropertiesValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/MaximumValidator.java b/src/main/java/com/networknt/schema/keyword/MaximumValidator.java
index 8b5db4096..2d38e2f08 100644
--- a/src/main/java/com/networknt/schema/keyword/MaximumValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/MaximumValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaException;
@@ -53,7 +53,7 @@ public MaximumValidator(SchemaLocation schemaLocation, final JsonNode schemaNode
this.excludeEqual = false;
}
- final String maximumText = schemaNode.asText();
+ final String maximumText = schemaNode.asString();
if ((schemaNode.isLong() || schemaNode.isInt()) && (JsonType.INTEGER.toString().equals(getNodeFieldType()))) {
// "integer", and within long range
final long lm = schemaNode.asLong();
@@ -62,12 +62,12 @@ public MaximumValidator(SchemaLocation schemaLocation, final JsonNode schemaNode
public boolean crossesThreshold(JsonNode node) {
if (node.isBigInteger()) {
//node.isBigInteger is not trustable, the type BigInteger doesn't mean it is a big number.
- int compare = node.bigIntegerValue().compareTo(new BigInteger(schemaNode.asText()));
+ int compare = node.bigIntegerValue().compareTo(new BigInteger(schemaNode.asString()));
return compare > 0 || (excludeEqual && compare == 0);
- } else if (node.isTextual()) {
+ } else if (node.isString()) {
BigDecimal max = new BigDecimal(maximumText);
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(max);
return compare > 0 || (excludeEqual && compare == 0);
}
@@ -97,7 +97,7 @@ public boolean crossesThreshold(JsonNode node) {
return true;
}
final BigDecimal max = new BigDecimal(maximumText);
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(max);
return compare > 0 || (excludeEqual && compare == 0);
}
diff --git a/src/main/java/com/networknt/schema/keyword/MinItemsValidator.java b/src/main/java/com/networknt/schema/keyword/MinItemsValidator.java
index 64a1b8aae..12be3fa8e 100644
--- a/src/main/java/com/networknt/schema/keyword/MinItemsValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/MinItemsValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/MinLengthValidator.java b/src/main/java/com/networknt/schema/keyword/MinLengthValidator.java
index c19f70709..111ef34e0 100644
--- a/src/main/java/com/networknt/schema/keyword/MinLengthValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/MinLengthValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -48,7 +48,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
return;
}
- if (node.textValue().codePointCount(0, node.textValue().length()) < minLength) {
+ if (node.asString().codePointCount(0, node.asString().length()) < minLength) {
executionContext.addError(error().instanceNode(node).instanceLocation(instanceLocation)
.evaluationPath(executionContext.getEvaluationPath()).locale(executionContext.getExecutionConfig().getLocale())
.arguments(minLength).build());
diff --git a/src/main/java/com/networknt/schema/keyword/MinMaxContainsValidator.java b/src/main/java/com/networknt/schema/keyword/MinMaxContainsValidator.java
index 2ba469004..2f11fcf70 100644
--- a/src/main/java/com/networknt/schema/keyword/MinMaxContainsValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/MinMaxContainsValidator.java
@@ -1,6 +1,6 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/MinPropertiesValidator.java b/src/main/java/com/networknt/schema/keyword/MinPropertiesValidator.java
index 69fea4e8a..68d34526b 100644
--- a/src/main/java/com/networknt/schema/keyword/MinPropertiesValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/MinPropertiesValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/MinimumValidator.java b/src/main/java/com/networknt/schema/keyword/MinimumValidator.java
index 627b6895c..25012b7da 100644
--- a/src/main/java/com/networknt/schema/keyword/MinimumValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/MinimumValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaException;
@@ -57,7 +57,7 @@ public MinimumValidator(SchemaLocation schemaLocation, final JsonNode schemaNode
this.excludeEqual = false;
}
- final String minimumText = schemaNode.asText();
+ final String minimumText = schemaNode.asString();
if ((schemaNode.isLong() || schemaNode.isInt()) && JsonType.INTEGER.toString().equals(getNodeFieldType())) {
// "integer", and within long range
final long lmin = schemaNode.asLong();
@@ -69,9 +69,9 @@ public boolean crossesThreshold(JsonNode node) {
int compare = node.bigIntegerValue().compareTo(new BigInteger(minimumText));
return compare < 0 || (excludeEqual && compare == 0);
- } else if (node.isTextual()) {
+ } else if (node.isString()) {
BigDecimal min = new BigDecimal(minimumText);
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(min);
return compare < 0 || (excludeEqual && compare == 0);
@@ -104,7 +104,7 @@ public boolean crossesThreshold(JsonNode node) {
return false;
}
final BigDecimal min = new BigDecimal(minimumText);
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(min);
return compare < 0 || (excludeEqual && compare == 0);
}
diff --git a/src/main/java/com/networknt/schema/keyword/MultipleOfValidator.java b/src/main/java/com/networknt/schema/keyword/MultipleOfValidator.java
index edf72be06..275e4703d 100644
--- a/src/main/java/com/networknt/schema/keyword/MultipleOfValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/MultipleOfValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -86,7 +86,7 @@ protected BigDecimal getDividend(JsonNode node) {
} else if (this.schemaContext.getSchemaRegistryConfig().isTypeLoose()
&& JsonNodeTypes.isNumber(node, this.schemaContext.getSchemaRegistryConfig())) {
// handling for type loose
- return new BigDecimal(node.textValue());
+ return new BigDecimal(node.asString());
}
return null;
}
diff --git a/src/main/java/com/networknt/schema/keyword/NonValidationKeyword.java b/src/main/java/com/networknt/schema/keyword/NonValidationKeyword.java
index e49236084..679020e41 100644
--- a/src/main/java/com/networknt/schema/keyword/NonValidationKeyword.java
+++ b/src/main/java/com/networknt/schema/keyword/NonValidationKeyword.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -43,7 +43,7 @@ public Validator(SchemaLocation schemaLocation, JsonNode schemaNode,
schemaContext.newSchema(schemaLocation, schemaNode, parentSchema);
}
if ("$defs".equals(keyword.getValue()) || "definitions".equals(keyword.getValue())) {
- for (Iterator> field = schemaNode.fields(); field.hasNext(); ) {
+ for (Iterator> field = schemaNode.properties().iterator(); field.hasNext(); ) {
Entry property = field.next();
SchemaLocation location = schemaLocation.append(property.getKey());
Schema schema = schemaContext.newSchema(location,
diff --git a/src/main/java/com/networknt/schema/keyword/NotAllowedValidator.java b/src/main/java/com/networknt/schema/keyword/NotAllowedValidator.java
index 7f09b7382..3509ec028 100644
--- a/src/main/java/com/networknt/schema/keyword/NotAllowedValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/NotAllowedValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -37,7 +37,7 @@ public NotAllowedValidator(SchemaLocation schemaLocation, JsonNode schemaNode, S
int size = schemaNode.size();
this.fieldNames = new ArrayList<>(size);
for (int i = 0; i < size; i++) {
- fieldNames.add(schemaNode.get(i).asText());
+ fieldNames.add(schemaNode.get(i).asString());
}
} else {
this.fieldNames = Collections.emptyList();
diff --git a/src/main/java/com/networknt/schema/keyword/NotValidator.java b/src/main/java/com/networknt/schema/keyword/NotValidator.java
index a183c7636..170fcaf0c 100644
--- a/src/main/java/com/networknt/schema/keyword/NotValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/NotValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
diff --git a/src/main/java/com/networknt/schema/keyword/OneOfValidator.java b/src/main/java/com/networknt/schema/keyword/OneOfValidator.java
index 4358daadf..a93632085 100644
--- a/src/main/java/com/networknt/schema/keyword/OneOfValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/OneOfValidator.java
@@ -19,7 +19,7 @@
import java.util.ArrayList;
import java.util.List;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
@@ -117,7 +117,7 @@ protected void validate(ExecutionContext executionContext, JsonNode node, JsonNo
DiscriminatorState discriminator = executionContext.getDiscriminatorMapping().get(instanceLocation);
JsonNode refNode = schema.getSchemaNode().get("$ref");
if (discriminator != null && refNode != null && discriminator.hasDiscriminatingValue()) {
- discriminatorMatchFound = discriminator.matches(refNode.asText());
+ discriminatorMatchFound = discriminator.matches(refNode.asString());
if (discriminatorMatchFound) {
/*
* Note that discriminator cannot change the outcome of the evaluation but can
diff --git a/src/main/java/com/networknt/schema/keyword/PatternPropertiesValidator.java b/src/main/java/com/networknt/schema/keyword/PatternPropertiesValidator.java
index 6dc0355bc..c1ebcd8fa 100644
--- a/src/main/java/com/networknt/schema/keyword/PatternPropertiesValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/PatternPropertiesValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaException;
@@ -41,7 +41,7 @@ public PatternPropertiesValidator(SchemaLocation schemaLocation, JsonNode schema
if (!schemaNode.isObject()) {
throw new SchemaException("patternProperties must be an object node");
}
- Iterator names = schemaNode.fieldNames();
+ Iterator names = schemaNode.propertyNames().iterator();
while (names.hasNext()) {
String name = names.next();
RegularExpression pattern = RegularExpression.compile(name, schemaContext);
@@ -57,7 +57,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
return;
}
Set matchedInstancePropertyNames = null;
- Iterator> fields = node.fields();
+ Iterator> fields = node.properties().iterator();
boolean collectAnnotations = hasUnevaluatedPropertiesInEvaluationPath(executionContext) || collectAnnotations(executionContext);
while (fields.hasNext()) {
Entry field = fields.next();
diff --git a/src/main/java/com/networknt/schema/keyword/PatternValidator.java b/src/main/java/com/networknt/schema/keyword/PatternValidator.java
index b5fcc51b1..1b7d01bec 100644
--- a/src/main/java/com/networknt/schema/keyword/PatternValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/PatternValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.FailFastAssertionException;
import com.networknt.schema.Schema;
@@ -41,7 +41,7 @@ public class PatternValidator extends BaseKeywordValidator {
public PatternValidator(SchemaLocation schemaLocation, JsonNode schemaNode, Schema parentSchema, SchemaContext schemaContext) {
super(KeywordType.PATTERN, schemaNode, schemaLocation, parentSchema, schemaContext);
- this.pattern = Optional.ofNullable(schemaNode).filter(JsonNode::isTextual).map(JsonNode::textValue).orElse(null);
+ this.pattern = Optional.ofNullable(schemaNode).filter(JsonNode::isString).map(JsonNode::asString).orElse(null);
try {
this.compiledPattern = RegularExpression.compile(this.pattern, schemaContext);
} catch (RuntimeException e) {
@@ -65,7 +65,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
}
try {
- if (!matches(node.asText())) {
+ if (!matches(node.asString())) {
executionContext.addError(error().instanceNode(node).instanceLocation(instanceLocation)
.evaluationPath(executionContext.getEvaluationPath()).locale(executionContext.getExecutionConfig().getLocale())
.arguments(this.pattern).build());
diff --git a/src/main/java/com/networknt/schema/keyword/PrefixItemsValidator.java b/src/main/java/com/networknt/schema/keyword/PrefixItemsValidator.java
index 0d443b3f4..2ec6e86e4 100644
--- a/src/main/java/com/networknt/schema/keyword/PrefixItemsValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/PrefixItemsValidator.java
@@ -16,8 +16,8 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.ArrayNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaRef;
diff --git a/src/main/java/com/networknt/schema/keyword/PropertiesValidator.java b/src/main/java/com/networknt/schema/keyword/PropertiesValidator.java
index c31439d72..05e51cc84 100644
--- a/src/main/java/com/networknt/schema/keyword/PropertiesValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/PropertiesValidator.java
@@ -16,10 +16,10 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.JsonNodeType;
-import com.fasterxml.jackson.databind.node.MissingNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.JsonNodeType;
+import tools.jackson.databind.node.MissingNode;
+import tools.jackson.databind.node.ObjectNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaRef;
@@ -46,7 +46,7 @@ public class PropertiesValidator extends BaseKeywordValidator {
public PropertiesValidator(SchemaLocation schemaLocation, JsonNode schemaNode, Schema parentSchema, SchemaContext schemaContext) {
super(KeywordType.PROPERTIES, schemaNode, schemaLocation, parentSchema, schemaContext);
- for (Iterator> it = schemaNode.fields(); it.hasNext();) {
+ for (Iterator> it = schemaNode.properties().iterator(); it.hasNext();) {
Entry entry = it.next();
String pname = entry.getKey();
this.schemas.put(pname, schemaContext.newSchema(schemaLocation.append(pname),
diff --git a/src/main/java/com/networknt/schema/keyword/PropertyDependenciesValidator.java b/src/main/java/com/networknt/schema/keyword/PropertyDependenciesValidator.java
index fc257ec49..2d9ee517f 100644
--- a/src/main/java/com/networknt/schema/keyword/PropertyDependenciesValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/PropertyDependenciesValidator.java
@@ -21,7 +21,7 @@
import java.util.Map.Entry;
import java.util.Set;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaContext;
@@ -69,7 +69,7 @@ protected void validate(ExecutionContext executionContext, JsonNode node, JsonNo
Set> properties = node.properties();
for (Entry property : properties) {
String propertyName = property.getKey();
- String propertyValue = property.getValue().asText();
+ String propertyValue = property.getValue().asString();
if (propertyValue != null) {
Map propertySchemas = this.propertyDependencies.get(propertyName);
if (propertySchemas != null) {
diff --git a/src/main/java/com/networknt/schema/keyword/PropertyNamesValidator.java b/src/main/java/com/networknt/schema/keyword/PropertyNamesValidator.java
index df64c28ca..2bdefd6d1 100644
--- a/src/main/java/com/networknt/schema/keyword/PropertyNamesValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/PropertyNamesValidator.java
@@ -19,8 +19,8 @@
import java.util.Iterator;
import java.util.List;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.TextNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.StringNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
@@ -41,9 +41,9 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
List existingErrors = executionContext.getErrors();
List schemaErrors = new ArrayList<>();
executionContext.setErrors(schemaErrors);
- for (Iterator it = node.fieldNames(); it.hasNext(); ) {
+ for (Iterator it = node.propertyNames().iterator(); it.hasNext(); ) {
final String pname = it.next();
- final TextNode pnameText = TextNode.valueOf(pname);
+ final StringNode pnameText = StringNode.valueOf(pname);
innerSchema.validate(executionContext, pnameText, node, instanceLocation.append(pname));
for (final Error schemaError : schemaErrors) {
existingErrors.add(
diff --git a/src/main/java/com/networknt/schema/keyword/ReadOnlyValidator.java b/src/main/java/com/networknt/schema/keyword/ReadOnlyValidator.java
index cd83d4679..351c2177c 100644
--- a/src/main/java/com/networknt/schema/keyword/ReadOnlyValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/ReadOnlyValidator.java
@@ -19,7 +19,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/RecursiveRefValidator.java b/src/main/java/com/networknt/schema/keyword/RecursiveRefValidator.java
index 158528755..5351d794a 100644
--- a/src/main/java/com/networknt/schema/keyword/RecursiveRefValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/RecursiveRefValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.InvalidSchemaRefException;
@@ -37,7 +37,7 @@ public class RecursiveRefValidator extends BaseKeywordValidator {
public RecursiveRefValidator(SchemaLocation schemaLocation, JsonNode schemaNode, Schema parentSchema, SchemaContext schemaContext) {
super(KeywordType.RECURSIVE_REF, schemaNode, schemaLocation, parentSchema, schemaContext);
- String refValue = schemaNode.asText();
+ String refValue = schemaNode.asString(schemaNode.toString());
if (!"#".equals(refValue)) {
Error error = error()
.keyword(KeywordType.RECURSIVE_REF.getValue()).messageKey("internal.invalidRecursiveRef")
@@ -82,7 +82,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
Error error = error().keyword(KeywordType.RECURSIVE_REF.getValue())
.messageKey("internal.unresolvedRef").message("Reference {0} cannot be resolved")
.instanceLocation(instanceLocation).evaluationPath(executionContext.getEvaluationPath())
- .arguments(schemaNode.asText()).build();
+ .arguments(schemaNode.toString()).build();
throw new InvalidSchemaRefException(error);
}
refSchema.validate(executionContext, node, rootNode, instanceLocation);
@@ -99,7 +99,7 @@ public void walk(ExecutionContext executionContext, JsonNode node, JsonNode root
Error error = error().keyword(KeywordType.RECURSIVE_REF.getValue())
.messageKey("internal.unresolvedRef").message("Reference {0} cannot be resolved")
.instanceLocation(instanceLocation).evaluationPath(executionContext.getEvaluationPath())
- .arguments(schemaNode.asText()).build();
+ .arguments(schemaNode.toString()).build();
throw new InvalidSchemaRefException(error);
}
if (node == null) {
diff --git a/src/main/java/com/networknt/schema/keyword/RefValidator.java b/src/main/java/com/networknt/schema/keyword/RefValidator.java
index e691fd8bc..a769399a0 100644
--- a/src/main/java/com/networknt/schema/keyword/RefValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/RefValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.InvalidSchemaRefException;
@@ -42,7 +42,7 @@ public class RefValidator extends BaseKeywordValidator {
public RefValidator(SchemaLocation schemaLocation, JsonNode schemaNode, Schema parentSchema, SchemaContext schemaContext) {
super(KeywordType.REF, schemaNode, schemaLocation, parentSchema, schemaContext);
- String refValue = schemaNode.asText();
+ String refValue = schemaNode.asString();
this.schema = getRefSchema(parentSchema, schemaContext, refValue);
}
@@ -188,7 +188,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
Error error = error().keyword(KeywordType.REF.getValue())
.messageKey("internal.unresolvedRef").message("Reference {0} cannot be resolved")
.instanceLocation(instanceLocation).evaluationPath(executionContext.getEvaluationPath())
- .arguments(schemaNode.asText()).build();
+ .arguments(schemaNode.asString()).build();
throw new InvalidSchemaRefException(error);
}
refSchema.validate(executionContext, node, rootNode, instanceLocation);
@@ -205,7 +205,7 @@ public void walk(ExecutionContext executionContext, JsonNode node, JsonNode root
Error error = error().keyword(KeywordType.REF.getValue())
.messageKey("internal.unresolvedRef").message("Reference {0} cannot be resolved")
.instanceLocation(instanceLocation).evaluationPath(executionContext.getEvaluationPath())
- .arguments(schemaNode.asText()).build();
+ .arguments(schemaNode.asString()).build();
throw new InvalidSchemaRefException(error);
}
if (node == null) {
diff --git a/src/main/java/com/networknt/schema/keyword/RequiredValidator.java b/src/main/java/com/networknt/schema/keyword/RequiredValidator.java
index 7f4dde24e..0b662a828 100644
--- a/src/main/java/com/networknt/schema/keyword/RequiredValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/RequiredValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -36,7 +36,7 @@ public RequiredValidator(SchemaLocation schemaLocation, JsonNode schemaNode, Sch
if (schemaNode.isArray()) {
this.fieldNames = new ArrayList<>(schemaNode.size());
for (JsonNode fieldNme : schemaNode) {
- fieldNames.add(fieldNme.asText());
+ fieldNames.add(fieldNme.asString());
}
} else {
this.fieldNames = Collections.emptyList();
diff --git a/src/main/java/com/networknt/schema/keyword/ThresholdMixin.java b/src/main/java/com/networknt/schema/keyword/ThresholdMixin.java
index de67ea498..697cee770 100644
--- a/src/main/java/com/networknt/schema/keyword/ThresholdMixin.java
+++ b/src/main/java/com/networknt/schema/keyword/ThresholdMixin.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
public interface ThresholdMixin {
boolean crossesThreshold(JsonNode node);
diff --git a/src/main/java/com/networknt/schema/keyword/TrueValidator.java b/src/main/java/com/networknt/schema/keyword/TrueValidator.java
index fad0d0573..c374ba034 100644
--- a/src/main/java/com/networknt/schema/keyword/TrueValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/TrueValidator.java
@@ -15,7 +15,7 @@
*/
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/TypeValidator.java b/src/main/java/com/networknt/schema/keyword/TypeValidator.java
index 70abe92e6..caead2720 100644
--- a/src/main/java/com/networknt/schema/keyword/TypeValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/TypeValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/UnevaluatedItemsValidator.java b/src/main/java/com/networknt/schema/keyword/UnevaluatedItemsValidator.java
index ddeedd319..311125759 100644
--- a/src/main/java/com/networknt/schema/keyword/UnevaluatedItemsValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/UnevaluatedItemsValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/UnevaluatedPropertiesValidator.java b/src/main/java/com/networknt/schema/keyword/UnevaluatedPropertiesValidator.java
index f92f15dd5..cc5deb766 100644
--- a/src/main/java/com/networknt/schema/keyword/UnevaluatedPropertiesValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/UnevaluatedPropertiesValidator.java
@@ -24,7 +24,7 @@
import java.util.function.Predicate;
import java.util.stream.Collectors;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
@@ -115,7 +115,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
boolean failFast = executionContext.isFailFast();
try {
executionContext.setFailFast(false);
- for (Iterator it = node.fieldNames(); it.hasNext();) {
+ for (Iterator it = node.propertyNames().iterator(); it.hasNext();) {
String fieldName = it.next();
if (!existingEvaluatedProperties.contains(fieldName)) {
evaluatedProperties.add(fieldName);
diff --git a/src/main/java/com/networknt/schema/keyword/UnionTypeValidator.java b/src/main/java/com/networknt/schema/keyword/UnionTypeValidator.java
index be4f29429..79a877f22 100644
--- a/src/main/java/com/networknt/schema/keyword/UnionTypeValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/UnionTypeValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
diff --git a/src/main/java/com/networknt/schema/keyword/UniqueItemsValidator.java b/src/main/java/com/networknt/schema/keyword/UniqueItemsValidator.java
index 05f5bc080..5ed31ab51 100644
--- a/src/main/java/com/networknt/schema/keyword/UniqueItemsValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/UniqueItemsValidator.java
@@ -16,7 +16,7 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/keyword/WriteOnlyValidator.java b/src/main/java/com/networknt/schema/keyword/WriteOnlyValidator.java
index 3537395d6..d9d634144 100644
--- a/src/main/java/com/networknt/schema/keyword/WriteOnlyValidator.java
+++ b/src/main/java/com/networknt/schema/keyword/WriteOnlyValidator.java
@@ -3,7 +3,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaLocation;
diff --git a/src/main/java/com/networknt/schema/output/OutputFlag.java b/src/main/java/com/networknt/schema/output/OutputFlag.java
index 413bce06d..14a5093ea 100644
--- a/src/main/java/com/networknt/schema/output/OutputFlag.java
+++ b/src/main/java/com/networknt/schema/output/OutputFlag.java
@@ -2,7 +2,7 @@
import java.util.Objects;
-import com.fasterxml.jackson.core.JsonProcessingException;
+import tools.jackson.core.JacksonException;
import com.networknt.schema.serialization.JsonMapperFactory;
/**
@@ -40,7 +40,7 @@ public boolean equals(Object obj) {
public String toString() {
try {
return JsonMapperFactory.getInstance().writerWithDefaultPrettyPrinter().writeValueAsString(this);
- } catch (JsonProcessingException e) {
+ } catch (JacksonException e) {
return "OutputFlag [valid=" + valid + "]";
}
}
diff --git a/src/main/java/com/networknt/schema/output/OutputUnit.java b/src/main/java/com/networknt/schema/output/OutputUnit.java
index e85a05b54..61a8df8c1 100644
--- a/src/main/java/com/networknt/schema/output/OutputUnit.java
+++ b/src/main/java/com/networknt/schema/output/OutputUnit.java
@@ -23,7 +23,7 @@
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.networknt.schema.serialization.JsonMapperFactory;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
+import tools.jackson.core.JacksonException;
/**
* Represents an output unit.
@@ -141,7 +141,7 @@ public boolean equals(Object obj) {
public String toString() {
try {
return JsonMapperFactory.getInstance().writerWithDefaultPrettyPrinter().writeValueAsString(this);
- } catch (JsonProcessingException e) {
+ } catch (JacksonException e) {
return "OutputUnit [valid=" + valid + ", evaluationPath=" + evaluationPath + ", schemaLocation="
+ schemaLocation + ", instanceLocation=" + instanceLocation + ", errors=" + errors
+ ", annotations=" + annotations + ", droppedAnnotations=" + droppedAnnotations + ", details="
diff --git a/src/main/java/com/networknt/schema/output/OutputUnitKey.java b/src/main/java/com/networknt/schema/output/OutputUnitKey.java
index b5b23ebc5..d726d0cf9 100644
--- a/src/main/java/com/networknt/schema/output/OutputUnitKey.java
+++ b/src/main/java/com/networknt/schema/output/OutputUnitKey.java
@@ -17,9 +17,9 @@
import java.util.Objects;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.annotation.JsonSerialize;
+import tools.jackson.databind.ser.std.ToStringSerializer;
import com.networknt.schema.SchemaLocation;
import com.networknt.schema.path.NodePath;
import com.networknt.schema.serialization.JsonMapperFactory;
@@ -77,7 +77,7 @@ public boolean equals(Object obj) {
public String toString() {
try {
return JsonMapperFactory.getInstance().writerWithDefaultPrettyPrinter().writeValueAsString(this);
- } catch (JsonProcessingException e) {
+ } catch (JacksonException e) {
return "OutputUnitKey [evaluationPath=" + evaluationPath + ", schemaLocation=" + schemaLocation
+ ", instanceLocation=" + instanceLocation + "]";
}
diff --git a/src/main/java/com/networknt/schema/serialization/BasicNodeReader.java b/src/main/java/com/networknt/schema/serialization/BasicNodeReader.java
index 08d8c106a..33e982e17 100644
--- a/src/main/java/com/networknt/schema/serialization/BasicNodeReader.java
+++ b/src/main/java/com/networknt/schema/serialization/BasicNodeReader.java
@@ -19,8 +19,8 @@
import java.io.IOException;
import java.io.InputStream;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.InputFormat;
/**
diff --git a/src/main/java/com/networknt/schema/serialization/DefaultNodeReader.java b/src/main/java/com/networknt/schema/serialization/DefaultNodeReader.java
index 242887fd5..dc2e7da43 100644
--- a/src/main/java/com/networknt/schema/serialization/DefaultNodeReader.java
+++ b/src/main/java/com/networknt/schema/serialization/DefaultNodeReader.java
@@ -3,8 +3,8 @@
import java.io.IOException;
import java.io.InputStream;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.InputFormat;
import com.networknt.schema.serialization.node.JsonNodeFactoryFactory;
import com.networknt.schema.serialization.node.LocationJsonNodeFactoryFactory;
diff --git a/src/main/java/com/networknt/schema/serialization/JsonMapperFactory.java b/src/main/java/com/networknt/schema/serialization/JsonMapperFactory.java
index 7a24e2939..5259e984e 100644
--- a/src/main/java/com/networknt/schema/serialization/JsonMapperFactory.java
+++ b/src/main/java/com/networknt/schema/serialization/JsonMapperFactory.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.json.JsonMapper;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
/**
* Json Mapper Factory.
@@ -27,7 +27,7 @@ public class JsonMapperFactory {
* The holder defers the classloading until it is used.
*/
private static class Holder {
- private static final ObjectMapper INSTANCE = JsonMapper.builder().build();
+ private static final ObjectMapper INSTANCE = JsonMapper.shared();
}
/**
diff --git a/src/main/java/com/networknt/schema/serialization/NodeReader.java b/src/main/java/com/networknt/schema/serialization/NodeReader.java
index 39cff35d1..2e1615275 100644
--- a/src/main/java/com/networknt/schema/serialization/NodeReader.java
+++ b/src/main/java/com/networknt/schema/serialization/NodeReader.java
@@ -18,7 +18,7 @@
import java.io.IOException;
import java.io.InputStream;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.InputFormat;
/**
diff --git a/src/main/java/com/networknt/schema/serialization/YamlMapperFactory.java b/src/main/java/com/networknt/schema/serialization/YamlMapperFactory.java
index ea0b7a2df..577e0c59e 100644
--- a/src/main/java/com/networknt/schema/serialization/YamlMapperFactory.java
+++ b/src/main/java/com/networknt/schema/serialization/YamlMapperFactory.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.dataformat.yaml.YAMLMapper;
/**
* YAML Mapper Factory.
@@ -27,7 +27,7 @@ public class YamlMapperFactory {
* The holder defers the classloading until it is used.
*/
private static class Holder {
- private static final ObjectMapper INSTANCE = YAMLMapper.builder().build();
+ private static final ObjectMapper INSTANCE = YAMLMapper.shared();
}
/**
diff --git a/src/main/java/com/networknt/schema/serialization/node/JsonNodeFactoryFactory.java b/src/main/java/com/networknt/schema/serialization/node/JsonNodeFactoryFactory.java
index cfaf6e5ee..52dc840fe 100644
--- a/src/main/java/com/networknt/schema/serialization/node/JsonNodeFactoryFactory.java
+++ b/src/main/java/com/networknt/schema/serialization/node/JsonNodeFactoryFactory.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.core.JsonParser;
+import tools.jackson.databind.node.JsonNodeFactory;
/**
* Factory that produces a {@link JsonNodeFactory}.
diff --git a/src/main/java/com/networknt/schema/serialization/node/LocationJsonNodeFactory.java b/src/main/java/com/networknt/schema/serialization/node/LocationJsonNodeFactory.java
index 87fa9ec75..e4e666112 100644
--- a/src/main/java/com/networknt/schema/serialization/node/LocationJsonNodeFactory.java
+++ b/src/main/java/com/networknt/schema/serialization/node/LocationJsonNodeFactory.java
@@ -18,18 +18,18 @@
import java.math.BigDecimal;
import java.math.BigInteger;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.BinaryNode;
-import com.fasterxml.jackson.databind.node.BooleanNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.NullNode;
-import com.fasterxml.jackson.databind.node.NumericNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.fasterxml.jackson.databind.node.TextNode;
-import com.fasterxml.jackson.databind.node.ValueNode;
-import com.fasterxml.jackson.databind.util.RawValue;
+import tools.jackson.core.JsonParser;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.node.BinaryNode;
+import tools.jackson.databind.node.BooleanNode;
+import tools.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.databind.node.NullNode;
+import tools.jackson.databind.node.NumericNode;
+import tools.jackson.databind.node.ObjectNode;
+import tools.jackson.databind.node.StringNode;
+import tools.jackson.databind.node.ValueNode;
+import tools.jackson.databind.util.RawValue;
/**
* {@link JsonNodeFactory} that creates {@link TokenStreamLocationAware} nodes.
@@ -141,8 +141,8 @@ public ValueNode numberNode(BigDecimal v) {
}
@Override
- public TextNode textNode(String text) {
- return new TokenStreamLocationAwareTextNode(text, this.jsonParser.currentTokenLocation());
+ public StringNode stringNode(String text) {
+ return new TokenStreamLocationAwareStringNode(text, this.jsonParser.currentTokenLocation());
}
@Override
diff --git a/src/main/java/com/networknt/schema/serialization/node/LocationJsonNodeFactoryFactory.java b/src/main/java/com/networknt/schema/serialization/node/LocationJsonNodeFactoryFactory.java
index 2adee508a..83b1137d8 100644
--- a/src/main/java/com/networknt/schema/serialization/node/LocationJsonNodeFactoryFactory.java
+++ b/src/main/java/com/networknt/schema/serialization/node/LocationJsonNodeFactoryFactory.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.core.JsonParser;
+import tools.jackson.databind.node.JsonNodeFactory;
/**
* {@link JsonNodeFactoryFactory} that produces {@link LocationJsonNodeFactory}.
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAware.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAware.java
index 073970292..9d2add0d6 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAware.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAware.java
@@ -15,7 +15,7 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
+import tools.jackson.core.TokenStreamLocation;
/**
* JsonNodes that are aware of the token location will implement this interface.
@@ -26,5 +26,5 @@ public interface TokenStreamLocationAware {
*
* @return the token location
*/
- JsonLocation tokenStreamLocation();
+ TokenStreamLocation tokenStreamLocation();
}
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareArrayNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareArrayNode.java
index cfa6569d2..367217541 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareArrayNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareArrayNode.java
@@ -17,10 +17,10 @@
import java.util.List;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.node.JsonNodeFactory;
/**
* {@link ArrayNode} that is {@link TokenStreamLocationAware}.
@@ -30,25 +30,25 @@ public class TokenStreamLocationAwareArrayNode extends ArrayNode implements Toke
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareArrayNode(JsonNodeFactory nf, int capacity, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareArrayNode(JsonNodeFactory nf, int capacity, TokenStreamLocation tokenStreamLocation) {
super(nf, capacity);
this.tokenStreamLocation = tokenStreamLocation;
}
- public TokenStreamLocationAwareArrayNode(JsonNodeFactory nf, List children, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareArrayNode(JsonNodeFactory nf, List children, TokenStreamLocation tokenStreamLocation) {
super(nf, children);
this.tokenStreamLocation = tokenStreamLocation;
}
- public TokenStreamLocationAwareArrayNode(JsonNodeFactory nf, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareArrayNode(JsonNodeFactory nf, TokenStreamLocation tokenStreamLocation) {
super(nf);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
}
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBigIntegerNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBigIntegerNode.java
index c3b621a98..67ff84349 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBigIntegerNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBigIntegerNode.java
@@ -17,8 +17,8 @@
import java.math.BigInteger;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.BigIntegerNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.BigIntegerNode;
/**
* {@link BigIntegerNode} that is {@link TokenStreamLocationAware}.
@@ -28,15 +28,15 @@ public class TokenStreamLocationAwareBigIntegerNode extends BigIntegerNode imple
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareBigIntegerNode(BigInteger v, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareBigIntegerNode(BigInteger v, TokenStreamLocation tokenStreamLocation) {
super(v);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
}
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBinaryNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBinaryNode.java
index dc0e46019..cc08b45aa 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBinaryNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBinaryNode.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.BinaryNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.BinaryNode;
/**
* {@link BinaryNode} that is {@link TokenStreamLocationAware}.
@@ -26,21 +26,21 @@ public class TokenStreamLocationAwareBinaryNode extends BinaryNode implements To
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareBinaryNode(byte[] data, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareBinaryNode(byte[] data, TokenStreamLocation tokenStreamLocation) {
super(data);
this.tokenStreamLocation = tokenStreamLocation;
}
- public TokenStreamLocationAwareBinaryNode(byte[] data, int offset, int length, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareBinaryNode(byte[] data, int offset, int length, TokenStreamLocation tokenStreamLocation) {
super(data, offset, length);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
}
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBooleanNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBooleanNode.java
index 867d38445..7c3680b93 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBooleanNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareBooleanNode.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.BooleanNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.BooleanNode;
/**
* {@link BooleanNode} that is {@link TokenStreamLocationAware}.
@@ -26,15 +26,15 @@ public class TokenStreamLocationAwareBooleanNode extends BooleanNode implements
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareBooleanNode(boolean v, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareBooleanNode(boolean v, TokenStreamLocation tokenStreamLocation) {
super(v);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
}
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareDecimalNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareDecimalNode.java
index 5da546b1c..a97b4138b 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareDecimalNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareDecimalNode.java
@@ -17,8 +17,8 @@
import java.math.BigDecimal;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.DecimalNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.DecimalNode;
/**
* {@link DecimalNode} that is {@link TokenStreamLocationAware}.
@@ -28,15 +28,15 @@ public class TokenStreamLocationAwareDecimalNode extends DecimalNode implements
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareDecimalNode(BigDecimal v, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareDecimalNode(BigDecimal v, TokenStreamLocation tokenStreamLocation) {
super(v);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
}
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareDoubleNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareDoubleNode.java
index 5c07ef536..1e7c790cd 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareDoubleNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareDoubleNode.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.DoubleNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.DoubleNode;
/**
* {@link DoubleNode} that is {@link TokenStreamLocationAware}.
@@ -26,15 +26,15 @@ public class TokenStreamLocationAwareDoubleNode extends DoubleNode implements To
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareDoubleNode(double v, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareDoubleNode(double v, TokenStreamLocation tokenStreamLocation) {
super(v);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
}
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareFloatNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareFloatNode.java
index 654d5d0bb..21806fc7e 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareFloatNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareFloatNode.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.FloatNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.FloatNode;
/**
* {@link FloatNode} that is {@link TokenStreamLocationAware}.
@@ -26,15 +26,15 @@ public class TokenStreamLocationAwareFloatNode extends FloatNode implements Toke
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareFloatNode(float v, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareFloatNode(float v, TokenStreamLocation tokenStreamLocation) {
super(v);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareIntNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareIntNode.java
index 5c5e29b9d..ff90ba727 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareIntNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareIntNode.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.IntNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.IntNode;
/**
* {@link IntNode} that is {@link TokenStreamLocationAware}.
@@ -26,15 +26,15 @@ public class TokenStreamLocationAwareIntNode extends IntNode implements TokenStr
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareIntNode(int v, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareIntNode(int v, TokenStreamLocation tokenStreamLocation) {
super(v);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareLongNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareLongNode.java
index 5d107717f..4f655adf8 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareLongNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareLongNode.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.LongNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.LongNode;
/**
* {@link LongNode} that is {@link TokenStreamLocationAware}.
@@ -26,15 +26,15 @@ public class TokenStreamLocationAwareLongNode extends LongNode implements TokenS
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareLongNode(long v, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareLongNode(long v, TokenStreamLocation tokenStreamLocation) {
super(v);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareNullNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareNullNode.java
index 329ebab3c..89577abfd 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareNullNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareNullNode.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.NullNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.NullNode;
/**
* {@link NullNode} that is {@link TokenStreamLocationAware}.
@@ -26,15 +26,15 @@ public class TokenStreamLocationAwareNullNode extends NullNode implements TokenS
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareNullNode(JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareNullNode(TokenStreamLocation tokenStreamLocation) {
super();
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
}
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareObjectNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareObjectNode.java
index b33c04741..875e4cfc0 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareObjectNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareObjectNode.java
@@ -17,10 +17,10 @@
import java.util.Map;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.databind.node.ObjectNode;
/**
* {@link ObjectNode} that is {@link TokenStreamLocationAware}.
@@ -30,20 +30,20 @@ public class TokenStreamLocationAwareObjectNode extends ObjectNode implements To
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareObjectNode(JsonNodeFactory nc, Map children, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareObjectNode(JsonNodeFactory nc, Map children, TokenStreamLocation tokenStreamLocation) {
super(nc, children);
this.tokenStreamLocation = tokenStreamLocation;
}
- public TokenStreamLocationAwareObjectNode(JsonNodeFactory nc, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareObjectNode(JsonNodeFactory nc, TokenStreamLocation tokenStreamLocation) {
super(nc);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
}
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwarePOJONode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwarePOJONode.java
index 5d4c89cdb..35a720bf1 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwarePOJONode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwarePOJONode.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.POJONode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.POJONode;
/**
* {@link POJONode} that is {@link TokenStreamLocationAware}.
@@ -26,15 +26,15 @@ public class TokenStreamLocationAwarePOJONode extends POJONode implements TokenS
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwarePOJONode(Object v, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwarePOJONode(Object v, TokenStreamLocation tokenStreamLocation) {
super(v);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareShortNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareShortNode.java
index 64c7ad886..5c9f95079 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareShortNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareShortNode.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.ShortNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.ShortNode;
/**
* {@link ShortNode} that is {@link TokenStreamLocationAware}.
@@ -26,15 +26,15 @@ public class TokenStreamLocationAwareShortNode extends ShortNode implements Toke
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareShortNode(short v, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareShortNode(short v, TokenStreamLocation tokenStreamLocation) {
super(v);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
}
diff --git a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareTextNode.java b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareStringNode.java
similarity index 63%
rename from src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareTextNode.java
rename to src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareStringNode.java
index 32ebea8c1..4f6f1efae 100644
--- a/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareTextNode.java
+++ b/src/main/java/com/networknt/schema/serialization/node/TokenStreamLocationAwareStringNode.java
@@ -15,26 +15,26 @@
*/
package com.networknt.schema.serialization.node;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.databind.node.TextNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.node.StringNode;
/**
- * {@link TextNode} that is {@link TokenStreamLocationAware}.
+ * {@link StringNode} that is {@link TokenStreamLocationAware}.
*/
-public class TokenStreamLocationAwareTextNode extends TextNode implements TokenStreamLocationAware {
+public class TokenStreamLocationAwareStringNode extends StringNode implements TokenStreamLocationAware {
/**
*
*/
private static final long serialVersionUID = 1L;
- private final JsonLocation tokenStreamLocation;
+ private final TokenStreamLocation tokenStreamLocation;
- public TokenStreamLocationAwareTextNode(String v, JsonLocation tokenStreamLocation) {
+ public TokenStreamLocationAwareStringNode(String v, TokenStreamLocation tokenStreamLocation) {
super(v);
this.tokenStreamLocation = tokenStreamLocation;
}
@Override
- public JsonLocation tokenStreamLocation() {
+ public TokenStreamLocation tokenStreamLocation() {
return this.tokenStreamLocation;
}
}
diff --git a/src/main/java/com/networknt/schema/utils/JsonNodeTypes.java b/src/main/java/com/networknt/schema/utils/JsonNodeTypes.java
index d30f93a8d..51be22b37 100644
--- a/src/main/java/com/networknt/schema/utils/JsonNodeTypes.java
+++ b/src/main/java/com/networknt/schema/utils/JsonNodeTypes.java
@@ -1,6 +1,6 @@
package com.networknt.schema.utils;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaContext;
@@ -17,7 +17,7 @@ public class JsonNodeTypes {
public static boolean isNodeNullable(JsonNode schema){
JsonNode nullable = schema.get(NULLABLE);
- return nullable != null && nullable.asBoolean();
+ return nullable != null && nullable.asBoolean();
}
public static boolean equalsToSchemaType(JsonNode node, JsonType schemaType, Schema parentSchema, SchemaContext schemaContext, ExecutionContext executionContext) {
@@ -27,6 +27,7 @@ public static boolean equalsToSchemaType(JsonNode node, JsonType schemaType, Sch
// same type of schema. In REST API, query parameters, path parameters and headers are all
// string type and we must convert, otherwise, all schema validations will fail.
if (nodeType != schemaType) {
+
if (schemaType == JsonType.NUMBER && nodeType == JsonType.INTEGER) {
return true;
}
@@ -49,24 +50,26 @@ public static boolean equalsToSchemaType(JsonNode node, JsonType schemaType, Sch
if (!config.isStrict("type", Boolean.TRUE) && isEnumObjectSchema(parentSchema, executionContext)) {
return true;
}
- if (config.isTypeLoose()) {
+ if (config != null && config.isTypeLoose()) {
// if typeLoose is true, everything can be a size 1 array
if (schemaType == JsonType.ARRAY) {
return true;
}
if (nodeType == JsonType.STRING) {
if (schemaType == JsonType.INTEGER) {
- return Strings.isInteger(node.textValue());
+ return Strings.isInteger(node.asString());
} else if (schemaType == JsonType.BOOLEAN) {
- return Strings.isBoolean(node.textValue());
+ return Strings.isBoolean(node.asString());
} else if (schemaType == JsonType.NUMBER) {
- return Strings.isNumeric(node.textValue());
+ return Strings.isNumeric(node.asString());
}
}
}
+
if (schemaType == JsonType.ANY) {
return true;
}
+
return false;
}
return true;
@@ -89,7 +92,7 @@ public static boolean isNumber(JsonNode node, SchemaRegistryConfig config) {
return true;
} else if (config.isTypeLoose()) {
if (TypeFactory.getValueNodeType(node, config) == JsonType.STRING) {
- return Strings.isNumeric(node.textValue());
+ return Strings.isNumeric(node.asString());
}
}
return false;
diff --git a/src/main/java/com/networknt/schema/utils/JsonNodes.java b/src/main/java/com/networknt/schema/utils/JsonNodes.java
index e0e76d17c..aa254da48 100644
--- a/src/main/java/com/networknt/schema/utils/JsonNodes.java
+++ b/src/main/java/com/networknt/schema/utils/JsonNodes.java
@@ -15,16 +15,15 @@
*/
package com.networknt.schema.utils;
-import java.io.IOException;
import java.io.InputStream;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectReader;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.core.JsonParser;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectReader;
+import tools.jackson.databind.node.JsonNodeFactory;
import com.networknt.schema.path.NodePath;
import com.networknt.schema.serialization.node.TokenStreamLocationAware;
import com.networknt.schema.serialization.node.JsonNodeFactoryFactory;
@@ -85,13 +84,12 @@ public static T get(JsonNode node, Object propertyOrIndex)
*/
public static JsonNode readTree(ObjectMapper objectMapper, String content,
JsonNodeFactoryFactory jsonNodeFactoryFactory) {
- JsonFactory factory = objectMapper.getFactory();
- try (JsonParser parser = factory.createParser(content)) {
+ try (JsonParser parser = objectMapper.createParser(content)) {
JsonNodeFactory nodeFactory = jsonNodeFactoryFactory.getJsonNodeFactory(parser);
ObjectReader reader = objectMapper.reader(nodeFactory);
JsonNode result = reader.readTree(parser);
return (result != null) ? result : nodeFactory.missingNode();
- } catch (IOException e) {
+ } catch (JacksonException e) {
throw new IllegalArgumentException("Invalid input", e);
}
}
@@ -106,13 +104,12 @@ public static JsonNode readTree(ObjectMapper objectMapper, String content,
*/
public static JsonNode readTree(ObjectMapper objectMapper, InputStream inputStream,
JsonNodeFactoryFactory jsonNodeFactoryFactory) {
- JsonFactory factory = objectMapper.getFactory();
- try (JsonParser parser = factory.createParser(inputStream)) {
+ try (JsonParser parser = objectMapper.createParser(inputStream)) {
JsonNodeFactory nodeFactory = jsonNodeFactoryFactory.getJsonNodeFactory(parser);
ObjectReader reader = objectMapper.reader(nodeFactory);
JsonNode result = reader.readTree(parser);
return (result != null) ? result : nodeFactory.missingNode();
- } catch (IOException e) {
+ } catch (JacksonException e) {
throw new IllegalArgumentException("Invalid input", e);
}
}
@@ -121,9 +118,9 @@ public static JsonNode readTree(ObjectMapper objectMapper, InputStream inputStre
* Gets the token location of the {@link JsonNode} that implements {@link TokenStreamLocationAware}.
*
* @param jsonNode the node
- * @return the JsonLocation
+ * @return the TokenStreamLocation
*/
- public static JsonLocation tokenStreamLocationOf(JsonNode jsonNode) {
+ public static TokenStreamLocation tokenStreamLocationOf(JsonNode jsonNode) {
if (jsonNode instanceof TokenStreamLocationAware) {
return ((TokenStreamLocationAware) jsonNode).tokenStreamLocation();
}
diff --git a/src/main/java/com/networknt/schema/utils/TypeFactory.java b/src/main/java/com/networknt/schema/utils/TypeFactory.java
index ffb1c4f35..c4156e1ab 100644
--- a/src/main/java/com/networknt/schema/utils/TypeFactory.java
+++ b/src/main/java/com/networknt/schema/utils/TypeFactory.java
@@ -16,8 +16,8 @@
package com.networknt.schema.utils;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.JsonNodeType;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.JsonNodeType;
import com.networknt.schema.SchemaRegistryConfig;
/**
@@ -32,8 +32,8 @@ public class TypeFactory {
*/
public static JsonType getSchemaNodeType(JsonNode node) {
//Single Type Definition
- if (node.isTextual()) {
- String type = node.textValue();
+ if (node.isString()) {
+ String type = node.asString();
if ("object".equals(type)) {
return JsonType.OBJECT;
}
@@ -89,6 +89,12 @@ public static JsonType getValueNodeType(JsonNode node, SchemaRegistryConfig conf
return JsonType.ARRAY;
case STRING:
case BINARY:
+ case POJO:
+ /*
+ * In Jackson 3 binary data is converted to POJO not BINARY.
+ * BINARY and POJO are currently interpreted as STRING due to issue 650.
+ * In reality though, a base64 encoded string should be stored as a STRING.
+ */
return JsonType.STRING;
case NUMBER:
if (node.isIntegralNumber()) {
diff --git a/src/main/java/com/networknt/schema/walk/AbstractWalkHandler.java b/src/main/java/com/networknt/schema/walk/AbstractWalkHandler.java
index cc901e635..58d3650d5 100644
--- a/src/main/java/com/networknt/schema/walk/AbstractWalkHandler.java
+++ b/src/main/java/com/networknt/schema/walk/AbstractWalkHandler.java
@@ -1,6 +1,6 @@
package com.networknt.schema.walk;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.keyword.KeywordValidator;
diff --git a/src/main/java/com/networknt/schema/walk/ItemWalkHandler.java b/src/main/java/com/networknt/schema/walk/ItemWalkHandler.java
index cd022b3ae..5eb94c87c 100644
--- a/src/main/java/com/networknt/schema/walk/ItemWalkHandler.java
+++ b/src/main/java/com/networknt/schema/walk/ItemWalkHandler.java
@@ -16,7 +16,7 @@
package com.networknt.schema.walk;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.keyword.KeywordValidator;
diff --git a/src/main/java/com/networknt/schema/walk/KeywordWalkHandler.java b/src/main/java/com/networknt/schema/walk/KeywordWalkHandler.java
index ac0af1897..de7171108 100644
--- a/src/main/java/com/networknt/schema/walk/KeywordWalkHandler.java
+++ b/src/main/java/com/networknt/schema/walk/KeywordWalkHandler.java
@@ -22,7 +22,7 @@
import java.util.Map;
import java.util.function.Consumer;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
diff --git a/src/main/java/com/networknt/schema/walk/PropertyWalkHandler.java b/src/main/java/com/networknt/schema/walk/PropertyWalkHandler.java
index 889ddd493..7e5c61365 100644
--- a/src/main/java/com/networknt/schema/walk/PropertyWalkHandler.java
+++ b/src/main/java/com/networknt/schema/walk/PropertyWalkHandler.java
@@ -16,7 +16,7 @@
package com.networknt.schema.walk;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.keyword.KeywordValidator;
diff --git a/src/main/java/com/networknt/schema/walk/WalkConfig.java b/src/main/java/com/networknt/schema/walk/WalkConfig.java
index 813ac0b9b..0c0ffb4f8 100644
--- a/src/main/java/com/networknt/schema/walk/WalkConfig.java
+++ b/src/main/java/com/networknt/schema/walk/WalkConfig.java
@@ -19,7 +19,7 @@
import java.util.List;
import java.util.function.Consumer;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Error;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
diff --git a/src/main/java/com/networknt/schema/walk/WalkEvent.java b/src/main/java/com/networknt/schema/walk/WalkEvent.java
index 6f5a5b38f..bef3cfa5a 100644
--- a/src/main/java/com/networknt/schema/walk/WalkEvent.java
+++ b/src/main/java/com/networknt/schema/walk/WalkEvent.java
@@ -1,6 +1,6 @@
package com.networknt.schema.walk;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.keyword.KeywordValidator;
diff --git a/src/main/java/com/networknt/schema/walk/WalkHandler.java b/src/main/java/com/networknt/schema/walk/WalkHandler.java
index 67ee2525e..3da9ac1c9 100644
--- a/src/main/java/com/networknt/schema/walk/WalkHandler.java
+++ b/src/main/java/com/networknt/schema/walk/WalkHandler.java
@@ -1,10 +1,12 @@
package com.networknt.schema.walk;
-import com.fasterxml.jackson.databind.JsonNode;
import com.networknt.schema.ExecutionContext;
import com.networknt.schema.Schema;
import com.networknt.schema.keyword.KeywordValidator;
import com.networknt.schema.path.NodePath;
+
+import tools.jackson.databind.JsonNode;
+
import com.networknt.schema.Error;
import java.util.List;
diff --git a/src/main/java/com/networknt/schema/walk/Walker.java b/src/main/java/com/networknt/schema/walk/Walker.java
index bb250d426..4b13dda67 100644
--- a/src/main/java/com/networknt/schema/walk/Walker.java
+++ b/src/main/java/com/networknt/schema/walk/Walker.java
@@ -1,6 +1,6 @@
package com.networknt.schema.walk;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.Validator;
import com.networknt.schema.path.NodePath;
import com.networknt.schema.ExecutionContext;
diff --git a/src/test/java/com/networknt/schema/AbstractJsonSchemaTest.java b/src/test/java/com/networknt/schema/AbstractJsonSchemaTest.java
index 2c1a92e96..334d37a90 100644
--- a/src/test/java/com/networknt/schema/AbstractJsonSchemaTest.java
+++ b/src/test/java/com/networknt/schema/AbstractJsonSchemaTest.java
@@ -1,11 +1,10 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.keyword.KeywordType;
import com.networknt.schema.serialization.JsonMapperFactory;
-import java.io.IOException;
import java.io.InputStream;
import java.text.MessageFormat;
import java.util.List;
@@ -42,7 +41,7 @@ protected void assertValidatorType(String filename, KeywordType validatorTypeCod
private Schema getJsonSchemaFromDataNode(JsonNode dataNode) {
return Optional.ofNullable(dataNode.get(SCHEMA))
- .map(JsonNode::textValue)
+ .map(JsonNode::asString)
.map(this::getJsonNodeFromPath)
.map(this::getJsonSchema)
.orElseThrow(() -> new IllegalArgumentException("No schema found on document to test"));
@@ -51,11 +50,7 @@ private Schema getJsonSchemaFromDataNode(JsonNode dataNode) {
private JsonNode getJsonNodeFromPath(String dataPath) {
InputStream dataInputStream = getClass().getResourceAsStream(dataPath);
ObjectMapper mapper = JsonMapperFactory.getInstance();
- try {
- return mapper.readTree(dataInputStream);
- } catch(IOException e) {
- throw new RuntimeException(e);
- }
+ return mapper.readTree(dataInputStream);
}
private Schema getJsonSchema(JsonNode schemaNode) {
diff --git a/src/test/java/com/networknt/schema/AbstractJsonSchemaTestSuite.java b/src/test/java/com/networknt/schema/AbstractJsonSchemaTestSuite.java
index 9bb76ed27..946502788 100644
--- a/src/test/java/com/networknt/schema/AbstractJsonSchemaTestSuite.java
+++ b/src/test/java/com/networknt/schema/AbstractJsonSchemaTestSuite.java
@@ -137,7 +137,7 @@ private static void executeTest(Schema schema, TestSpec testSpec) {
private static Iterable extends DynamicNode> unsupportedMetaSchema(TestCase testCase) {
return Collections.singleton(
dynamicTest("Detected an unsupported schema", () -> {
- String schema = testCase.getSchema().asText();
+ String schema = testCase.getSchema().asString();
AssertionFailedError t = AssertionFailureBuilder.assertionFailure()
.message("Detected an unsupported schema: " + schema)
.reason("Future and custom meta-schemas are not supported")
diff --git a/src/test/java/com/networknt/schema/BaseJsonSchemaValidatorTest.java b/src/test/java/com/networknt/schema/BaseJsonSchemaValidatorTest.java
index d02924de5..a3313861d 100644
--- a/src/test/java/com/networknt/schema/BaseJsonSchemaValidatorTest.java
+++ b/src/test/java/com/networknt/schema/BaseJsonSchemaValidatorTest.java
@@ -16,8 +16,8 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.serialization.JsonMapperFactory;
import java.io.IOException;
@@ -43,7 +43,9 @@ public static JsonNode getJsonNodeFromStringContent(String content) throws IOExc
}
public static JsonNode getJsonNodeFromUrl(String url) throws IOException {
- return mapper.readTree(new URL(url));
+ try (InputStream inputStream = new URL(url).openStream()) {
+ return mapper.readTree(inputStream);
+ }
}
public static Schema getJsonSchemaFromClasspath(String name) {
diff --git a/src/test/java/com/networknt/schema/CollectorContextTest.java b/src/test/java/com/networknt/schema/CollectorContextTest.java
index 0d5ada6e2..e19f32862 100644
--- a/src/test/java/com/networknt/schema/CollectorContextTest.java
+++ b/src/test/java/com/networknt/schema/CollectorContextTest.java
@@ -15,10 +15,8 @@
*/
package com.networknt.schema;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.format.Format;
@@ -65,12 +63,12 @@ void setup() throws Exception {
void testCollectorContextWithKeyword() throws Exception {
Result validationResult = validate("{\"test-property1\":\"sample1\",\"test-property2\":\"sample2\"}");
Assertions.assertEquals(0, validationResult.getErrors().size());
- List contextValues = validationResult.getCollectorContext().get(Data.SAMPLE_COLLECTOR);
- contextValues.sort(null);
+ List conasStrings = validationResult.getCollectorContext().get(Data.SAMPLE_COLLECTOR);
+ conasStrings.sort(null);
Assertions.assertEquals(0, validationResult.getErrors().size());
- Assertions.assertEquals(2, contextValues.size());
- Assertions.assertEquals(contextValues.get(0), "actual_value_added_to_context1");
- Assertions.assertEquals(contextValues.get(1), "actual_value_added_to_context2");
+ Assertions.assertEquals(2, conasStrings.size());
+ Assertions.assertEquals(conasStrings.get(0), "actual_value_added_to_context1");
+ Assertions.assertEquals(conasStrings.get(1), "actual_value_added_to_context2");
}
@Test
@@ -103,13 +101,13 @@ void testCollectorContextWithMultipleThreads() throws Exception {
Assertions.assertEquals(0, validationResult2.getErrors().size());
Assertions.assertEquals(0, validationResult3.getErrors().size());
- List contextValue1 = validationResult1.getCollectorContext().get(Data.SAMPLE_COLLECTOR);
- List contextValue2 = validationResult2.getCollectorContext().get(Data.SAMPLE_COLLECTOR);
- List contextValue3 = validationResult3.getCollectorContext().get(Data.SAMPLE_COLLECTOR);
+ List conasString1 = validationResult1.getCollectorContext().get(Data.SAMPLE_COLLECTOR);
+ List conasString2 = validationResult2.getCollectorContext().get(Data.SAMPLE_COLLECTOR);
+ List conasString3 = validationResult3.getCollectorContext().get(Data.SAMPLE_COLLECTOR);
- Assertions.assertEquals(contextValue1.get(0), "actual_value_added_to_context1");
- Assertions.assertEquals(contextValue2.get(0), "actual_value_added_to_context2");
- Assertions.assertEquals(contextValue3.get(0), "actual_value_added_to_context3");
+ Assertions.assertEquals(conasString1.get(0), "actual_value_added_to_context1");
+ Assertions.assertEquals(conasString2.get(0), "actual_value_added_to_context2");
+ Assertions.assertEquals(conasString3.get(0), "actual_value_added_to_context3");
}
@Test
@@ -229,10 +227,6 @@ private class ValidationThread implements Runnable {
public void run() {
try {
this.validationResult = validate(data);
- } catch (JsonMappingException e) {
- e.printStackTrace();
- } catch (JsonProcessingException e) {
- e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
@@ -315,7 +309,7 @@ public Supplier> supplier() {
public BiConsumer, JsonNode> accumulator() {
return (returnList, instanceNode) -> {
synchronized (returnList) {
- returnList.add(referenceMap.get(instanceNode.textValue()));
+ returnList.add(referenceMap.get(instanceNode.asString()));
}
};
}
@@ -381,7 +375,7 @@ public void validate(ExecutionContext executionContext, JsonNode node, JsonNode
List returnList = collectorContext.computeIfAbsent(Data.SAMPLE_COLLECTOR_OTHER,
key -> new ArrayList());
synchronized (returnList) {
- returnList.add(node.textValue());
+ returnList.add(node.asString());
}
}
diff --git a/src/test/java/com/networknt/schema/ContentSchemaValidatorTest.java b/src/test/java/com/networknt/schema/ContentSchemaValidatorTest.java
index 929c0cd1a..3a666e58f 100644
--- a/src/test/java/com/networknt/schema/ContentSchemaValidatorTest.java
+++ b/src/test/java/com/networknt/schema/ContentSchemaValidatorTest.java
@@ -19,7 +19,7 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
+import tools.jackson.core.JacksonException;
import com.networknt.schema.output.OutputUnit;
import com.networknt.schema.serialization.JsonMapperFactory;
@@ -28,7 +28,7 @@
*/
class ContentSchemaValidatorTest {
@Test
- void annotationCollection() throws JsonProcessingException {
+ void annotationCollection() throws JacksonException {
String schemaData = "{\r\n"
+ " \"type\": \"string\",\r\n"
+ " \"contentMediaType\": \"application/jwt\",\r\n"
diff --git a/src/test/java/com/networknt/schema/CustomMetaSchemaTest.java b/src/test/java/com/networknt/schema/CustomMetaSchemaTest.java
index 50fde8bac..5ce7a237c 100644
--- a/src/test/java/com/networknt/schema/CustomMetaSchemaTest.java
+++ b/src/test/java/com/networknt/schema/CustomMetaSchemaTest.java
@@ -16,8 +16,8 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.keyword.AbstractKeyword;
@@ -65,7 +65,7 @@ private Validator(SchemaLocation schemaLocation, String keyword,
@Override
public void validate(ExecutionContext executionContext, JsonNode node, JsonNode rootNode, NodePath instanceLocation) {
- String value = node.asText();
+ String value = node.asString();
int idx = enumValues.indexOf(value);
if (idx < 0) {
throw new IllegalArgumentException("value not found in enum. value: " + value + " enum: " + enumValues);
@@ -110,7 +110,7 @@ private List readStringList(JsonNode node) {
}
ArrayList result = new ArrayList(node.size());
for (JsonNode child : node) {
- result.add(child.asText());
+ result.add(child.asString());
}
return result;
}
diff --git a/src/test/java/com/networknt/schema/CustomUriTest.java b/src/test/java/com/networknt/schema/CustomUriTest.java
index c5790c077..118c9b4d1 100644
--- a/src/test/java/com/networknt/schema/CustomUriTest.java
+++ b/src/test/java/com/networknt/schema/CustomUriTest.java
@@ -1,6 +1,6 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.resource.InputStreamSource;
import com.networknt.schema.resource.ResourceLoader;
diff --git a/src/test/java/com/networknt/schema/CyclicDependencyTest.java b/src/test/java/com/networknt/schema/CyclicDependencyTest.java
index 3ac6a8910..c3c4a9155 100644
--- a/src/test/java/com/networknt/schema/CyclicDependencyTest.java
+++ b/src/test/java/com/networknt/schema/CyclicDependencyTest.java
@@ -1,6 +1,6 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/src/test/java/com/networknt/schema/DateTimeDSTTest.java b/src/test/java/com/networknt/schema/DateTimeDSTTest.java
index f98ed0ffb..66b52d8cd 100644
--- a/src/test/java/com/networknt/schema/DateTimeDSTTest.java
+++ b/src/test/java/com/networknt/schema/DateTimeDSTTest.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/DependentRequiredTest.java b/src/test/java/com/networknt/schema/DependentRequiredTest.java
index 4a5e327a6..55a68b35e 100644
--- a/src/test/java/com/networknt/schema/DependentRequiredTest.java
+++ b/src/test/java/com/networknt/schema/DependentRequiredTest.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import java.io.IOException;
@@ -51,7 +51,7 @@ void shouldReturnErrorMessageForObjectWithoutDependentRequiredField() throws IOE
}
@Test
- void shouldReturnNoErrorMessagesForObjectWithOptionalAndDependentRequiredFieldSet() throws JsonProcessingException {
+ void shouldReturnNoErrorMessagesForObjectWithOptionalAndDependentRequiredFieldSet() throws JacksonException {
List messages =
whenValidate("{ \"optional\": \"present\", \"requiredWhenOptionalPresent\": \"present\" }");
@@ -59,7 +59,7 @@ void shouldReturnNoErrorMessagesForObjectWithOptionalAndDependentRequiredFieldSe
assertThat(messages, empty());
}
- private static List whenValidate(String content) throws JsonProcessingException {
+ private static List whenValidate(String content) throws JacksonException {
return schema.validate(mapper.readTree(content));
}
diff --git a/src/test/java/com/networknt/schema/DurationFormatValidatorTest.java b/src/test/java/com/networknt/schema/DurationFormatValidatorTest.java
index e71e00539..d10ac7743 100644
--- a/src/test/java/com/networknt/schema/DurationFormatValidatorTest.java
+++ b/src/test/java/com/networknt/schema/DurationFormatValidatorTest.java
@@ -16,8 +16,8 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import java.io.IOException;
diff --git a/src/test/java/com/networknt/schema/ErrorTest.java b/src/test/java/com/networknt/schema/ErrorTest.java
index a24746c4f..93ac32706 100644
--- a/src/test/java/com/networknt/schema/ErrorTest.java
+++ b/src/test/java/com/networknt/schema/ErrorTest.java
@@ -19,7 +19,7 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
+import tools.jackson.core.JacksonException;
import com.networknt.schema.serialization.JsonMapperFactory;
/**
@@ -27,7 +27,7 @@
*/
class ErrorTest {
@Test
- void testSerialization() throws JsonProcessingException {
+ void testSerialization() throws JacksonException {
String value = JsonMapperFactory.getInstance()
.writeValueAsString(Error.builder().messageSupplier(() -> "hello")
.schemaLocation(SchemaLocation.of("https://www.example.com/#defs/definition")).build());
diff --git a/src/test/java/com/networknt/schema/FormatKeywordFactoryTest.java b/src/test/java/com/networknt/schema/FormatKeywordFactoryTest.java
index cbdc6e260..2fafd42e0 100644
--- a/src/test/java/com/networknt/schema/FormatKeywordFactoryTest.java
+++ b/src/test/java/com/networknt/schema/FormatKeywordFactoryTest.java
@@ -21,7 +21,7 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.format.Format;
diff --git a/src/test/java/com/networknt/schema/FormatValidatorTest.java b/src/test/java/com/networknt/schema/FormatValidatorTest.java
index 37a80e6ca..9dd83591a 100644
--- a/src/test/java/com/networknt/schema/FormatValidatorTest.java
+++ b/src/test/java/com/networknt/schema/FormatValidatorTest.java
@@ -27,7 +27,7 @@
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.format.Format;
diff --git a/src/test/java/com/networknt/schema/Issue255Test.java b/src/test/java/com/networknt/schema/Issue255Test.java
index dc6dbba81..c2f1eb15e 100644
--- a/src/test/java/com/networknt/schema/Issue255Test.java
+++ b/src/test/java/com/networknt/schema/Issue255Test.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue285Test.java b/src/test/java/com/networknt/schema/Issue285Test.java
index ca2a87ce8..b4e4b290c 100644
--- a/src/test/java/com/networknt/schema/Issue285Test.java
+++ b/src/test/java/com/networknt/schema/Issue285Test.java
@@ -1,6 +1,6 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue295Test.java b/src/test/java/com/networknt/schema/Issue295Test.java
index 27e6d9a36..dc8c45681 100644
--- a/src/test/java/com/networknt/schema/Issue295Test.java
+++ b/src/test/java/com/networknt/schema/Issue295Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue313Test.java b/src/test/java/com/networknt/schema/Issue313Test.java
index 430f9d44b..b1e1ecc17 100644
--- a/src/test/java/com/networknt/schema/Issue313Test.java
+++ b/src/test/java/com/networknt/schema/Issue313Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue327Test.java b/src/test/java/com/networknt/schema/Issue327Test.java
index 2c80e418e..6a88eb4ba 100644
--- a/src/test/java/com/networknt/schema/Issue327Test.java
+++ b/src/test/java/com/networknt/schema/Issue327Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue342Test.java b/src/test/java/com/networknt/schema/Issue342Test.java
index 94ef7e0a5..582b52a00 100644
--- a/src/test/java/com/networknt/schema/Issue342Test.java
+++ b/src/test/java/com/networknt/schema/Issue342Test.java
@@ -6,8 +6,8 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
class Issue342Test {
protected Schema getJsonSchemaFromStreamContentV7(InputStream schemaContent) {
diff --git a/src/test/java/com/networknt/schema/Issue366FailFastTest.java b/src/test/java/com/networknt/schema/Issue366FailFastTest.java
index 7c41e4693..0fbdf88ab 100644
--- a/src/test/java/com/networknt/schema/Issue366FailFastTest.java
+++ b/src/test/java/com/networknt/schema/Issue366FailFastTest.java
@@ -3,8 +3,8 @@
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
diff --git a/src/test/java/com/networknt/schema/Issue366FailSlowTest.java b/src/test/java/com/networknt/schema/Issue366FailSlowTest.java
index bd00d2558..3133a5912 100644
--- a/src/test/java/com/networknt/schema/Issue366FailSlowTest.java
+++ b/src/test/java/com/networknt/schema/Issue366FailSlowTest.java
@@ -4,8 +4,8 @@
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
diff --git a/src/test/java/com/networknt/schema/Issue375Test.java b/src/test/java/com/networknt/schema/Issue375Test.java
index 4974513f3..b4222ed36 100644
--- a/src/test/java/com/networknt/schema/Issue375Test.java
+++ b/src/test/java/com/networknt/schema/Issue375Test.java
@@ -15,8 +15,8 @@
*/
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/test/java/com/networknt/schema/Issue383Test.java b/src/test/java/com/networknt/schema/Issue383Test.java
index 3fdf85f32..3c5dfed00 100644
--- a/src/test/java/com/networknt/schema/Issue383Test.java
+++ b/src/test/java/com/networknt/schema/Issue383Test.java
@@ -6,8 +6,8 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
class Issue383Test {
protected Schema getJsonSchemaFromStreamContentV7(InputStream schemaContent) {
diff --git a/src/test/java/com/networknt/schema/Issue396Test.java b/src/test/java/com/networknt/schema/Issue396Test.java
index e625cdde9..829459f99 100644
--- a/src/test/java/com/networknt/schema/Issue396Test.java
+++ b/src/test/java/com/networknt/schema/Issue396Test.java
@@ -9,8 +9,8 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
class Issue396Test {
protected Schema getJsonSchemaFromStreamContentV7(InputStream schemaContent) {
@@ -34,7 +34,7 @@ void testComplexPropertyNamesV7() throws Exception {
JsonNode node = getJsonNodeFromStreamContent(dataInputStream);
final Set expected = new HashSet<>();
- node.fields().forEachRemaining(entry -> {
+ node.properties().iterator().forEachRemaining(entry -> {
if (!entry.getValue().asBoolean())
expected.add(entry.getKey());
});
diff --git a/src/test/java/com/networknt/schema/Issue404Test.java b/src/test/java/com/networknt/schema/Issue404Test.java
index f9b560ebe..dd8f804df 100644
--- a/src/test/java/com/networknt/schema/Issue404Test.java
+++ b/src/test/java/com/networknt/schema/Issue404Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue426Test.java b/src/test/java/com/networknt/schema/Issue426Test.java
index a3b27e0fa..e22ce3ac8 100644
--- a/src/test/java/com/networknt/schema/Issue426Test.java
+++ b/src/test/java/com/networknt/schema/Issue426Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -36,7 +36,7 @@ void shouldWorkV7() throws Exception {
final JsonNode message = schema.schemaNode.get("message");
for(Error error : errors) {
//validating custom message
- Assertions.assertEquals(message.get(error.getKeyword()).asText(), error.getMessage());
+ Assertions.assertEquals(message.get(error.getKeyword()).asString(), error.getMessage());
}
}
}
diff --git a/src/test/java/com/networknt/schema/Issue428Test.java b/src/test/java/com/networknt/schema/Issue428Test.java
index 166ddc96c..f1a205e27 100644
--- a/src/test/java/com/networknt/schema/Issue428Test.java
+++ b/src/test/java/com/networknt/schema/Issue428Test.java
@@ -1,8 +1,8 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.node.ArrayNode;
import org.junit.jupiter.api.Test;
import java.io.InputStream;
diff --git a/src/test/java/com/networknt/schema/Issue451Test.java b/src/test/java/com/networknt/schema/Issue451Test.java
index ee4e093c1..d6bd81126 100644
--- a/src/test/java/com/networknt/schema/Issue451Test.java
+++ b/src/test/java/com/networknt/schema/Issue451Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.walk.WalkListener;
import com.networknt.schema.walk.PropertyWalkHandler;
import com.networknt.schema.walk.WalkConfig;
diff --git a/src/test/java/com/networknt/schema/Issue456Test.java b/src/test/java/com/networknt/schema/Issue456Test.java
index 7dc2566be..c433dd4af 100644
--- a/src/test/java/com/networknt/schema/Issue456Test.java
+++ b/src/test/java/com/networknt/schema/Issue456Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue461Test.java b/src/test/java/com/networknt/schema/Issue461Test.java
index 7c28a00ad..0efb8c81f 100644
--- a/src/test/java/com/networknt/schema/Issue461Test.java
+++ b/src/test/java/com/networknt/schema/Issue461Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.keyword.KeywordType;
import com.networknt.schema.serialization.JsonMapperFactory;
import com.networknt.schema.walk.WalkListener;
@@ -33,7 +33,7 @@ void shouldWalkWithValidation() throws IOException {
.build();
Schema schema = getJsonSchemaFromStreamContentV7(SchemaLocation.of("resource:/draft-07/schema#"));
- JsonNode data = mapper.readTree(Issue461Test.class.getResource("/data/issue461-v7.json"));
+ JsonNode data = mapper.readTree(Issue461Test.class.getResourceAsStream("/data/issue461-v7.json"));
Result result = schema.walk(data, true, executionContext -> executionContext.setWalkConfig(walkConfig));
Assertions.assertTrue(result.getErrors().isEmpty());
}
diff --git a/src/test/java/com/networknt/schema/Issue467Test.java b/src/test/java/com/networknt/schema/Issue467Test.java
index df9b6dc39..2fa039f6a 100644
--- a/src/test/java/com/networknt/schema/Issue467Test.java
+++ b/src/test/java/com/networknt/schema/Issue467Test.java
@@ -29,8 +29,8 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.keyword.KeywordType;
import com.networknt.schema.path.NodePath;
import com.networknt.schema.walk.WalkListener;
@@ -67,7 +67,7 @@ public void onWalkEnd(WalkEvent walkEvent, List set) {
.build();
SchemaRegistry factory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_7);
Schema schema = factory.getSchema(schemaInputStream);
- JsonNode data = mapper.readTree(Issue467Test.class.getResource("/data/issue467.json"));
+ JsonNode data = mapper.readTree(Issue467Test.class.getResourceAsStream("/data/issue467.json"));
Result result = schema.walk(data, true, executionContext -> executionContext.setWalkConfig(walkConfig));
assertEquals(new HashSet<>(Arrays.asList("/properties", "/properties/tags/items/0/properties")),
properties.stream().map(Object::toString).collect(Collectors.toSet()));
@@ -96,7 +96,7 @@ public void onWalkEnd(WalkEvent walkEvent, List set) {
.build();
SchemaRegistry factory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_7);
Schema schema = factory.getSchema(schemaInputStream);
- JsonNode data = mapper.readTree(Issue467Test.class.getResource("/data/issue467.json"));
+ JsonNode data = mapper.readTree(Issue467Test.class.getResourceAsStream("/data/issue467.json"));
Result result = schema.walk(data, true, executionContext -> executionContext.setWalkConfig(walkConfig));
assertEquals(
new HashSet<>(Arrays.asList("/properties/tags", "/properties/tags/items/0/properties/category", "/properties/tags/items/0/properties/value")),
diff --git a/src/test/java/com/networknt/schema/Issue471Test.java b/src/test/java/com/networknt/schema/Issue471Test.java
index 903a493a8..d17b8e966 100644
--- a/src/test/java/com/networknt/schema/Issue471Test.java
+++ b/src/test/java/com/networknt/schema/Issue471Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue493Test.java b/src/test/java/com/networknt/schema/Issue493Test.java
index d0926d9bc..e35ccfc60 100644
--- a/src/test/java/com/networknt/schema/Issue493Test.java
+++ b/src/test/java/com/networknt/schema/Issue493Test.java
@@ -12,8 +12,8 @@
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
class Issue493Test
{
diff --git a/src/test/java/com/networknt/schema/Issue550Test.java b/src/test/java/com/networknt/schema/Issue550Test.java
index 4c65f08b8..d683b28b8 100644
--- a/src/test/java/com/networknt/schema/Issue550Test.java
+++ b/src/test/java/com/networknt/schema/Issue550Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue575Test.java b/src/test/java/com/networknt/schema/Issue575Test.java
index e54e05ae7..658235ceb 100644
--- a/src/test/java/com/networknt/schema/Issue575Test.java
+++ b/src/test/java/com/networknt/schema/Issue575Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.params.ParameterizedTest;
@@ -78,7 +78,7 @@ static Stream validTimeZoneOffsets() {
*/
@ParameterizedTest
@MethodSource("validTimeZoneOffsets")
- void testValidTimeZoneOffsets(String jsonObject) throws JsonProcessingException {
+ void testValidTimeZoneOffsets(String jsonObject) throws JacksonException {
List errors = schema.validate(new ObjectMapper().readTree(jsonObject));
Assertions.assertTrue(errors.isEmpty());
}
@@ -120,7 +120,7 @@ static Stream invalidTimeRepresentations() {
*/
@ParameterizedTest
@MethodSource("invalidTimeRepresentations")
- void testInvalidTimeRepresentations(String jsonObject) throws JsonProcessingException {
+ void testInvalidTimeRepresentations(String jsonObject) throws JacksonException {
List errors = schema.validate(new ObjectMapper().readTree(jsonObject), OutputFormat.DEFAULT, (executionContext, schemaContext) -> {
executionContext.executionConfig(executionConfig -> executionConfig.formatAssertionsEnabled(true));
});
diff --git a/src/test/java/com/networknt/schema/Issue604Test.java b/src/test/java/com/networknt/schema/Issue604Test.java
index 60872c733..290894219 100644
--- a/src/test/java/com/networknt/schema/Issue604Test.java
+++ b/src/test/java/com/networknt/schema/Issue604Test.java
@@ -1,6 +1,6 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.walk.ApplyDefaultsStrategy;
import com.networknt.schema.walk.WalkConfig;
diff --git a/src/test/java/com/networknt/schema/Issue606Test.java b/src/test/java/com/networknt/schema/Issue606Test.java
index 14ef4eee3..04c84fe33 100644
--- a/src/test/java/com/networknt/schema/Issue606Test.java
+++ b/src/test/java/com/networknt/schema/Issue606Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue619Test.java b/src/test/java/com/networknt/schema/Issue619Test.java
index 97f569974..6f46bf4c3 100644
--- a/src/test/java/com/networknt/schema/Issue619Test.java
+++ b/src/test/java/com/networknt/schema/Issue619Test.java
@@ -15,7 +15,7 @@
*/
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.resource.ResourceLoader;
import org.junit.jupiter.api.BeforeEach;
diff --git a/src/test/java/com/networknt/schema/Issue650Test.java b/src/test/java/com/networknt/schema/Issue650Test.java
index fdd15a33d..256c91f3d 100644
--- a/src/test/java/com/networknt/schema/Issue650Test.java
+++ b/src/test/java/com/networknt/schema/Issue650Test.java
@@ -5,11 +5,11 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.databind.node.BinaryNode;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationFeature;
+import tools.jackson.databind.node.BinaryNode;
/**
*
@@ -30,10 +30,11 @@ class Issue650Test {
*/
@Test
void testBinaryNode() throws Exception {
- final ObjectMapper mapper = new ObjectMapper();
- mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
+ final ObjectMapper mapper = new ObjectMapper().rebuild()
+ .changeDefaultPropertyInclusion(incl -> incl.withValueInclusion(JsonInclude.Include.NON_EMPTY))
+ .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
+ .configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false)
+ .build();
// schema with data property of type string:
InputStream schemaInputStream = getClass().getResourceAsStream("/draft7/issue650.json");
diff --git a/src/test/java/com/networknt/schema/Issue662Test.java b/src/test/java/com/networknt/schema/Issue662Test.java
index 5241d4378..99f42f0cd 100644
--- a/src/test/java/com/networknt/schema/Issue662Test.java
+++ b/src/test/java/com/networknt/schema/Issue662Test.java
@@ -1,6 +1,6 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue664Test.java b/src/test/java/com/networknt/schema/Issue664Test.java
index 738e08665..5779d01bf 100644
--- a/src/test/java/com/networknt/schema/Issue664Test.java
+++ b/src/test/java/com/networknt/schema/Issue664Test.java
@@ -9,8 +9,8 @@
import org.hamcrest.Matchers;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
class Issue664Test {
protected Schema getJsonSchemaFromStreamContentV7(InputStream schemaContent) {
diff --git a/src/test/java/com/networknt/schema/Issue668Test.java b/src/test/java/com/networknt/schema/Issue668Test.java
index 040b65286..6bf2e0e0f 100644
--- a/src/test/java/com/networknt/schema/Issue668Test.java
+++ b/src/test/java/com/networknt/schema/Issue668Test.java
@@ -1,8 +1,8 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.dataformat.yaml.YAMLMapper;
import org.hamcrest.MatcherAssert;
import org.hamcrest.Matchers;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue686Test.java b/src/test/java/com/networknt/schema/Issue686Test.java
index c0f49d187..924410dfd 100644
--- a/src/test/java/com/networknt/schema/Issue686Test.java
+++ b/src/test/java/com/networknt/schema/Issue686Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.i18n.DefaultMessageSource;
import com.networknt.schema.i18n.ResourceBundleMessageSource;
@@ -23,7 +23,7 @@ void testDefaults() {
}
@Test
- void testValidationWithDefaultBundleAndLocale() throws JsonProcessingException {
+ void testValidationWithDefaultBundleAndLocale() throws JacksonException {
SchemaRegistryConfig config = SchemaRegistryConfig.builder().build();
ResourceBundle resourceBundle = ResourceBundle.getBundle(DefaultMessageSource.BUNDLE_BASE_NAME, Locale.getDefault());
String expectedMessage = new MessageFormat(resourceBundle.getString("type")).format(new String[] {"integer", "string"});
@@ -31,13 +31,13 @@ void testValidationWithDefaultBundleAndLocale() throws JsonProcessingException {
}
@Test
- void testValidationWithDefaultBundleAndCustomLocale() throws JsonProcessingException {
+ void testValidationWithDefaultBundleAndCustomLocale() throws JacksonException {
SchemaRegistryConfig config = SchemaRegistryConfig.builder().locale(Locale.ITALIAN).build();
verify(config, "/foo: integer trovato, string previsto");
}
@Test
- void testValidationWithCustomBundle() throws JsonProcessingException {
+ void testValidationWithCustomBundle() throws JacksonException {
SchemaRegistryConfig config = SchemaRegistryConfig.builder()
.messageSource(new ResourceBundleMessageSource("issue686/translations"))
.locale(Locale.FRENCH)
@@ -46,7 +46,7 @@ void testValidationWithCustomBundle() throws JsonProcessingException {
}
@Test
- void testLocaleSwitch() throws JsonProcessingException {
+ void testLocaleSwitch() throws JacksonException {
SchemaRegistryConfig config = SchemaRegistryConfig.builder().locale(Locale.ITALIAN).build();
verify(config, "/foo: integer trovato, string previsto");
SchemaRegistryConfig config2 = SchemaRegistryConfig.builder().locale(Locale.FRENCH).build();
@@ -55,10 +55,10 @@ void testLocaleSwitch() throws JsonProcessingException {
private Schema getSchema(SchemaRegistryConfig config) {
SchemaRegistry factory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2019_09, builder -> builder.schemaRegistryConfig(config));
- return factory.getSchema("{ \"$schema\": \"https://json-schema.org/draft/2019-09/schema\", \"$id\": \"https://json-schema.org/draft/2019-09/schema\", \"type\": \"object\", \"properties\": { \"foo\": { \"type\": \"string\" } } } }");
+ return factory.getSchema("{ \"$schema\": \"https://json-schema.org/draft/2019-09/schema\", \"$id\": \"https://json-schema.org/draft/2019-09/schema\", \"type\": \"object\", \"properties\": { \"foo\": { \"type\": \"string\" } } }");
}
- private void verify(SchemaRegistryConfig config, String expectedMessage) throws JsonProcessingException {
+ private void verify(SchemaRegistryConfig config, String expectedMessage) throws JacksonException {
List messages = getSchema(config).validate(new ObjectMapper().readTree(" { \"foo\": 123 } "));
assertEquals(1, messages.size());
assertEquals(expectedMessage, messages.iterator().next().toString());
diff --git a/src/test/java/com/networknt/schema/Issue687Test.java b/src/test/java/com/networknt/schema/Issue687Test.java
index 8995df5bd..318a33767 100644
--- a/src/test/java/com/networknt/schema/Issue687Test.java
+++ b/src/test/java/com/networknt/schema/Issue687Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.path.PathType;
import org.junit.jupiter.api.Test;
@@ -87,7 +87,7 @@ void testAppendIndex(PathType pathType, String currentPath, Integer index, Strin
@ParameterizedTest
@MethodSource("errors")
- void testError(PathType pathType, String schemaPath, String content, String[] expectedMessagePaths) throws JsonProcessingException {
+ void testError(PathType pathType, String schemaPath, String content, String[] expectedMessagePaths) throws JacksonException {
SchemaRegistryConfig config = SchemaRegistryConfig.builder().pathType(pathType).build();
SchemaRegistry factory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2019_09, builder -> builder.schemaRegistryConfig(config));
Schema schema = factory.getSchema(Issue687Test.class.getResourceAsStream(schemaPath));
@@ -119,7 +119,7 @@ static Stream specialCharacterTests() {
@ParameterizedTest
@MethodSource("specialCharacterTests")
- void testSpecialCharacters(PathType pathType, String propertyName, String expectedPath) throws JsonProcessingException {
+ void testSpecialCharacters(PathType pathType, String propertyName, String expectedPath) throws JacksonException {
ObjectMapper mapper = new ObjectMapper();
SchemaRegistryConfig schemaValidatorsConfig = SchemaRegistryConfig.builder().pathType(pathType).build();
Schema schema = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2019_09, builder -> builder.schemaRegistryConfig(schemaValidatorsConfig))
diff --git a/src/test/java/com/networknt/schema/Issue724Test.java b/src/test/java/com/networknt/schema/Issue724Test.java
index 26bc62504..2312a95db 100644
--- a/src/test/java/com/networknt/schema/Issue724Test.java
+++ b/src/test/java/com/networknt/schema/Issue724Test.java
@@ -9,9 +9,9 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.walk.WalkListener;
import com.networknt.schema.walk.KeywordWalkHandler;
import com.networknt.schema.walk.WalkConfig;
@@ -21,7 +21,7 @@
class Issue724Test {
@Test
- void test() throws JsonProcessingException {
+ void test() throws JacksonException {
StringCollector stringCollector = new StringCollector();
KeywordWalkHandler keywordWalkHandler = KeywordWalkHandler.builder().keywordWalkListener(stringCollector).build();
@@ -68,12 +68,12 @@ public WalkFlow onWalkStart(WalkEvent walkEvent) {
boolean isString =
Optional.of(walkEvent.getSchema().getSchemaNode())
.map(jsonNode -> jsonNode.get("type"))
- .map(JsonNode::asText)
+ .map(JsonNode::asString)
.map(type -> type.equals("string"))
.orElse(false);
if (isString) {
- this.strings.add(walkEvent.getInstanceNode().asText());
+ this.strings.add(walkEvent.getInstanceNode().asString());
}
return WalkFlow.CONTINUE;
diff --git a/src/test/java/com/networknt/schema/Issue784Test.java b/src/test/java/com/networknt/schema/Issue784Test.java
index da483abe1..6ddb4100b 100644
--- a/src/test/java/com/networknt/schema/Issue784Test.java
+++ b/src/test/java/com/networknt/schema/Issue784Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.format.Format;
@@ -54,7 +54,7 @@ void useDefaultValidatorIfNotOverriden() throws IOException {
}
- private List validate(Schema jsonSchema, String myDateTimeContent) throws JsonProcessingException {
+ private List validate(Schema jsonSchema, String myDateTimeContent) throws JacksonException {
return jsonSchema.validate(new ObjectMapper().readTree(" { \"my-date-time\": \"" + myDateTimeContent + "\" } "));
}
diff --git a/src/test/java/com/networknt/schema/Issue792.java b/src/test/java/com/networknt/schema/Issue792.java
index b2302017c..0c7fc640e 100644
--- a/src/test/java/com/networknt/schema/Issue792.java
+++ b/src/test/java/com/networknt/schema/Issue792.java
@@ -1,8 +1,8 @@
package com.networknt.schema;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -11,7 +11,7 @@
class Issue792 {
@Test
- void test() throws JsonProcessingException {
+ void test() throws JacksonException {
SchemaRegistryConfig config = SchemaRegistryConfig.builder().typeLoose(false).failFast(true).build();
SchemaRegistry schemaFactory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_7, builder -> builder.schemaRegistryConfig(config));
diff --git a/src/test/java/com/networknt/schema/Issue824Test.java b/src/test/java/com/networknt/schema/Issue824Test.java
index 8ad539afc..a0fe1dbb4 100644
--- a/src/test/java/com/networknt/schema/Issue824Test.java
+++ b/src/test/java/com/networknt/schema/Issue824Test.java
@@ -6,14 +6,14 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.dialect.Dialects;
class Issue824Test {
@Test
- void validate() throws JsonProcessingException {
+ void validate() throws JacksonException {
final Schema v201909SpecSchema = SchemaRegistry
.builder(SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2019_09))
.schemaIdResolvers(schemaIdResolvers -> {
diff --git a/src/test/java/com/networknt/schema/Issue832Test.java b/src/test/java/com/networknt/schema/Issue832Test.java
index 9065decdf..b499af440 100644
--- a/src/test/java/com/networknt/schema/Issue832Test.java
+++ b/src/test/java/com/networknt/schema/Issue832Test.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.format.Format;
diff --git a/src/test/java/com/networknt/schema/Issue898Test.java b/src/test/java/com/networknt/schema/Issue898Test.java
index 45ee0ea23..cd619e60b 100644
--- a/src/test/java/com/networknt/schema/Issue898Test.java
+++ b/src/test/java/com/networknt/schema/Issue898Test.java
@@ -1,6 +1,6 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue927Test.java b/src/test/java/com/networknt/schema/Issue927Test.java
index 0d1270375..2bfd7a115 100644
--- a/src/test/java/com/networknt/schema/Issue927Test.java
+++ b/src/test/java/com/networknt/schema/Issue927Test.java
@@ -21,7 +21,7 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
+import tools.jackson.core.JacksonException;
import com.networknt.schema.serialization.JsonMapperFactory;
/**
@@ -29,7 +29,7 @@
*/
class Issue927Test {
@Test
- void test() throws JsonProcessingException {
+ void test() throws JacksonException {
String schema = "{\r\n"
+ " \"$schema\": \"http://json-schema.org/draft-07/schema#\",\r\n"
+ " \"$id\": \"id\",\r\n"
diff --git a/src/test/java/com/networknt/schema/Issue928Test.java b/src/test/java/com/networknt/schema/Issue928Test.java
index 7bbe0f1e9..b065205a5 100644
--- a/src/test/java/com/networknt/schema/Issue928Test.java
+++ b/src/test/java/com/networknt/schema/Issue928Test.java
@@ -1,6 +1,6 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/Issue994Test.java b/src/test/java/com/networknt/schema/Issue994Test.java
index f1c4156fe..7aee9dad8 100644
--- a/src/test/java/com/networknt/schema/Issue994Test.java
+++ b/src/test/java/com/networknt/schema/Issue994Test.java
@@ -20,8 +20,8 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.serialization.JsonMapperFactory;
@@ -29,12 +29,12 @@
class Issue994Test {
@Test
- void test() throws JsonProcessingException {
+ void test() throws JacksonException {
String schemaData = "{\r\n"
+ " \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\r\n"
+ " \"type\": \"object\",\r\n"
+ " \"properties\": {\r\n"
- + " \"textValue\": {\r\n"
+ + " \"asString\": {\r\n"
+ " \"type\": [\r\n"
+ " \"string\",\r\n"
+ " \"null\"\r\n"
@@ -50,7 +50,7 @@ void test() throws JsonProcessingException {
Schema schema = SchemaRegistry
.withDialect(dialect).getSchema(schemaNode);
String inputData = "{\r\n"
- + " \"textValue\": \"hello\"\r\n"
+ + " \"asString\": \"hello\"\r\n"
+ "}";
assertTrue(schema.validate(inputData, InputFormat.JSON, OutputFormat.BOOLEAN));
}
diff --git a/src/test/java/com/networknt/schema/ItemsLegacyValidatorTest.java b/src/test/java/com/networknt/schema/ItemsLegacyValidatorTest.java
index 10af40ea9..2be75503d 100644
--- a/src/test/java/com/networknt/schema/ItemsLegacyValidatorTest.java
+++ b/src/test/java/com/networknt/schema/ItemsLegacyValidatorTest.java
@@ -25,8 +25,8 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.path.NodePath;
import com.networknt.schema.serialization.JsonMapperFactory;
import com.networknt.schema.walk.ApplyDefaultsStrategy;
@@ -244,7 +244,7 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
}
@Test
- void walkTupleItemsAdditional() throws JsonProcessingException {
+ void walkTupleItemsAdditional() throws JacksonException {
String schemaData = "{\r\n"
+ " \"items\": [\r\n"
+ " {\r\n"
@@ -288,7 +288,7 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
assertEquals(3, items.size());
assertEquals("/0", items.get(0).getInstanceLocation().toString());
assertEquals("items", items.get(0).getKeyword());
- assertEquals("hello", items.get(0).getInstanceNode().textValue());
+ assertEquals("hello", items.get(0).getInstanceNode().asString());
assertEquals("/1", items.get(1).getInstanceLocation().toString());
assertEquals("items", items.get(1).getKeyword());
assertNull(items.get(1).getInstanceNode());
@@ -298,7 +298,7 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
}
@Test
- void walkTupleItemsAdditionalDefaults() throws JsonProcessingException {
+ void walkTupleItemsAdditionalDefaults() throws JacksonException {
String schemaData = "{\r\n"
+ " \"items\": [\r\n"
+ " {\r\n"
@@ -344,15 +344,15 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
assertEquals(4, items.size());
assertEquals("/0", items.get(0).getInstanceLocation().toString());
assertEquals("items", items.get(0).getKeyword());
- assertEquals("1", items.get(0).getInstanceNode().textValue());
+ assertEquals("1", items.get(0).getInstanceNode().asString());
assertEquals("/1", items.get(1).getInstanceLocation().toString());
assertEquals("items", items.get(1).getKeyword());
assertEquals(2, items.get(1).getInstanceNode().intValue());
assertEquals("/2", items.get(2).getInstanceLocation().toString());
assertEquals("additionalItems", items.get(2).getKeyword());
- assertEquals("additional", items.get(2).getInstanceNode().asText());
+ assertEquals("additional", items.get(2).getInstanceNode().asString());
assertEquals("/3", items.get(3).getInstanceLocation().toString());
assertEquals("additionalItems", items.get(3).getKeyword());
- assertEquals("additional", items.get(3).getInstanceNode().asText());
+ assertEquals("additional", items.get(3).getInstanceNode().asString());
}
}
diff --git a/src/test/java/com/networknt/schema/JsonSchemaFactoryUriCacheTest.java b/src/test/java/com/networknt/schema/JsonSchemaFactoryUriCacheTest.java
index 99fd3a603..b6fc3a66e 100644
--- a/src/test/java/com/networknt/schema/JsonSchemaFactoryUriCacheTest.java
+++ b/src/test/java/com/networknt/schema/JsonSchemaFactoryUriCacheTest.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.dialect.BasicDialectRegistry;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.resource.InputStreamSource;
@@ -22,16 +22,16 @@ class JsonSchemaFactoryUriCacheTest {
private final ObjectMapper objectMapper = new ObjectMapper();
@Test
- void cacheEnabled() throws JsonProcessingException {
+ void cacheEnabled() throws JacksonException {
runCacheTest(true);
}
@Test
- void cacheDisabled() throws JsonProcessingException {
+ void cacheDisabled() throws JacksonException {
runCacheTest(false);
}
- private void runCacheTest(boolean enableCache) throws JsonProcessingException {
+ private void runCacheTest(boolean enableCache) throws JacksonException {
CustomURIFetcher fetcher = new CustomURIFetcher();
SchemaRegistry factory = buildJsonSchemaFactory(fetcher, enableCache);
SchemaLocation schemaUri = SchemaLocation.of("cache:uri_mapping/schema1.json");
diff --git a/src/test/java/com/networknt/schema/JsonWalkApplyDefaultsTest.java b/src/test/java/com/networknt/schema/JsonWalkApplyDefaultsTest.java
index e3c4d81da..8da8d0135 100644
--- a/src/test/java/com/networknt/schema/JsonWalkApplyDefaultsTest.java
+++ b/src/test/java/com/networknt/schema/JsonWalkApplyDefaultsTest.java
@@ -4,8 +4,8 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.walk.ApplyDefaultsStrategy;
import com.networknt.schema.walk.WalkConfig;
diff --git a/src/test/java/com/networknt/schema/JsonWalkTest.java b/src/test/java/com/networknt/schema/JsonWalkTest.java
index 772810f35..2114236e4 100644
--- a/src/test/java/com/networknt/schema/JsonWalkTest.java
+++ b/src/test/java/com/networknt/schema/JsonWalkTest.java
@@ -1,9 +1,9 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.MissingNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.node.MissingNode;
+import tools.jackson.databind.node.ObjectNode;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.keyword.AbstractKeywordValidator;
@@ -210,8 +210,8 @@ public WalkFlow onWalkStart(WalkEvent keywordWalkEvent) {
}
if (keyWordName.equals(CUSTOM_KEYWORD) && schemaNode.get(CUSTOM_KEYWORD).isArray()) {
ObjectNode objectNode = (ObjectNode) collectorContext.get(SAMPLE_WALK_COLLECTOR_TYPE);
- objectNode.put(keywordWalkEvent.getSchema().getSchemaNode().get("title").textValue().toUpperCase(),
- keywordWalkEvent.getInstanceNode().textValue());
+ objectNode.put(keywordWalkEvent.getSchema().getSchemaNode().get("title").asString().toUpperCase(),
+ keywordWalkEvent.getInstanceNode().asString());
}
return WalkFlow.CONTINUE;
}
@@ -232,7 +232,7 @@ public WalkFlow onWalkStart(WalkEvent keywordWalkEvent) {
collectorContext.put(SAMPLE_WALK_COLLECTOR_TYPE, mapper.createObjectNode());
}
ObjectNode objectNode = (ObjectNode) collectorContext.get(SAMPLE_WALK_COLLECTOR_TYPE);
- objectNode.set(keywordWalkEvent.getSchema().getSchemaNode().get("title").textValue().toLowerCase(),
+ objectNode.set(keywordWalkEvent.getSchema().getSchemaNode().get("title").asString().toLowerCase(),
keywordWalkEvent.getInstanceNode());
return WalkFlow.SKIP;
}
@@ -248,7 +248,7 @@ private static class PropertiesKeywordListener implements WalkListener {
@Override
public WalkFlow onWalkStart(WalkEvent keywordWalkEvent) {
JsonNode schemaNode = keywordWalkEvent.getSchema().getSchemaNode();
- if (schemaNode.get("title").textValue().equals("Property3")) {
+ if (schemaNode.get("title").asString().equals("Property3")) {
return WalkFlow.SKIP;
}
return WalkFlow.CONTINUE;
diff --git a/src/test/java/com/networknt/schema/LocaleTest.java b/src/test/java/com/networknt/schema/LocaleTest.java
index 863ea0ed7..5fef29077 100644
--- a/src/test/java/com/networknt/schema/LocaleTest.java
+++ b/src/test/java/com/networknt/schema/LocaleTest.java
@@ -24,10 +24,9 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.i18n.Locales;
import com.networknt.schema.serialization.JsonMapperFactory;
@@ -35,7 +34,7 @@ class LocaleTest {
private Schema getSchema(SchemaRegistryConfig config) {
SchemaRegistry factory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2019_09, builder -> builder.schemaRegistryConfig(config));
return factory.getSchema(
- "{ \"$schema\": \"https://json-schema.org/draft/2019-09/schema\", \"$id\": \"https://json-schema.org/draft/2019-09/schema\", \"type\": \"object\", \"properties\": { \"foo\": { \"type\": \"string\" } } } }"
+ "{ \"$schema\": \"https://json-schema.org/draft/2019-09/schema\", \"$id\": \"https://json-schema.org/draft/2019-09/schema\", \"type\": \"object\", \"properties\": { \"foo\": { \"type\": \"string\" } } }"
);
}
@@ -44,10 +43,10 @@ private Schema getSchema(SchemaRegistryConfig config) {
* context locale.
*
* @throws JsonMappingException the error
- * @throws JsonProcessingException the error
+ * @throws JacksonException the error
*/
@Test
- void executionContextLocale() throws JsonMappingException, JsonProcessingException {
+ void executionContextLocale() throws JacksonException {
JsonNode rootNode = new ObjectMapper().readTree(" { \"foo\": 123 } ");
SchemaRegistryConfig config = SchemaRegistryConfig.builder().build();
Schema jsonSchema = getSchema(config);
@@ -73,10 +72,10 @@ void executionContextLocale() throws JsonMappingException, JsonProcessingExcepti
* Locale.ENGLISH should work despite Locale.getDefault setting.
*
* @throws JsonMappingException the exception
- * @throws JsonProcessingException the exception
+ * @throws JacksonException the exception
*/
@Test
- void englishLocale() throws JsonMappingException, JsonProcessingException {
+ void englishLocale() throws JacksonException {
Locale locale = Locale.getDefault();
try {
Locale.setDefault(Locale.GERMAN);
diff --git a/src/test/java/com/networknt/schema/MaximumValidatorTest.java b/src/test/java/com/networknt/schema/MaximumValidatorTest.java
index 634945fca..ada7c642a 100644
--- a/src/test/java/com/networknt/schema/MaximumValidatorTest.java
+++ b/src/test/java/com/networknt/schema/MaximumValidatorTest.java
@@ -16,9 +16,9 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import java.io.IOException;
@@ -40,8 +40,8 @@ class MaximumValidatorTest extends BaseJsonSchemaValidatorTest {
// due to a jackson bug, a float number which is larger than Double.POSITIVE_INFINITY cannot be convert to BigDecimal correctly
// https://github.com/FasterXML/jackson-databind/issues/1770
// https://github.com/FasterXML/jackson-databind/issues/2087
- private static final ObjectMapper bigDecimalMapper = new ObjectMapper().enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);
- private static final ObjectMapper bigIntegerMapper = new ObjectMapper().enable(DeserializationFeature.USE_BIG_INTEGER_FOR_INTS);
+ private static final ObjectMapper bigDecimalMapper = new ObjectMapper().rebuild().enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS).build();
+ private static final ObjectMapper bigIntegerMapper = new ObjectMapper().rebuild().enable(DeserializationFeature.USE_BIG_INTEGER_FOR_INTS).build();
static String[][] augmentWithQuotes(String[][] values) {
for (int i = 0; i < values.length; i++) {
diff --git a/src/test/java/com/networknt/schema/MessageTest.java b/src/test/java/com/networknt/schema/MessageTest.java
index 5a5e5da1a..b8e8d3667 100644
--- a/src/test/java/com/networknt/schema/MessageTest.java
+++ b/src/test/java/com/networknt/schema/MessageTest.java
@@ -21,7 +21,7 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.keyword.BaseKeywordValidator;
@@ -40,13 +40,13 @@ static class EqualsValidator extends BaseKeywordValidator {
Schema parentSchema, Keyword keyword,
SchemaContext schemaContext) {
super(keyword, schemaNode, schemaLocation, parentSchema, schemaContext);
- this.value = schemaNode.textValue();
+ this.value = schemaNode.asString();
}
@Override
public void validate(ExecutionContext executionContext, JsonNode node, JsonNode rootNode,
NodePath instanceLocation) {
- if (!node.asText().equals(value)) {
+ if (!node.asString().equals(value)) {
executionContext.addError(error().message("must be equal to ''{0}''")
.arguments(value)
.instanceLocation(instanceLocation).instanceNode(node).evaluationPath(executionContext.getEvaluationPath()).build());
diff --git a/src/test/java/com/networknt/schema/MetaSchemaValidationTest.java b/src/test/java/com/networknt/schema/MetaSchemaValidationTest.java
index 6768a04f5..1d85a397d 100644
--- a/src/test/java/com/networknt/schema/MetaSchemaValidationTest.java
+++ b/src/test/java/com/networknt/schema/MetaSchemaValidationTest.java
@@ -23,7 +23,7 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.serialization.JsonMapperFactory;
/**
diff --git a/src/test/java/com/networknt/schema/MinimumValidatorTest.java b/src/test/java/com/networknt/schema/MinimumValidatorTest.java
index b4888358c..55f63351d 100644
--- a/src/test/java/com/networknt/schema/MinimumValidatorTest.java
+++ b/src/test/java/com/networknt/schema/MinimumValidatorTest.java
@@ -28,9 +28,9 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
class MinimumValidatorTest {
private static final String NUMBER = "{ \"$schema\":\"http://json-schema.org/draft-04/schema#\", \"type\": \"number\", \"minimum\": %s }";
@@ -50,8 +50,8 @@ void setUp() {
// due to a jackson bug, a float number which is larger than Double.POSITIVE_INFINITY cannot be convert to BigDecimal correctly
// https://github.com/FasterXML/jackson-databind/issues/1770
// https://github.com/FasterXML/jackson-databind/issues/2087
- bigDecimalMapper = new ObjectMapper().enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);
- bigIntegerMapper = new ObjectMapper().enable(DeserializationFeature.USE_BIG_INTEGER_FOR_INTS);
+ bigDecimalMapper = new ObjectMapper().rebuild().enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS).build();
+ bigIntegerMapper = new ObjectMapper().rebuild().enable(DeserializationFeature.USE_BIG_INTEGER_FOR_INTS).build();
}
diff --git a/src/test/java/com/networknt/schema/OpenAPI30JsonSchemaTest.java b/src/test/java/com/networknt/schema/OpenAPI30JsonSchemaTest.java
index 09075e756..175a2bce7 100644
--- a/src/test/java/com/networknt/schema/OpenAPI30JsonSchemaTest.java
+++ b/src/test/java/com/networknt/schema/OpenAPI30JsonSchemaTest.java
@@ -4,9 +4,9 @@
import java.util.ArrayList;
import java.util.List;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.node.ArrayNode;
import com.networknt.schema.dialect.Dialects;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/OutputFormatTest.java b/src/test/java/com/networknt/schema/OutputFormatTest.java
index 4f144f0c6..913f0858a 100644
--- a/src/test/java/com/networknt/schema/OutputFormatTest.java
+++ b/src/test/java/com/networknt/schema/OutputFormatTest.java
@@ -15,8 +15,8 @@
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.utils.CachingSupplier;
class OutputFormatTest {
@@ -62,7 +62,7 @@ private Error format(Error message) {
if (!value.isObject() && !value.isArray()) {
builder.append("with value ");
builder.append("'");
- builder.append(value.asText());
+ builder.append(value.asString());
builder.append("'");
builder.append(" ");
}
diff --git a/src/test/java/com/networknt/schema/OutputUnitTest.java b/src/test/java/com/networknt/schema/OutputUnitTest.java
index b10e5a58b..33cab6a7a 100644
--- a/src/test/java/com/networknt/schema/OutputUnitTest.java
+++ b/src/test/java/com/networknt/schema/OutputUnitTest.java
@@ -28,7 +28,7 @@
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
-import com.fasterxml.jackson.core.JsonProcessingException;
+import tools.jackson.core.JacksonException;
import com.networknt.schema.output.OutputUnit;
import com.networknt.schema.serialization.JsonMapperFactory;
@@ -93,7 +93,7 @@ class OutputUnitTest {
+ " \"bar\": { \"bar-prop\": 20 }\r\n"
+ "}";
@Test
- void annotationCollectionList() throws JsonProcessingException {
+ void annotationCollectionList() throws JacksonException {
SchemaRegistry factory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2020_12);
Schema schema = factory.getSchema(schemaData);
@@ -109,7 +109,7 @@ void annotationCollectionList() throws JsonProcessingException {
}
@Test
- void annotationCollectionHierarchical() throws JsonProcessingException {
+ void annotationCollectionHierarchical() throws JacksonException {
SchemaRegistry factory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2020_12);
Schema schema = factory.getSchema(schemaData);
@@ -125,7 +125,7 @@ void annotationCollectionHierarchical() throws JsonProcessingException {
}
@Test
- void annotationCollectionHierarchical2() throws JsonProcessingException {
+ void annotationCollectionHierarchical2() throws JacksonException {
SchemaRegistry factory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2020_12);
Schema schema = factory.getSchema(schemaData);
@@ -222,7 +222,7 @@ void typeUnion() {
}
@Test
- void unevaluatedProperties() throws JsonProcessingException {
+ void unevaluatedProperties() throws JacksonException {
Map external = new HashMap<>();
String externalSchemaData = "{\r\n"
@@ -282,10 +282,10 @@ void unevaluatedProperties() throws JsonProcessingException {
*
* @see anyOf
- * @throws JsonProcessingException the exception
+ * @throws JacksonException the exception
*/
@Test
- void anyOf() throws JsonProcessingException {
+ void anyOf() throws JacksonException {
// Test that any of doesn't short circuit if annotations need to be collected
String schemaData = "{\r\n"
+ " \"type\": \"object\",\r\n"
diff --git a/src/test/java/com/networknt/schema/OverrideValidatorTest.java b/src/test/java/com/networknt/schema/OverrideValidatorTest.java
index 786beab44..e0496175f 100644
--- a/src/test/java/com/networknt/schema/OverrideValidatorTest.java
+++ b/src/test/java/com/networknt/schema/OverrideValidatorTest.java
@@ -16,9 +16,9 @@
package com.networknt.schema;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.dialect.Dialect;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.format.PatternFormat;
@@ -35,7 +35,7 @@
class OverrideValidatorTest {
@Test
- void overrideDefaultValidator() throws JsonProcessingException, IOException {
+ void overrideDefaultValidator() throws JacksonException, IOException {
ObjectMapper objectMapper = new ObjectMapper();
final String URI = "https://github.com/networknt/json-schema-validator/tests/schemas/example01";
final String schema = "{\n" +
diff --git a/src/test/java/com/networknt/schema/OverwritingCustomMessageBugTest.java b/src/test/java/com/networknt/schema/OverwritingCustomMessageBugTest.java
index 3b14f3032..f53a1a157 100644
--- a/src/test/java/com/networknt/schema/OverwritingCustomMessageBugTest.java
+++ b/src/test/java/com/networknt/schema/OverwritingCustomMessageBugTest.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.path.PathType;
import com.networknt.schema.regex.JDKRegularExpressionFactory;
diff --git a/src/test/java/com/networknt/schema/PatternPropertiesValidatorTest.java b/src/test/java/com/networknt/schema/PatternPropertiesValidatorTest.java
index 22f8d33d7..9ed4c12f4 100644
--- a/src/test/java/com/networknt/schema/PatternPropertiesValidatorTest.java
+++ b/src/test/java/com/networknt/schema/PatternPropertiesValidatorTest.java
@@ -16,7 +16,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.output.OutputUnit;
import com.networknt.schema.regex.JoniRegularExpressionFactory;
diff --git a/src/test/java/com/networknt/schema/PrefixItemsValidatorTest.java b/src/test/java/com/networknt/schema/PrefixItemsValidatorTest.java
index eb9754e20..0a575f1c1 100644
--- a/src/test/java/com/networknt/schema/PrefixItemsValidatorTest.java
+++ b/src/test/java/com/networknt/schema/PrefixItemsValidatorTest.java
@@ -4,8 +4,8 @@
import org.junit.jupiter.api.DynamicNode;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.keyword.PrefixItemsValidator;
import com.networknt.schema.path.NodePath;
import com.networknt.schema.serialization.JsonMapperFactory;
@@ -172,7 +172,7 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
}
@Test
- void walkDefaults() throws JsonProcessingException {
+ void walkDefaults() throws JacksonException {
String schemaData = "{\n"
+ " \"prefixItems\": [\n"
+ " {\n"
diff --git a/src/test/java/com/networknt/schema/QuickStartTest.java b/src/test/java/com/networknt/schema/QuickStartTest.java
index 3315ce297..44eff8fdd 100644
--- a/src/test/java/com/networknt/schema/QuickStartTest.java
+++ b/src/test/java/com/networknt/schema/QuickStartTest.java
@@ -12,9 +12,8 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.dialect.Dialects;
import com.networknt.schema.output.OutputUnit;
import com.networknt.schema.regex.JoniRegularExpressionFactory;
@@ -197,24 +196,24 @@ void location() {
executionContext.executionConfig(executionConfig -> executionConfig.formatAssertionsEnabled(true));
});
Error format = errors.get(0);
- JsonLocation formatInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getInstanceNode());
- JsonLocation formatSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getSchemaNode());
+ TokenStreamLocation formatInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getInstanceNode());
+ TokenStreamLocation formatSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getSchemaNode());
Error minLength = errors.get(1);
- JsonLocation minLengthInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getInstanceNode());
- JsonLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getSchemaNode());
+ TokenStreamLocation minLengthInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getInstanceNode());
+ TokenStreamLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getSchemaNode());
assertEquals("format", format.getKeyword());
- assertEquals("date", format.getSchemaNode().asText());
+ assertEquals("date", format.getSchemaNode().asString());
assertEquals(5, formatSchemaNodeTokenLocation.getLineNr());
assertEquals(17, formatSchemaNodeTokenLocation.getColumnNr());
- assertEquals("1", format.getInstanceNode().asText());
+ assertEquals("1", format.getInstanceNode().asString());
assertEquals(2, formatInstanceNodeTokenLocation.getLineNr());
assertEquals(16, formatInstanceNodeTokenLocation.getColumnNr());
assertEquals("minLength", minLength.getKeyword());
- assertEquals("6", minLength.getSchemaNode().asText());
+ assertEquals("6", minLength.getSchemaNode().asString());
assertEquals(6, minLengthSchemaNodeTokenLocation.getLineNr());
assertEquals(20, minLengthSchemaNodeTokenLocation.getColumnNr());
- assertEquals("1", minLength.getInstanceNode().asText());
+ assertEquals("1", minLength.getInstanceNode().asString());
assertEquals(2, minLengthInstanceNodeTokenLocation.getLineNr());
assertEquals(16, minLengthInstanceNodeTokenLocation.getColumnNr());
assertEquals(16, minLengthInstanceNodeTokenLocation.getColumnNr());
@@ -319,7 +318,7 @@ void schemaFromString() {
}
@Test
- void schemaFromJsonNode() throws JsonProcessingException {
+ void schemaFromJsonNode() {
SchemaRegistry schemaRegistry = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2020_12);
JsonNode schemaNode = JsonMapperFactory.getInstance().readTree(
"{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"properties\": { \"id\": {\"type\": \"number\"}}}");
diff --git a/src/test/java/com/networknt/schema/ReadOnlyValidatorTest.java b/src/test/java/com/networknt/schema/ReadOnlyValidatorTest.java
index f9fab9dbb..22374e8fc 100644
--- a/src/test/java/com/networknt/schema/ReadOnlyValidatorTest.java
+++ b/src/test/java/com/networknt/schema/ReadOnlyValidatorTest.java
@@ -11,8 +11,8 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.node.ObjectNode;
class ReadOnlyValidatorTest {
diff --git a/src/test/java/com/networknt/schema/RecursiveReferenceValidatorExceptionTest.java b/src/test/java/com/networknt/schema/RecursiveReferenceValidatorExceptionTest.java
index 2b53ac17e..1fbfc147d 100644
--- a/src/test/java/com/networknt/schema/RecursiveReferenceValidatorExceptionTest.java
+++ b/src/test/java/com/networknt/schema/RecursiveReferenceValidatorExceptionTest.java
@@ -1,6 +1,6 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.keyword.RecursiveRefValidator;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/RefTest.java b/src/test/java/com/networknt/schema/RefTest.java
index ddba8bf53..650c7ae06 100644
--- a/src/test/java/com/networknt/schema/RefTest.java
+++ b/src/test/java/com/networknt/schema/RefTest.java
@@ -6,16 +6,16 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.json.JsonMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
import com.networknt.schema.dialect.DialectId;
class RefTest {
private static final ObjectMapper OBJECT_MAPPER = JsonMapper.builder().build();
@Test
- void shouldLoadRelativeClasspathReference() throws JsonProcessingException {
+ void shouldLoadRelativeClasspathReference() throws JacksonException {
SchemaRegistry factory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2020_12);
Schema schema = factory.getSchema(SchemaLocation.of("classpath:///schema/ref-main.json"));
String input = "{\r\n"
@@ -37,7 +37,7 @@ void shouldLoadRelativeClasspathReference() throws JsonProcessingException {
}
@Test
- void shouldLoadSchemaResource() throws JsonProcessingException {
+ void shouldLoadSchemaResource() throws JacksonException {
SchemaRegistry factory = SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_2020_12);
Schema schema = factory.getSchema(SchemaLocation.of("classpath:///schema/ref-main-schema-resource.json"));
String input = "{\r\n"
diff --git a/src/test/java/com/networknt/schema/SharedConfigTest.java b/src/test/java/com/networknt/schema/SharedConfigTest.java
index ea4002a7b..c139c2d01 100644
--- a/src/test/java/com/networknt/schema/SharedConfigTest.java
+++ b/src/test/java/com/networknt/schema/SharedConfigTest.java
@@ -5,7 +5,7 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.walk.WalkListener;
import com.networknt.schema.walk.KeywordWalkHandler;
import com.networknt.schema.walk.WalkConfig;
diff --git a/src/test/java/com/networknt/schema/SpecificationVersionDetector.java b/src/test/java/com/networknt/schema/SpecificationVersionDetector.java
index 73c89678f..5c1e4c388 100644
--- a/src/test/java/com/networknt/schema/SpecificationVersionDetector.java
+++ b/src/test/java/com/networknt/schema/SpecificationVersionDetector.java
@@ -16,7 +16,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import java.nio.file.Path;
import java.util.HashMap;
@@ -73,7 +73,7 @@ public static SpecificationVersion detect(JsonNode jsonNode) {
public static Optional detectOptionalVersion(JsonNode jsonNode, boolean throwIfUnsupported) {
return Optional.ofNullable(jsonNode.get(SCHEMA_TAG)).map(schemaTag -> {
- String schemaTagValue = schemaTag.asText();
+ String schemaTagValue = schemaTag.asString();
String schemaUri = SchemaRegistry.normalizeDialectId(schemaTagValue);
if (throwIfUnsupported) {
diff --git a/src/test/java/com/networknt/schema/SpecificationVersionDetectorTest.java b/src/test/java/com/networknt/schema/SpecificationVersionDetectorTest.java
index 2fbdd6324..2d4aa9676 100644
--- a/src/test/java/com/networknt/schema/SpecificationVersionDetectorTest.java
+++ b/src/test/java/com/networknt/schema/SpecificationVersionDetectorTest.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
@@ -34,10 +34,10 @@ void detectVersion(String resourceDirectory, SpecificationVersion expectedFlag)
}
@ParameterizedTest
- @CsvSource({
+ @CsvSource(value = {
"data/schemaTag.json, 'http://json-schema.org/draft-03/schema#' is unrecognizable schema",
"data/schemaTagMissing.json, '$schema' tag is not present"
- })
+ }, quoteCharacter = '"')
void detectInvalidSchemaVersion(String schemaPath, String expectedError) throws IOException {
InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(schemaPath);
JsonNode node = mapper.readTree(in);
diff --git a/src/test/java/com/networknt/schema/TypeFactoryTest.java b/src/test/java/com/networknt/schema/TypeFactoryTest.java
index 33acd4c33..8b2848ae9 100755
--- a/src/test/java/com/networknt/schema/TypeFactoryTest.java
+++ b/src/test/java/com/networknt/schema/TypeFactoryTest.java
@@ -25,9 +25,9 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.node.DecimalNode;
-import com.fasterxml.jackson.databind.node.MissingNode;
-import com.fasterxml.jackson.databind.node.TextNode;
+import tools.jackson.databind.node.DecimalNode;
+import tools.jackson.databind.node.MissingNode;
+import tools.jackson.databind.node.StringNode;
import com.networknt.schema.serialization.JsonMapperFactory;
import com.networknt.schema.utils.JsonType;
@@ -142,7 +142,7 @@ void testBinaryValue() {
@Test
void testUnknownSchema() {
- assertSame(JsonType.UNKNOWN, getSchemaNodeType(TextNode.valueOf("unexpected")));
+ assertSame(JsonType.UNKNOWN, getSchemaNodeType(StringNode.valueOf("unexpected")));
}
@Test
@@ -152,42 +152,42 @@ void testMissingSchema() {
@Test
void testStringSchema() {
- assertSame(JsonType.STRING, getSchemaNodeType(TextNode.valueOf(JsonType.STRING.toString())));
+ assertSame(JsonType.STRING, getSchemaNodeType(StringNode.valueOf(JsonType.STRING.toString())));
}
@Test
void testObjectSchema() {
- assertSame(JsonType.OBJECT, getSchemaNodeType(TextNode.valueOf(JsonType.OBJECT.toString())));
+ assertSame(JsonType.OBJECT, getSchemaNodeType(StringNode.valueOf(JsonType.OBJECT.toString())));
}
@Test
void testArraySchema() {
- assertSame(JsonType.ARRAY, getSchemaNodeType(TextNode.valueOf(JsonType.ARRAY.toString())));
+ assertSame(JsonType.ARRAY, getSchemaNodeType(StringNode.valueOf(JsonType.ARRAY.toString())));
}
@Test
void testBooleanSchema() {
- assertSame(JsonType.BOOLEAN, getSchemaNodeType(TextNode.valueOf(JsonType.BOOLEAN.toString())));
+ assertSame(JsonType.BOOLEAN, getSchemaNodeType(StringNode.valueOf(JsonType.BOOLEAN.toString())));
}
@Test
void testNumberSchema() {
- assertSame(JsonType.NUMBER, getSchemaNodeType(TextNode.valueOf(JsonType.NUMBER.toString())));
+ assertSame(JsonType.NUMBER, getSchemaNodeType(StringNode.valueOf(JsonType.NUMBER.toString())));
}
@Test
void testIntegerSchema() {
- assertSame(JsonType.INTEGER, getSchemaNodeType(TextNode.valueOf(JsonType.INTEGER.toString())));
+ assertSame(JsonType.INTEGER, getSchemaNodeType(StringNode.valueOf(JsonType.INTEGER.toString())));
}
@Test
void testAnySchema() {
- assertSame(JsonType.ANY, getSchemaNodeType(TextNode.valueOf(JsonType.ANY.toString())));
+ assertSame(JsonType.ANY, getSchemaNodeType(StringNode.valueOf(JsonType.ANY.toString())));
}
@Test
void testNullSchema() {
- assertSame(JsonType.NULL, getSchemaNodeType(TextNode.valueOf(JsonType.NULL.toString())));
+ assertSame(JsonType.NULL, getSchemaNodeType(StringNode.valueOf(JsonType.NULL.toString())));
}
@Test
diff --git a/src/test/java/com/networknt/schema/UnknownMetaSchemaTest.java b/src/test/java/com/networknt/schema/UnknownMetaSchemaTest.java
index 0b21409a2..f6858446c 100644
--- a/src/test/java/com/networknt/schema/UnknownMetaSchemaTest.java
+++ b/src/test/java/com/networknt/schema/UnknownMetaSchemaTest.java
@@ -1,7 +1,7 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.dialect.DialectId;
import org.junit.jupiter.api.Assertions;
diff --git a/src/test/java/com/networknt/schema/UriMappingTest.java b/src/test/java/com/networknt/schema/UriMappingTest.java
index 47821235d..a768cf622 100644
--- a/src/test/java/com/networknt/schema/UriMappingTest.java
+++ b/src/test/java/com/networknt/schema/UriMappingTest.java
@@ -20,14 +20,15 @@
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.io.InputStream;
import java.io.UncheckedIOException;
import java.net.URL;
import java.util.HashMap;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.SchemaRegistry.Builder;
import com.networknt.schema.dialect.BasicDialectRegistry;
import com.networknt.schema.dialect.Dialect;
@@ -58,7 +59,9 @@ void testBuilderUriMappingUri() throws IOException {
SchemaRegistry instance = builder.build();
Schema schema = instance.getSchema(SchemaLocation.of(
"https://raw.githubusercontent.com/networknt/json-schema-validator/master/src/test/resources/draft4/extra/uri_mapping/uri-mapping.schema.json"));
- assertEquals(0, schema.validate(mapper.readTree(mappings)).size());
+ try (InputStream inputStream = mappings.openStream()){
+ assertEquals(0, schema.validate(mapper.readTree(inputStream)).size());
+ }
}
/**
@@ -124,7 +127,10 @@ void testValidatorConfigUriMappingUri() throws IOException {
.schemaIdResolvers(schemaIdResolvers -> schemaIdResolvers.add(getUriMappingsFromUrl(mappings))).build();
Schema schema = instance.getSchema(SchemaLocation.of(
"https://raw.githubusercontent.com/networknt/json-schema-validator/master/src/test/resources/draft4/extra/uri_mapping/uri-mapping.schema.json"));
- assertEquals(0, schema.validate(mapper.readTree(mappings)).size());
+ try (InputStream inputStream = mappings.openStream()){
+ assertEquals(0, schema.validate(mapper.readTree(inputStream)).size());
+ }
+
}
/**
@@ -186,9 +192,10 @@ void testMappingsForRef() throws IOException {
private SchemaIdResolver getUriMappingsFromUrl(URL url) {
HashMap map = new HashMap();
try {
- for (JsonNode mapping : mapper.readTree(url)) {
- map.put(mapping.get("publicURL").asText(),
- mapping.get("localURL").asText());
+ try (InputStream inputStream = url.openStream()) {
+ for (JsonNode mapping : mapper.readTree(inputStream)) {
+ map.put(mapping.get("publicURL").asString(), mapping.get("localURL").asString());
+ }
}
} catch (IOException e) {
throw new UncheckedIOException(e);
diff --git a/src/test/java/com/networknt/schema/V4JsonSchemaTest.java b/src/test/java/com/networknt/schema/V4JsonSchemaTest.java
index cb203ef8a..a31ff88c0 100644
--- a/src/test/java/com/networknt/schema/V4JsonSchemaTest.java
+++ b/src/test/java/com/networknt/schema/V4JsonSchemaTest.java
@@ -16,8 +16,8 @@
package com.networknt.schema;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/networknt/schema/benchmark/NetworkntBasicRunner.java b/src/test/java/com/networknt/schema/benchmark/NetworkntBasicRunner.java
index 48c6b8f21..d919078c3 100644
--- a/src/test/java/com/networknt/schema/benchmark/NetworkntBasicRunner.java
+++ b/src/test/java/com/networknt/schema/benchmark/NetworkntBasicRunner.java
@@ -1,6 +1,5 @@
package com.networknt.schema.benchmark;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
@@ -8,9 +7,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectReader;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectReader;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaRegistry;
import com.networknt.schema.SpecificationVersion;
@@ -37,9 +36,9 @@ public NetworkntBasicRunner() {
schemas = root.get("schemas");
List names = new ArrayList<>();
- schemas.fieldNames().forEachRemaining(names::add);
+ schemas.propertyNames().iterator().forEachRemaining(names::add);
schemaNames = names;
- } catch (IOException e) {
+ } catch (RuntimeException e) {
logger.error("Failed to initialize NetworkntBasicRunner", e);
}
}
diff --git a/src/test/java/com/networknt/schema/keyword/PropertiesValidatorTest.java b/src/test/java/com/networknt/schema/keyword/PropertiesValidatorTest.java
index 3bbc0d7f9..220ff7896 100644
--- a/src/test/java/com/networknt/schema/keyword/PropertiesValidatorTest.java
+++ b/src/test/java/com/networknt/schema/keyword/PropertiesValidatorTest.java
@@ -1,6 +1,6 @@
package com.networknt.schema.keyword;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.BaseJsonSchemaValidatorTest;
import com.networknt.schema.Error;
import com.networknt.schema.InputFormat;
diff --git a/src/test/java/com/networknt/schema/keyword/ThresholdMixinPerfTest.java b/src/test/java/com/networknt/schema/keyword/ThresholdMixinPerfTest.java
index 014c117e0..9008c0c0e 100644
--- a/src/test/java/com/networknt/schema/keyword/ThresholdMixinPerfTest.java
+++ b/src/test/java/com/networknt/schema/keyword/ThresholdMixinPerfTest.java
@@ -24,12 +24,12 @@
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.BigIntegerNode;
-import com.fasterxml.jackson.databind.node.DecimalNode;
-import com.fasterxml.jackson.databind.node.DoubleNode;
-import com.fasterxml.jackson.databind.node.LongNode;
-import com.fasterxml.jackson.databind.node.TextNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.BigIntegerNode;
+import tools.jackson.databind.node.DecimalNode;
+import tools.jackson.databind.node.DoubleNode;
+import tools.jackson.databind.node.LongNode;
+import tools.jackson.databind.node.StringNode;
@Disabled
class ThresholdMixinPerfTest {
@@ -52,9 +52,9 @@ class ThresholdMixinPerfTest {
private final double value = threshold + 1;
private final DoubleNode valueDouble = new DoubleNode(value);
private final DecimalNode valueDecimal = new DecimalNode(new BigDecimal(value));
- private final TextNode valueTextual = new TextNode(String.valueOf(value));
+ private final StringNode valueTextual = new StringNode(String.valueOf(value));
- private final String maximumText = maximumDouble.asText();
+ private final String maximumText = maximumDouble.asString();
private final BigDecimal max = new BigDecimal(maximumText);
private final int executeTimes = 200000;
@@ -129,10 +129,10 @@ void specificCaseForEachThresholdValue() {
double decimalValueAvgTime = getAvgTimeViaMixin(typedThreshold, valueDecimal, executeTimes);
out.printf("Typed threshold execution time %f ns, %f times slower%n", decimalValueAvgTime, (decimalValueAvgTime / baseTimeForDouble));
- double textValueAvgTime = getAvgTimeViaMixin(typedThreshold, valueTextual, executeTimes);
- out.printf("Typed threshold execution time %f ns, %f times slower%n", textValueAvgTime, (textValueAvgTime / baseTimeForDouble));
+ double asStringAvgTime = getAvgTimeViaMixin(typedThreshold, valueTextual, executeTimes);
+ out.printf("Typed threshold execution time %f ns, %f times slower%n", asStringAvgTime, (asStringAvgTime / baseTimeForDouble));
- out.printf("Cumulative average: %f\n\n%n", (doubleValueAvgTime + decimalValueAvgTime + textValueAvgTime) / 3.0d);
+ out.printf("Cumulative average: %f\n\n%n", (doubleValueAvgTime + decimalValueAvgTime + asStringAvgTime) / 3.0d);
}
@Test
@@ -144,10 +144,10 @@ void noMixinsFloatingTimeEstimate() {
double decimalValueAvgTime = getAvgTimeViaMixin(oneMixinForIntegerAndNumber, valueDecimal, executeTimes);
out.printf("No mixins with decimal value time %f ns, %f times slower%n", decimalValueAvgTime, (decimalValueAvgTime / baseTimeForDouble));
- double textValueAvgTime = getAvgTimeViaMixin(oneMixinForIntegerAndNumber, valueTextual, executeTimes);
- out.printf("No mixins with text value time %f ns, %f times slower%n", textValueAvgTime, (textValueAvgTime / baseTimeForDouble));
+ double asStringAvgTime = getAvgTimeViaMixin(oneMixinForIntegerAndNumber, valueTextual, executeTimes);
+ out.printf("No mixins with text value time %f ns, %f times slower%n", asStringAvgTime, (asStringAvgTime / baseTimeForDouble));
out.printf("Cumulative average: %f\n\n%n",
- (doubleValueAvgTime + decimalValueAvgTime + textValueAvgTime) / 3.0d);
+ (doubleValueAvgTime + decimalValueAvgTime + asStringAvgTime) / 3.0d);
}
@Test
@@ -158,7 +158,7 @@ void noMixinsIntegralTimeEstimate() {
double bigIntValueAvgTime = getAvgTimeViaMixin(oneMixinForIntegerAndNumber, new BigIntegerNode(BigInteger.valueOf((long) value)), executeTimes);
out.printf("No mixins with big int value time %f ns, %f times slower%n", bigIntValueAvgTime, (bigIntValueAvgTime / baseTimeForLong));
- double textIntValueAvgTime = getAvgTimeViaMixin(oneMixinForIntegerAndNumber, new TextNode(String.valueOf((long) value)), executeTimes);
+ double textIntValueAvgTime = getAvgTimeViaMixin(oneMixinForIntegerAndNumber, new StringNode(String.valueOf((long) value)), executeTimes);
out.printf("No mixins with text value time %f ns, %f times slower%n", textIntValueAvgTime, (textIntValueAvgTime / baseTimeForLong));
out.printf("Cumulative average: %f\n\n%n",
(longValueAvgTime + bigIntValueAvgTime + textIntValueAvgTime) / 3.0d);
@@ -176,7 +176,7 @@ public static class AllInOneThreshold implements ThresholdMixin {
AllInOneThreshold(JsonNode maximum, boolean exludeEqual) {
this.maximum = maximum;
this.excludeEqual = exludeEqual;
- this.bigDecimalMax = new BigDecimal(maximum.asText());
+ this.bigDecimalMax = new BigDecimal(maximum.asString());
}
@Override
@@ -199,14 +199,14 @@ public boolean crossesThreshold(JsonNode node) {
return compare > 0 || (excludeEqual && compare == 0);
}
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(bigDecimalMax);
return compare > 0 || (excludeEqual && compare == 0);
}
@Override
public String thresholdValue() {
- return maximum.asText();
+ return maximum.asString();
}
}
@@ -256,7 +256,7 @@ public boolean crossesThreshold(JsonNode node) {
return compare > 0 || (excludeEqual && compare == 0);
}
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(max);
return compare > 0 || (excludeEqual && compare == 0);
}
@@ -284,7 +284,7 @@ public boolean crossesThreshold(JsonNode node) {
return true;
}
final BigDecimal max = new BigDecimal(maximumText);
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(max);
return compare > 0 || (excludeEqual && compare == 0);
}
@@ -313,7 +313,7 @@ public boolean crossesThreshold(JsonNode node) {
return true;
}
final BigDecimal max = new BigDecimal(maximumText);
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(max);
return compare > 0 || (excludeEqual && compare == 0);
}
@@ -328,7 +328,7 @@ public String thresholdValue() {
@SuppressWarnings("unused")
@Override
public boolean crossesThreshold(JsonNode node) {
- BigDecimal value = new BigDecimal(node.asText());
+ BigDecimal value = new BigDecimal(node.asString());
int compare = value.compareTo(max);
return compare > 0 || (excludeEqual && compare == 0);
}
diff --git a/src/test/java/com/networknt/schema/serialization/DefaultNodeReaderTest.java b/src/test/java/com/networknt/schema/serialization/DefaultNodeReaderTest.java
index e6a61f0e9..77578e355 100644
--- a/src/test/java/com/networknt/schema/serialization/DefaultNodeReaderTest.java
+++ b/src/test/java/com/networknt/schema/serialization/DefaultNodeReaderTest.java
@@ -20,9 +20,8 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.InputFormat;
import com.networknt.schema.utils.JsonNodes;
@@ -31,7 +30,7 @@
*/
class DefaultNodeReaderTest {
@Test
- void location() throws JsonParseException, IOException {
+ void location() throws IOException {
String schemaData = "{\r\n"
+ " \"$id\": \"https://schema/myschema\",\r\n"
+ " \"properties\": {\r\n"
@@ -43,7 +42,7 @@ void location() throws JsonParseException, IOException {
+ "}";
JsonNode jsonNode = NodeReader.builder().locationAware().build().readTree(schemaData, InputFormat.JSON);
JsonNode idNode = jsonNode.at("/$id");
- JsonLocation location = JsonNodes.tokenStreamLocationOf(idNode);
+ TokenStreamLocation location = JsonNodes.tokenStreamLocationOf(idNode);
assertEquals(2, location.getLineNr());
assertEquals(10, location.getColumnNr());
@@ -71,8 +70,8 @@ void jsonLocation() throws IOException {
+ "}";
JsonNode jsonNode = NodeReader.builder().locationAware().build().readTree(schemaData, InputFormat.JSON);
- JsonLocation formatSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(jsonNode.at("/properties/startDate/format"));
- JsonLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(jsonNode.at("/properties/startDate/minLength"));
+ TokenStreamLocation formatSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(jsonNode.at("/properties/startDate/format"));
+ TokenStreamLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(jsonNode.at("/properties/startDate/minLength"));
assertEquals(5, formatSchemaNodeTokenLocation.getLineNr());
assertEquals(17, formatSchemaNodeTokenLocation.getColumnNr());
@@ -91,8 +90,8 @@ void yamlLocation() throws IOException {
+ " minLength: 6\r\n";
JsonNode jsonNode = NodeReader.builder().locationAware().build().readTree(schemaData, InputFormat.YAML);
- JsonLocation formatSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(jsonNode.at("/properties/startDate/format"));
- JsonLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(jsonNode.at("/properties/startDate/minLength"));
+ TokenStreamLocation formatSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(jsonNode.at("/properties/startDate/format"));
+ TokenStreamLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(jsonNode.at("/properties/startDate/minLength"));
assertEquals(5, formatSchemaNodeTokenLocation.getLineNr());
assertEquals(13, formatSchemaNodeTokenLocation.getColumnNr());
diff --git a/src/test/java/com/networknt/schema/suite/TestCase.java b/src/test/java/com/networknt/schema/suite/TestCase.java
index 9aa19e433..ef72a22bb 100644
--- a/src/test/java/com/networknt/schema/suite/TestCase.java
+++ b/src/test/java/com/networknt/schema/suite/TestCase.java
@@ -3,7 +3,7 @@
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import java.nio.file.Path;
import java.util.Collections;
diff --git a/src/test/java/com/networknt/schema/suite/TestSource.java b/src/test/java/com/networknt/schema/suite/TestSource.java
index 29edd248f..b3bb70c96 100644
--- a/src/test/java/com/networknt/schema/suite/TestSource.java
+++ b/src/test/java/com/networknt/schema/suite/TestSource.java
@@ -9,9 +9,9 @@
import java.util.List;
import java.util.Optional;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.exc.MismatchedInputException;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.exc.MismatchedInputException;
import com.networknt.schema.serialization.JsonMapperFactory;
public class TestSource {
diff --git a/src/test/java/com/networknt/schema/suite/TestSpec.java b/src/test/java/com/networknt/schema/suite/TestSpec.java
index e06e27f9f..e2397719b 100644
--- a/src/test/java/com/networknt/schema/suite/TestSpec.java
+++ b/src/test/java/com/networknt/schema/suite/TestSpec.java
@@ -2,7 +2,7 @@
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import com.networknt.schema.SchemaRegistryConfig;
import java.util.Collections;
diff --git a/src/test/java/com/networknt/schema/utils/JsonNodesTest.java b/src/test/java/com/networknt/schema/utils/JsonNodesTest.java
index fef8bfc6f..33a96f849 100644
--- a/src/test/java/com/networknt/schema/utils/JsonNodesTest.java
+++ b/src/test/java/com/networknt/schema/utils/JsonNodesTest.java
@@ -26,11 +26,10 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.TokenStreamLocation;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import com.networknt.schema.InputFormat;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaRegistry;
@@ -44,7 +43,7 @@
*/
class JsonNodesTest {
@Test
- void location() throws JsonParseException, IOException {
+ void location() throws IOException {
String schemaData = "{\r\n"
+ " \"$id\": \"https://schema/myschema\",\r\n"
+ " \"properties\": {\r\n"
@@ -57,7 +56,7 @@ void location() throws JsonParseException, IOException {
JsonNode jsonNode = JsonNodes.readTree(JsonMapperFactory.getInstance(), schemaData,
LocationJsonNodeFactoryFactory.getInstance());
JsonNode idNode = jsonNode.at("/$id");
- JsonLocation location = JsonNodes.tokenStreamLocationOf(idNode);
+ TokenStreamLocation location = JsonNodes.tokenStreamLocationOf(idNode);
assertEquals(2, location.getLineNr());
assertEquals(10, location.getColumnNr());
@@ -94,29 +93,29 @@ void jsonLocation() {
});
List list = messages.stream().collect(Collectors.toList());
Error format = list.get(0);
- JsonLocation formatInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getInstanceNode());
- JsonLocation formatSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getSchemaNode());
+ TokenStreamLocation formatInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getInstanceNode());
+ TokenStreamLocation formatSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getSchemaNode());
Error minLength = list.get(1);
- JsonLocation minLengthInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getInstanceNode());
- JsonLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getSchemaNode());
+ TokenStreamLocation minLengthInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getInstanceNode());
+ TokenStreamLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getSchemaNode());
assertEquals("format", format.getKeyword());
- assertEquals("date", format.getSchemaNode().asText());
+ assertEquals("date", format.getSchemaNode().asString());
assertEquals(5, formatSchemaNodeTokenLocation.getLineNr());
assertEquals(17, formatSchemaNodeTokenLocation.getColumnNr());
- assertEquals("1", format.getInstanceNode().asText());
+ assertEquals("1", format.getInstanceNode().asString());
assertEquals(2, formatInstanceNodeTokenLocation.getLineNr());
assertEquals(16, formatInstanceNodeTokenLocation.getColumnNr());
assertEquals("minLength", minLength.getKeyword());
- assertEquals("6", minLength.getSchemaNode().asText());
+ assertEquals("6", minLength.getSchemaNode().asString());
assertEquals(6, minLengthSchemaNodeTokenLocation.getLineNr());
assertEquals(20, minLengthSchemaNodeTokenLocation.getColumnNr());
- assertEquals("1", minLength.getInstanceNode().asText());
+ assertEquals("1", minLength.getInstanceNode().asString());
assertEquals(2, minLengthInstanceNodeTokenLocation.getLineNr());
assertEquals(16, minLengthInstanceNodeTokenLocation.getColumnNr());
}
@@ -139,29 +138,29 @@ void yamlLocation() {
});
List list = messages.stream().collect(Collectors.toList());
Error format = list.get(0);
- JsonLocation formatInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getInstanceNode());
- JsonLocation formatSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getSchemaNode());
+ TokenStreamLocation formatInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getInstanceNode());
+ TokenStreamLocation formatSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(format.getSchemaNode());
Error minLength = list.get(1);
- JsonLocation minLengthInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getInstanceNode());
- JsonLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getSchemaNode());
+ TokenStreamLocation minLengthInstanceNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getInstanceNode());
+ TokenStreamLocation minLengthSchemaNodeTokenLocation = JsonNodes.tokenStreamLocationOf(minLength.getSchemaNode());
assertEquals("format", format.getKeyword());
- assertEquals("date", format.getSchemaNode().asText());
+ assertEquals("date", format.getSchemaNode().asString());
assertEquals(5, formatSchemaNodeTokenLocation.getLineNr());
assertEquals(13, formatSchemaNodeTokenLocation.getColumnNr());
- assertEquals("1", format.getInstanceNode().asText());
+ assertEquals("1", format.getInstanceNode().asString());
assertEquals(2, formatInstanceNodeTokenLocation.getLineNr());
assertEquals(12, formatInstanceNodeTokenLocation.getColumnNr());
assertEquals("minLength", minLength.getKeyword());
- assertEquals("6", minLength.getSchemaNode().asText());
+ assertEquals("6", minLength.getSchemaNode().asString());
assertEquals(6, minLengthSchemaNodeTokenLocation.getLineNr());
assertEquals(16, minLengthSchemaNodeTokenLocation.getColumnNr());
- assertEquals("1", minLength.getInstanceNode().asText());
+ assertEquals("1", minLength.getInstanceNode().asString());
assertEquals(2, minLengthInstanceNodeTokenLocation.getLineNr());
assertEquals(12, minLengthInstanceNodeTokenLocation.getColumnNr());
}
@@ -187,8 +186,8 @@ void types() {
+ " }\r\n"
+ "}";
ObjectMapper objectMapper = JsonMapperFactory.getInstance()
- .copy()
- .enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);
+ .rebuild()
+ .enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS).build();
JsonNode root = JsonNodes.readTree(objectMapper, json, LocationJsonNodeFactoryFactory.getInstance());
JsonNode numberNode = root.at("/properties/number");
assertEquals(3, JsonNodes.tokenStreamLocationOf(numberNode).getLineNr());
diff --git a/src/test/java/com/networknt/schema/walk/WalkListenerTest.java b/src/test/java/com/networknt/schema/walk/WalkListenerTest.java
index efc693ccd..6d877dc0d 100644
--- a/src/test/java/com/networknt/schema/walk/WalkListenerTest.java
+++ b/src/test/java/com/networknt/schema/walk/WalkListenerTest.java
@@ -29,10 +29,6 @@
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
import com.networknt.schema.InputFormat;
import com.networknt.schema.Schema;
import com.networknt.schema.SchemaRegistry;
@@ -47,6 +43,11 @@
import com.networknt.schema.serialization.JsonMapperFactory;
import com.networknt.schema.utils.JsonNodes;
import com.networknt.schema.utils.SchemaRefs;
+
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.databind.node.ObjectNode;
+
import com.networknt.schema.Error;
import com.networknt.schema.Result;
@@ -122,14 +123,14 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
assertEquals("/properties",
propertyKeywords.get(0).getEvaluationPath().append(propertyKeywords.get(0).getKeyword()).toString());
assertEquals("/tags/0", propertyKeywords.get(1).getInstanceLocation().toString());
- assertEquals("image", propertyKeywords.get(1).getInstanceNode().get("name").asText());
+ assertEquals("image", propertyKeywords.get(1).getInstanceNode().get("name").asString());
assertEquals("/properties/tags/items/$ref", propertyKeywords.get(1).getEvaluationPath().toString());
assertEquals("/properties/tags/items/$ref/properties",
propertyKeywords.get(1).getEvaluationPath().append(propertyKeywords.get(1).getKeyword()).toString());
assertEquals("/tags/1", propertyKeywords.get(2).getInstanceLocation().toString());
assertEquals("/properties/tags/items/$ref/properties",
propertyKeywords.get(2).getEvaluationPath().append(propertyKeywords.get(2).getKeyword()).toString());
- assertEquals("link", propertyKeywords.get(2).getInstanceNode().get("name").asText());
+ assertEquals("link", propertyKeywords.get(2).getInstanceNode().get("name").asString());
}
@Test
@@ -204,19 +205,19 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
assertEquals("/properties/tags", properties.get(0).getEvaluationPath().toString());
assertEquals("/tags/0/name", properties.get(1).getInstanceLocation().toString());
- assertEquals("image", properties.get(1).getInstanceNode().asText());
+ assertEquals("image", properties.get(1).getInstanceNode().asString());
assertEquals("/properties/tags/items/$ref/properties/name", properties.get(1).getEvaluationPath().toString());
assertEquals("/tags/0/description", properties.get(2).getInstanceLocation().toString());
- assertEquals("An image", properties.get(2).getInstanceNode().asText());
+ assertEquals("An image", properties.get(2).getInstanceNode().asString());
assertEquals("/properties/tags/items/$ref/properties/description", properties.get(2).getEvaluationPath().toString());
assertEquals("/tags/1/name", properties.get(3).getInstanceLocation().toString());
- assertEquals("link", properties.get(3).getInstanceNode().asText());
+ assertEquals("link", properties.get(3).getInstanceNode().asString());
assertEquals("/properties/tags/items/$ref/properties/name", properties.get(3).getEvaluationPath().toString());
assertEquals("/tags/1/description", properties.get(4).getInstanceLocation().toString());
- assertEquals("A link", properties.get(4).getInstanceNode().asText());
+ assertEquals("A link", properties.get(4).getInstanceNode().asString());
assertEquals("/properties/tags/items/$ref/properties/description", properties.get(4).getEvaluationPath().toString());
}
@@ -528,7 +529,7 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
}
@Test
- void applyDefaults() throws JsonProcessingException {
+ void applyDefaults() {
String schemaData = "{\r\n"
+ " \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\r\n"
+ " \"title\": \"\",\r\n"
@@ -562,7 +563,7 @@ void applyDefaults() throws JsonProcessingException {
}
@Test
- void applyDefaultsWithWalker() throws JsonProcessingException {
+ void applyDefaultsWithWalker() {
String schemaData = "{\r\n"
+ " \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\r\n"
+ " \"title\": \"\",\r\n"
@@ -622,7 +623,7 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
}
@Test
- void applyInvalidDefaultsWithWalker() throws JsonProcessingException {
+ void applyInvalidDefaultsWithWalker() {
String schemaData = "{\r\n"
+ " \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\r\n"
+ " \"title\": \"\",\r\n"
@@ -687,7 +688,7 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
}
@Test
- void missingRequired() throws JsonProcessingException {
+ void missingRequired() {
String schemaData = "{\r\n"
+ " \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\r\n"
+ " \"title\": \"\",\r\n"
@@ -716,7 +717,7 @@ public WalkFlow onWalkStart(WalkEvent walkEvent) {
if (requiredNode != null) {
if (requiredNode.isArray()) {
for (JsonNode fieldName : requiredNode) {
- requiredProperties.add(fieldName.asText());
+ requiredProperties.add(fieldName.asString());
}
}
}
@@ -754,7 +755,7 @@ public void onWalkEnd(WalkEvent walkEvent, List errors) {
}
@Test
- void generateDataWithWalker() throws JsonProcessingException {
+ void generateDataWithWalker() {
Map> generators = new HashMap<>();
generators.put("name.findName", () -> "John Doe");
generators.put("internet.email", () -> "john.doe@gmail.com");
@@ -798,9 +799,9 @@ public WalkFlow onWalkStart(WalkEvent walkEvent) {
} while (schemaRef != null);
JsonNode fakerNode = schema.getSchemaNode().get("faker");
if (fakerNode != null) {
- String faker = fakerNode.asText();
+ String faker = fakerNode.asString();
String fakeData = generators.get(faker).get();
- JsonNode fakeDataNode = JsonNodeFactory.instance.textNode(fakeData);
+ JsonNode fakeDataNode = JsonNodeFactory.instance.stringNode(fakeData);
ObjectNode parentNode = JsonNodes.get(walkEvent.getRootNode(),
walkEvent.getInstanceLocation().getParent());
parentNode.set(walkEvent.getInstanceLocation().getName(-1), fakeDataNode);
diff --git a/src/test/resources/draft7/issue386.json b/src/test/resources/draft7/issue386.json
index c1281adb1..8444d3d11 100644
--- a/src/test/resources/draft7/issue386.json
+++ b/src/test/resources/draft7/issue386.json
@@ -77,6 +77,7 @@
},
"tests": [
{
+ "description": "1",
"data": {
"street_address": "1600 Pennsylvania Avenue NW",
"country": "United States of America",
@@ -85,6 +86,7 @@
"valid": true
},
{
+ "description": "2",
"data": {
"street_address": "1600 Pennsylvania Avenue NW",
"postal_code": "20500"
@@ -92,6 +94,7 @@
"valid": true
},
{
+ "description": "3",
"data": {
"street_address": "24 Sussex Drive",
"country": "Canada",
@@ -100,6 +103,7 @@
"valid": true
},
{
+ "description": "4",
"data": {
"street_address": "Adriaan Goekooplaan",
"country": "Netherlands",
@@ -108,6 +112,7 @@
"valid": true
},
{
+ "description": "5",
"data": {
"street_address": "24 Sussex Drive",
"country": "Canada",