From df5f8ae73a37518a2aa908587885ae96a94b561b Mon Sep 17 00:00:00 2001 From: Albert Franzi Date: Wed, 9 Jan 2019 14:55:59 +0100 Subject: [PATCH 1/3] Validation Path - Add path traceability for the field validated --- core/pom.xml | 2 +- .../org/everit/json/schema/ArraySchema.java | 4 +- .../schema/ArraySchemaValidatingVisitor.java | 34 ++++---- .../org/everit/json/schema/BooleanSchema.java | 5 +- .../everit/json/schema/CombinedSchema.java | 6 +- .../everit/json/schema/ConditionalSchema.java | 6 +- .../ConditionalSchemaValidatingVisitor.java | 18 ++-- .../org/everit/json/schema/ConstSchema.java | 7 ++ .../org/everit/json/schema/EmptySchema.java | 8 ++ .../org/everit/json/schema/EnumSchema.java | 6 ++ .../org/everit/json/schema/FalseSchema.java | 5 +- .../org/everit/json/schema/NotSchema.java | 9 +- .../org/everit/json/schema/NullSchema.java | 7 ++ .../org/everit/json/schema/NumberSchema.java | 4 +- .../org/everit/json/schema/ObjectSchema.java | 4 +- .../schema/ObjectSchemaValidatingVisitor.java | 28 ++++--- .../everit/json/schema/ReferenceSchema.java | 6 +- .../java/org/everit/json/schema/Schema.java | 10 ++- .../org/everit/json/schema/StringSchema.java | 6 ++ .../everit/json/schema/ValidatingVisitor.java | 46 +++++----- .../org/everit/json/schema/Validator.java | 10 ++- .../java/org/everit/json/schema/Visitor.java | 84 +++++++++++-------- .../event/CombinedSchemaMatchEvent.java | 8 +- .../event/CombinedSchemaMismatchEvent.java | 7 ++ .../event/CombinedSchemaValidationEvent.java | 7 ++ .../schema/event/SchemaReferencedEvent.java | 8 ++ .../json/schema/event/ValidationEvent.java | 12 +++ .../json/schema/ValidatingVisitorTest.java | 12 ++- .../event/CombinedSchemaMatchEventTest.java | 1 + .../CombinedSchemaMismatchEventTest.java | 1 + .../ConditionalSchemaMatchEventTest.java | 1 + .../ConditionalSchemaMismatchEventTest.java | 1 + .../json/schema/event/EventToStringTest.java | 10 ++- .../event/SchemaReferencedEventTest.java | 1 + pom.xml | 2 +- tests/android/pom.xml | 2 +- tests/pom.xml | 2 +- tests/vanilla/pom.xml | 2 +- 38 files changed, 264 insertions(+), 128 deletions(-) diff --git a/core/pom.xml b/core/pom.xml index 78239db8d..2db5966bf 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -21,7 +21,7 @@ 4.0.0 org.everit.json org.everit.json.schema - 0.0.0-develop + 2.0.0 bundle UTF-8 diff --git a/core/src/main/java/org/everit/json/schema/ArraySchema.java b/core/src/main/java/org/everit/json/schema/ArraySchema.java index 6c808091b..f29fd024f 100644 --- a/core/src/main/java/org/everit/json/schema/ArraySchema.java +++ b/core/src/main/java/org/everit/json/schema/ArraySchema.java @@ -236,8 +236,8 @@ void describePropertiesTo(final JSONPrinter writer) { } } - @Override void accept(Visitor visitor) { - visitor.visitArraySchema(this); + @Override void accept(Visitor visitor, List path) { + visitor.visitArraySchema(this, path); } @Override diff --git a/core/src/main/java/org/everit/json/schema/ArraySchemaValidatingVisitor.java b/core/src/main/java/org/everit/json/schema/ArraySchemaValidatingVisitor.java index bf92e06cc..60e5b24af 100644 --- a/core/src/main/java/org/everit/json/schema/ArraySchemaValidatingVisitor.java +++ b/core/src/main/java/org/everit/json/schema/ArraySchemaValidatingVisitor.java @@ -9,7 +9,9 @@ import java.util.Optional; import java.util.function.IntFunction; import java.util.stream.IntStream; +import java.util.stream.Stream; +import java.util.List; import org.json.JSONArray; class ArraySchemaValidatingVisitor extends Visitor { @@ -29,12 +31,12 @@ public ArraySchemaValidatingVisitor(Object subject, ValidatingVisitor owner) { this.owner = requireNonNull(owner, "owner cannot be null"); } - @Override void visitArraySchema(ArraySchema arraySchema) { + @Override void visitArraySchema(ArraySchema arraySchema, List path) { if (owner.passesTypeCheck(JSONArray.class, arraySchema.requiresArray(), arraySchema.isNullable())) { this.arraySubject = (JSONArray) subject; this.subjectLength = arraySubject.length(); this.arraySchema = arraySchema; - super.visitArraySchema(arraySchema); + super.visitArraySchema(arraySchema, path); } } @@ -67,19 +69,19 @@ public ArraySchemaValidatingVisitor(Object subject, ValidatingVisitor owner) { } } - @Override void visitAllItemSchema(Schema allItemSchema) { + @Override void visitAllItemSchema(Schema allItemSchema, List path) { if (allItemSchema != null) { - validateItemsAgainstSchema(IntStream.range(0, subjectLength), allItemSchema); + validateItemsAgainstSchema(IntStream.range(0, subjectLength), allItemSchema, path); } } - @Override void visitItemSchema(int index, Schema itemSchema) { + @Override void visitItemSchema(int index, Schema itemSchema, List path) { if (index >= subjectLength) { return; } Object subject = arraySubject.get(index); String idx = String.valueOf(index); - ifFails(itemSchema, subject) + ifFails(itemSchema, subject, path) .map(exc -> exc.prepend(idx)) .ifPresent(owner::failure); } @@ -92,37 +94,37 @@ public ArraySchemaValidatingVisitor(Object subject, ValidatingVisitor owner) { } } - @Override void visitSchemaOfAdditionalItems(Schema schemaOfAdditionalItems) { + @Override void visitSchemaOfAdditionalItems(Schema schemaOfAdditionalItems, List path) { if (schemaOfAdditionalItems == null) { return; } int validationFrom = Math.min(subjectLength, arraySchema.getItemSchemas().size()); - validateItemsAgainstSchema(IntStream.range(validationFrom, subjectLength), schemaOfAdditionalItems); + validateItemsAgainstSchema(IntStream.range(validationFrom, subjectLength), schemaOfAdditionalItems, path); } - private void validateItemsAgainstSchema(IntStream indices, Schema schema) { - validateItemsAgainstSchema(indices, i -> schema); + private void validateItemsAgainstSchema(IntStream indices, Schema schema, List path) { + validateItemsAgainstSchema(indices, i -> schema, path); } - private void validateItemsAgainstSchema(IntStream indices, IntFunction schemaForIndex) { + private void validateItemsAgainstSchema(IntStream indices, IntFunction schemaForIndex, List path) { for (int i : indices.toArray()) { String copyOfI = String.valueOf(i); // i is not effectively final so we copy it - ifFails(schemaForIndex.apply(i), arraySubject.get(i)) + ifFails(schemaForIndex.apply(i), arraySubject.get(i), appendPath(path, i)) .map(exc -> exc.prepend(copyOfI)) .ifPresent(owner::failure); } } - private Optional ifFails(Schema schema, Object input) { - return Optional.ofNullable(owner.getFailureOfSchema(schema, input)); + private Optional ifFails(Schema schema, Object input, List path) { + return Optional.ofNullable(owner.getFailureOfSchema(schema, input, path)); } - @Override void visitContainedItemSchema(Schema containedItemSchema) { + @Override void visitContainedItemSchema(Schema containedItemSchema, List path) { if (containedItemSchema == null) { return; } for (int i = 0; i < arraySubject.length(); i++) { - Optional exception = ifFails(containedItemSchema, arraySubject.get(i)); + Optional exception = ifFails(containedItemSchema, arraySubject.get(i), appendPath(path, i)); if (!exception.isPresent()) { return; } diff --git a/core/src/main/java/org/everit/json/schema/BooleanSchema.java b/core/src/main/java/org/everit/json/schema/BooleanSchema.java index 67ed7c10f..b39ae4608 100644 --- a/core/src/main/java/org/everit/json/schema/BooleanSchema.java +++ b/core/src/main/java/org/everit/json/schema/BooleanSchema.java @@ -1,7 +1,10 @@ package org.everit.json.schema; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; +import java.util.stream.Stream; + /** * Boolean schema validator. */ @@ -48,7 +51,7 @@ public boolean equals(final Object o) { } } - @Override void accept(Visitor visitor) { + @Override void accept(Visitor visitor, List path) { visitor.visitBooleanSchema(this); } diff --git a/core/src/main/java/org/everit/json/schema/CombinedSchema.java b/core/src/main/java/org/everit/json/schema/CombinedSchema.java index b1c41c8b8..5af6f843d 100644 --- a/core/src/main/java/org/everit/json/schema/CombinedSchema.java +++ b/core/src/main/java/org/everit/json/schema/CombinedSchema.java @@ -7,7 +7,9 @@ import java.util.Collection; import java.util.List; import java.util.Objects; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; /** @@ -180,8 +182,8 @@ public Collection getSubschemas() { return subschemas; } - @Override void accept(Visitor visitor) { - visitor.visitCombinedSchema(this); + @Override void accept(Visitor visitor, List path) { + visitor.visitCombinedSchema(this, path); } @Override diff --git a/core/src/main/java/org/everit/json/schema/ConditionalSchema.java b/core/src/main/java/org/everit/json/schema/ConditionalSchema.java index 8e472853a..ea82a00fd 100644 --- a/core/src/main/java/org/everit/json/schema/ConditionalSchema.java +++ b/core/src/main/java/org/everit/json/schema/ConditionalSchema.java @@ -1,7 +1,9 @@ package org.everit.json.schema; import java.util.Optional; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; /** @@ -66,8 +68,8 @@ public Optional getElseSchema() { } @Override - void accept(Visitor visitor) { - visitor.visitConditionalSchema(this); + void accept(Visitor visitor, List path) { + visitor.visitConditionalSchema(this, path); } @Override void describePropertiesTo(JSONPrinter writer) { diff --git a/core/src/main/java/org/everit/json/schema/ConditionalSchemaValidatingVisitor.java b/core/src/main/java/org/everit/json/schema/ConditionalSchemaValidatingVisitor.java index ff947e494..36a90dbae 100644 --- a/core/src/main/java/org/everit/json/schema/ConditionalSchemaValidatingVisitor.java +++ b/core/src/main/java/org/everit/json/schema/ConditionalSchemaValidatingVisitor.java @@ -10,6 +10,8 @@ import org.everit.json.schema.event.ConditionalSchemaMismatchEvent; import org.everit.json.schema.event.ConditionalSchemaValidationEvent; +import java.util.List; + class ConditionalSchemaValidatingVisitor extends Visitor { private final Object subject; @@ -26,19 +28,19 @@ class ConditionalSchemaValidatingVisitor extends Visitor { } @Override - void visitConditionalSchema(ConditionalSchema conditionalSchema) { + void visitConditionalSchema(ConditionalSchema conditionalSchema, List path) { this.conditionalSchema = conditionalSchema; if (!conditionalSchema.getIfSchema().isPresent() || (!conditionalSchema.getThenSchema().isPresent() && !conditionalSchema.getElseSchema().isPresent())) { return; } - super.visitConditionalSchema(conditionalSchema); + super.visitConditionalSchema(conditionalSchema, path); } @Override - void visitIfSchema(Schema ifSchema) { + void visitIfSchema(Schema ifSchema, List path) { if (conditionalSchema.getIfSchema().isPresent()) { - ifSchemaException = owner.getFailureOfSchema(ifSchema, subject); + ifSchemaException = owner.getFailureOfSchema(ifSchema, subject, path); if (ifSchemaException == null) { owner.validationListener.ifSchemaMatch(createMatchEvent(IF)); } else { @@ -48,9 +50,9 @@ void visitIfSchema(Schema ifSchema) { } @Override - void visitThenSchema(Schema thenSchema) { + void visitThenSchema(Schema thenSchema, List path) { if (ifSchemaException == null) { - ValidationException thenSchemaException = owner.getFailureOfSchema(thenSchema, subject); + ValidationException thenSchemaException = owner.getFailureOfSchema(thenSchema, subject, path); if (thenSchemaException != null) { ValidationException failure = new ValidationException(conditionalSchema, new StringBuilder(new StringBuilder("#")), @@ -68,9 +70,9 @@ void visitThenSchema(Schema thenSchema) { } @Override - void visitElseSchema(Schema elseSchema) { + void visitElseSchema(Schema elseSchema, List path) { if (ifSchemaException != null) { - ValidationException elseSchemaException = owner.getFailureOfSchema(elseSchema, subject); + ValidationException elseSchemaException = owner.getFailureOfSchema(elseSchema, subject, path); if (elseSchemaException != null) { ValidationException failure = new ValidationException(conditionalSchema, new StringBuilder(new StringBuilder("#")), diff --git a/core/src/main/java/org/everit/json/schema/ConstSchema.java b/core/src/main/java/org/everit/json/schema/ConstSchema.java index 8fb87f9e2..b4c52749a 100644 --- a/core/src/main/java/org/everit/json/schema/ConstSchema.java +++ b/core/src/main/java/org/everit/json/schema/ConstSchema.java @@ -2,8 +2,11 @@ import static org.everit.json.schema.EnumSchema.toJavaValue; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; +import java.util.stream.Stream; + public class ConstSchema extends Schema { public static class ConstSchemaBuilder extends Schema.Builder { @@ -40,6 +43,10 @@ protected ConstSchema(ConstSchemaBuilder builder) { visitor.visitConstSchema(this); } + @Override void accept(Visitor visitor, List path) { + visitor.visitConstSchema(this); + } + public Object getPermittedValue() { return permittedValue; } diff --git a/core/src/main/java/org/everit/json/schema/EmptySchema.java b/core/src/main/java/org/everit/json/schema/EmptySchema.java index 8bc8e06ce..27d330b3c 100644 --- a/core/src/main/java/org/everit/json/schema/EmptySchema.java +++ b/core/src/main/java/org/everit/json/schema/EmptySchema.java @@ -1,5 +1,9 @@ package org.everit.json.schema; +import java.util.List; + +import java.util.stream.Stream; + /** * A schema not specifying any restrictions, ie. accepting any values. */ @@ -31,6 +35,10 @@ public EmptySchema(Builder builder) { visitor.visitEmptySchema(); } + @Override void accept(Visitor visitor, List path) { + visitor.visitEmptySchema(); + } + @Override public boolean equals(Object o) { if (this == o) diff --git a/core/src/main/java/org/everit/json/schema/EnumSchema.java b/core/src/main/java/org/everit/json/schema/EnumSchema.java index 7c6392a46..a055c0854 100644 --- a/core/src/main/java/org/everit/json/schema/EnumSchema.java +++ b/core/src/main/java/org/everit/json/schema/EnumSchema.java @@ -9,7 +9,9 @@ import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; import org.everit.json.schema.loader.OrgJsonUtil; import org.json.JSONArray; @@ -115,6 +117,10 @@ public int hashCode() { visitor.visitEnumSchema(this); } + @Override public void accept(Visitor visitor, List path) { + visitor.visitEnumSchema(this); + } + @Override protected boolean canEqual(Object other) { return other instanceof EnumSchema; diff --git a/core/src/main/java/org/everit/json/schema/FalseSchema.java b/core/src/main/java/org/everit/json/schema/FalseSchema.java index 111132828..68d1cd87a 100644 --- a/core/src/main/java/org/everit/json/schema/FalseSchema.java +++ b/core/src/main/java/org/everit/json/schema/FalseSchema.java @@ -1,7 +1,10 @@ package org.everit.json.schema; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; +import java.util.stream.Stream; + /** * @author erosb */ @@ -31,7 +34,7 @@ public FalseSchema(Builder builder) { } @Override - void accept(Visitor visitor) { + void accept(Visitor visitor, List path) { visitor.visitFalseSchema(this); } diff --git a/core/src/main/java/org/everit/json/schema/NotSchema.java b/core/src/main/java/org/everit/json/schema/NotSchema.java index 0cd4e7c2a..cb8163cb1 100644 --- a/core/src/main/java/org/everit/json/schema/NotSchema.java +++ b/core/src/main/java/org/everit/json/schema/NotSchema.java @@ -2,8 +2,11 @@ import static java.util.Objects.requireNonNull; +import java.util.ArrayList; import java.util.Objects; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; /** @@ -46,7 +49,11 @@ public Schema getMustNotMatch() { } @Override void accept(Visitor visitor) { - visitor.visitNotSchema(this); + visitor.visitNotSchema(this, new ArrayList<>()); + } + + @Override void accept(Visitor visitor, List path) { + visitor.visitNotSchema(this, path); } @Override diff --git a/core/src/main/java/org/everit/json/schema/NullSchema.java b/core/src/main/java/org/everit/json/schema/NullSchema.java index fadea5854..3a3eeb3e8 100644 --- a/core/src/main/java/org/everit/json/schema/NullSchema.java +++ b/core/src/main/java/org/everit/json/schema/NullSchema.java @@ -1,7 +1,10 @@ package org.everit.json.schema; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; +import java.util.stream.Stream; + /** * {@code Null} schema validator. */ @@ -54,6 +57,10 @@ protected boolean canEqual(Object other) { visitor.visitNullSchema(this); } + @Override void accept(Visitor visitor, List path) { + visitor.visitNullSchema(this); + } + @Override void describePropertiesTo(JSONPrinter writer) { writer.key("type"); diff --git a/core/src/main/java/org/everit/json/schema/NumberSchema.java b/core/src/main/java/org/everit/json/schema/NumberSchema.java index 593526b13..fe59b1433 100644 --- a/core/src/main/java/org/everit/json/schema/NumberSchema.java +++ b/core/src/main/java/org/everit/json/schema/NumberSchema.java @@ -1,7 +1,9 @@ package org.everit.json.schema; import java.util.Objects; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; import org.json.JSONException; @@ -165,7 +167,7 @@ public Number getExclusiveMaximumLimit() { return exclusiveMaximumLimit; } - @Override void accept(Visitor visitor) { + @Override void accept(Visitor visitor, List path) { visitor.visitNumberSchema(this); } diff --git a/core/src/main/java/org/everit/json/schema/ObjectSchema.java b/core/src/main/java/org/everit/json/schema/ObjectSchema.java index ecd11b101..1873c649d 100644 --- a/core/src/main/java/org/everit/json/schema/ObjectSchema.java +++ b/core/src/main/java/org/everit/json/schema/ObjectSchema.java @@ -263,8 +263,8 @@ public Schema getPropertyNameSchema() { return propertyNameSchema; } - @Override void accept(Visitor visitor) { - visitor.visitObjectSchema(this); + @Override void accept(Visitor visitor, List path) { + visitor.visitObjectSchema(this, path); } public boolean permitsAdditionalProperties() { diff --git a/core/src/main/java/org/everit/json/schema/ObjectSchemaValidatingVisitor.java b/core/src/main/java/org/everit/json/schema/ObjectSchemaValidatingVisitor.java index e72409335..08207545b 100644 --- a/core/src/main/java/org/everit/json/schema/ObjectSchemaValidatingVisitor.java +++ b/core/src/main/java/org/everit/json/schema/ObjectSchemaValidatingVisitor.java @@ -7,7 +7,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.regexp.Regexp; import org.json.JSONObject; @@ -28,12 +30,12 @@ public ObjectSchemaValidatingVisitor(Object subject, ValidatingVisitor owner) { this.owner = requireNonNull(owner, "owner cannot be null"); } - @Override void visitObjectSchema(ObjectSchema objectSchema) { + @Override void visitObjectSchema(ObjectSchema objectSchema, List path) { if (owner.passesTypeCheck(JSONObject.class, objectSchema.requiresObject(), objectSchema.isNullable())) { objSubject = (JSONObject) subject; objectSize = objSubject.length(); this.schema = objectSchema; - super.visitObjectSchema(objectSchema); + super.visitObjectSchema(objectSchema, path); } } @@ -43,14 +45,14 @@ public ObjectSchemaValidatingVisitor(Object subject, ValidatingVisitor owner) { } } - @Override void visitPropertyNameSchema(Schema propertyNameSchema) { + @Override void visitPropertyNameSchema(Schema propertyNameSchema, List path) { if (propertyNameSchema != null) { String[] names = getNames(objSubject); if (names == null || names.length == 0) { return; } for (String name : names) { - ValidationException failure = owner.getFailureOfSchema(propertyNameSchema, name); + ValidationException failure = owner.getFailureOfSchema(propertyNameSchema, name, path); if (failure != null) { owner.failure(failure.prepend(name)); } @@ -70,7 +72,7 @@ public ObjectSchemaValidatingVisitor(Object subject, ValidatingVisitor owner) { } } - @Override void visitPropertyDependencies(String ifPresent, Set allMustBePresent) { + @Override void visitPropertyDependencies(String ifPresent, Set allMustBePresent, List path) { if (objSubject.has(ifPresent)) { for (String mustBePresent : allMustBePresent) { if (!objSubject.has(mustBePresent)) { @@ -92,12 +94,12 @@ public ObjectSchemaValidatingVisitor(Object subject, ValidatingVisitor owner) { } } - @Override void visitSchemaOfAdditionalProperties(Schema schemaOfAdditionalProperties) { + @Override void visitSchemaOfAdditionalProperties(Schema schemaOfAdditionalProperties, List path) { if (schemaOfAdditionalProperties != null) { List additionalPropNames = getAdditionalProperties(); for (String propName : additionalPropNames) { Object propVal = objSubject.get(propName); - ValidationException failure = owner.getFailureOfSchema(schemaOfAdditionalProperties, propVal); + ValidationException failure = owner.getFailureOfSchema(schemaOfAdditionalProperties, propVal, appendPath(path, propName)); if (failure != null) { owner.failure(failure.prepend(propName, schema)); } @@ -129,14 +131,14 @@ private boolean matchesAnyPattern(String key) { return false; } - @Override void visitPatternPropertySchema(Regexp propertyNamePattern, Schema schema) { + @Override void visitPatternPropertySchema(Regexp propertyNamePattern, Schema schema, List path) { String[] propNames = getNames(objSubject); if (propNames == null || propNames.length == 0) { return; } for (String propName : propNames) { if (!propertyNamePattern.patternMatchingFailure(propName).isPresent()) { - ValidationException failure = owner.getFailureOfSchema(schema, objSubject.get(propName)); + ValidationException failure = owner.getFailureOfSchema(schema, objSubject.get(propName), path); if (failure != null) { owner.failure(failure.prepend(propName)); } @@ -144,18 +146,18 @@ private boolean matchesAnyPattern(String key) { } } - @Override void visitSchemaDependency(String propName, Schema schema) { + @Override void visitSchemaDependency(String propName, Schema schema, List path) { if (objSubject.has(propName)) { - ValidationException failure = owner.getFailureOfSchema(schema, objSubject); + ValidationException failure = owner.getFailureOfSchema(schema, objSubject, path); if (failure != null) { owner.failure(failure); } } } - @Override void visitPropertySchema(String properyName, Schema schema) { + @Override void visitPropertySchema(String properyName, Schema schema, List path) { if (objSubject.has(properyName)) { - ValidationException failure = owner.getFailureOfSchema(schema, objSubject.get(properyName)); + ValidationException failure = owner.getFailureOfSchema(schema, objSubject.get(properyName), path); if (failure != null) { owner.failure(failure.prepend(properyName)); } diff --git a/core/src/main/java/org/everit/json/schema/ReferenceSchema.java b/core/src/main/java/org/everit/json/schema/ReferenceSchema.java index dd2a52e05..aee022304 100644 --- a/core/src/main/java/org/everit/json/schema/ReferenceSchema.java +++ b/core/src/main/java/org/everit/json/schema/ReferenceSchema.java @@ -3,7 +3,9 @@ import static java.util.Objects.requireNonNull; import java.util.Objects; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; /** @@ -107,8 +109,8 @@ protected boolean canEqual(Object other) { return other instanceof ReferenceSchema; } - @Override void accept(Visitor visitor) { - visitor.visitReferenceSchema(this); + @Override void accept(Visitor visitor, List path) { + visitor.visitReferenceSchema(this, path); } @Override void describePropertiesTo(JSONPrinter writer) { diff --git a/core/src/main/java/org/everit/json/schema/Schema.java b/core/src/main/java/org/everit/json/schema/Schema.java index f60210afc..307de5777 100644 --- a/core/src/main/java/org/everit/json/schema/Schema.java +++ b/core/src/main/java/org/everit/json/schema/Schema.java @@ -3,9 +3,7 @@ import static java.util.Collections.unmodifiableMap; import java.io.StringWriter; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; +import java.util.*; import org.everit.json.schema.internal.JSONPrinter; import org.json.JSONWriter; @@ -313,7 +311,11 @@ void describePropertiesTo(JSONPrinter writer) { } - abstract void accept(Visitor visitor); + void accept(Visitor visitor) { + accept(visitor, new ArrayList<>()); + } + + abstract void accept(Visitor visitor, List path); @Override public String toString() { diff --git a/core/src/main/java/org/everit/json/schema/StringSchema.java b/core/src/main/java/org/everit/json/schema/StringSchema.java index 68ea7099d..70c6862e9 100644 --- a/core/src/main/java/org/everit/json/schema/StringSchema.java +++ b/core/src/main/java/org/everit/json/schema/StringSchema.java @@ -4,7 +4,9 @@ import static org.everit.json.schema.FormatValidator.NONE; import java.util.Objects; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.internal.JSONPrinter; import org.everit.json.schema.regexp.JavaUtilRegexpFactory; import org.everit.json.schema.regexp.Regexp; @@ -131,6 +133,10 @@ public java.util.regex.Pattern getPattern() { visitor.visitStringSchema(this); } + @Override void accept(Visitor visitor, List path) { + visitor.visitStringSchema(this); + } + @Override public boolean equals(Object o) { if (this == o) diff --git a/core/src/main/java/org/everit/json/schema/ValidatingVisitor.java b/core/src/main/java/org/everit/json/schema/ValidatingVisitor.java index 5b7b419df..cbfdf2b61 100644 --- a/core/src/main/java/org/everit/json/schema/ValidatingVisitor.java +++ b/core/src/main/java/org/everit/json/schema/ValidatingVisitor.java @@ -9,7 +9,9 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.event.CombinedSchemaMatchEvent; import org.everit.json.schema.event.CombinedSchemaMismatchEvent; import org.everit.json.schema.event.SchemaReferencedEvent; @@ -44,12 +46,12 @@ private static boolean isNull(Object obj) { private final ReadWriteValidator readWriteValidator; @Override - void visit(Schema schema) { + void visit(Schema schema, List path) { if (schema.isNullable() == Boolean.FALSE && isNull(subject)) { failureReporter.failure("value cannot be null", "nullable"); } readWriteValidator.validate(schema, subject); - super.visit(schema); + super.visit(schema, path); } ValidatingVisitor(Object subject, ValidationFailureReporter failureReporter, ReadWriteValidator readWriteValidator, @@ -69,8 +71,8 @@ void visitNumberSchema(NumberSchema numberSchema) { } @Override - void visitArraySchema(ArraySchema arraySchema) { - arraySchema.accept(new ArraySchemaValidatingVisitor(subject, this)); + void visitArraySchema(ArraySchema arraySchema, List path) { + arraySchema.accept(new ArraySchemaValidatingVisitor(subject, this), path); } @Override @@ -115,32 +117,32 @@ void visitFalseSchema(FalseSchema falseSchema) { } @Override - void visitNotSchema(NotSchema notSchema) { + void visitNotSchema(NotSchema notSchema, List path) { Schema mustNotMatch = notSchema.getMustNotMatch(); - ValidationException failure = getFailureOfSchema(mustNotMatch, subject); + ValidationException failure = getFailureOfSchema(mustNotMatch, subject, path); if (failure == null) { failureReporter.failure("subject must not be valid against schema " + mustNotMatch, "not"); } } @Override - void visitReferenceSchema(ReferenceSchema referenceSchema) { + void visitReferenceSchema(ReferenceSchema referenceSchema, List path) { Schema referredSchema = referenceSchema.getReferredSchema(); if (referredSchema == null) { throw new IllegalStateException("referredSchema must be injected before validation"); } - ValidationException failure = getFailureOfSchema(referredSchema, subject); + ValidationException failure = getFailureOfSchema(referredSchema, subject, path); if (failure != null) { failureReporter.failure(failure); } - if (validationListener != null) { - validationListener.schemaReferenced(new SchemaReferencedEvent(referenceSchema, subject, referredSchema)); + else if (validationListener != null) { + validationListener.schemaReferenced(new SchemaReferencedEvent(referenceSchema, subject, referredSchema, path)); } } @Override - void visitObjectSchema(ObjectSchema objectSchema) { - objectSchema.accept(new ObjectSchemaValidatingVisitor(subject, this)); + void visitObjectSchema(ObjectSchema objectSchema, List path) { + objectSchema.accept(new ObjectSchemaValidatingVisitor(subject, this), path); } @Override @@ -149,16 +151,16 @@ void visitStringSchema(StringSchema stringSchema) { } @Override - void visitCombinedSchema(CombinedSchema combinedSchema) { + void visitCombinedSchema(CombinedSchema combinedSchema, List path) { Collection subschemas = combinedSchema.getSubschemas(); List failures = new ArrayList<>(subschemas.size()); CombinedSchema.ValidationCriterion criterion = combinedSchema.getCriterion(); for (Schema subschema : subschemas) { - ValidationException exception = getFailureOfSchema(subschema, subject); + ValidationException exception = getFailureOfSchema(subschema, subject, path); if (null != exception) { failures.add(exception); } - reportSchemaMatchEvent(combinedSchema, subschema, exception); + reportSchemaMatchEvent(combinedSchema, subschema, exception, path); } int matchingCount = subschemas.size() - failures.size(); try { @@ -174,22 +176,22 @@ void visitCombinedSchema(CombinedSchema combinedSchema) { } @Override - void visitConditionalSchema(ConditionalSchema conditionalSchema) { - conditionalSchema.accept(new ConditionalSchemaValidatingVisitor(subject, this)); + void visitConditionalSchema(ConditionalSchema conditionalSchema, List path) { + conditionalSchema.accept(new ConditionalSchemaValidatingVisitor(subject, this), path); } - private void reportSchemaMatchEvent(CombinedSchema schema, Schema subschema, ValidationException failure) { + private void reportSchemaMatchEvent(CombinedSchema schema, Schema subschema, ValidationException failure, List path) { if (failure == null) { - validationListener.combinedSchemaMatch(new CombinedSchemaMatchEvent(schema, subschema, subject)); + validationListener.combinedSchemaMatch(new CombinedSchemaMatchEvent(schema, subschema, subject, path)); } else { - validationListener.combinedSchemaMismatch(new CombinedSchemaMismatchEvent(schema, subschema, subject, failure)); + validationListener.combinedSchemaMismatch(new CombinedSchemaMismatchEvent(schema, subschema, subject, failure, path)); } } - ValidationException getFailureOfSchema(Schema schema, Object input) { + ValidationException getFailureOfSchema(Schema schema, Object input, List path) { Object origSubject = this.subject; this.subject = input; - ValidationException rval = failureReporter.inContextOfSchema(schema, () -> visit(schema)); + ValidationException rval = failureReporter.inContextOfSchema(schema, () -> visit(schema, path)); this.subject = origSubject; return rval; } diff --git a/core/src/main/java/org/everit/json/schema/Validator.java b/core/src/main/java/org/everit/json/schema/Validator.java index 5bcf8d852..be9020530 100644 --- a/core/src/main/java/org/everit/json/schema/Validator.java +++ b/core/src/main/java/org/everit/json/schema/Validator.java @@ -1,5 +1,8 @@ package org.everit.json.schema; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import java.util.function.BiFunction; import org.everit.json.schema.event.ValidationListener; @@ -40,6 +43,7 @@ static ValidatorBuilder builder() { } void performValidation(Schema schema, Object input); + } class DefaultValidator implements Validator { @@ -63,10 +67,14 @@ class DefaultValidator implements Validator { } @Override public void performValidation(Schema schema, Object input) { + performValidation(schema, input, Collections.singletonList("#")); + } + + public void performValidation(Schema schema, Object input, List path) { ValidationFailureReporter failureReporter = createFailureReporter(schema); ReadWriteValidator readWriteValidator = ReadWriteValidator.createForContext(readWriteContext, failureReporter); ValidatingVisitor visitor = new ValidatingVisitor(input, failureReporter, readWriteValidator, validationListener); - visitor.visit(schema); + visitor.visit(schema, path); visitor.failIfErrorFound(); } diff --git a/core/src/main/java/org/everit/json/schema/Visitor.java b/core/src/main/java/org/everit/json/schema/Visitor.java index 18d5d12a9..1204e6b36 100644 --- a/core/src/main/java/org/everit/json/schema/Visitor.java +++ b/core/src/main/java/org/everit/json/schema/Visitor.java @@ -1,13 +1,23 @@ package org.everit.json.schema; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.regexp.Regexp; abstract class Visitor { + List appendPath(List path, int index) { + return appendPath(path, String.format("[%d]", index)); + } + + List appendPath(List path, String field) { + List newList = new ArrayList<>(path); + newList.add(field); + return newList; + } + void visitNumberSchema(NumberSchema numberSchema) { visitExclusiveMinimum(numberSchema.isExclusiveMinimum()); visitMinimum(numberSchema.getMinimum()); @@ -39,24 +49,24 @@ void visitExclusiveMaximumLimit(Number exclusiveMaximumLimit) { void visitMultipleOf(Number multipleOf) { } - void visit(Schema schema) { - schema.accept(this); + void visit(Schema schema, List path) { + schema.accept(this, path); } - void visitArraySchema(ArraySchema arraySchema) { + void visitArraySchema(ArraySchema arraySchema, List path) { visitMinItems(arraySchema.getMinItems()); visitMaxItems(arraySchema.getMaxItems()); visitUniqueItems(arraySchema.needsUniqueItems()); - visitAllItemSchema(arraySchema.getAllItemSchema()); + visitAllItemSchema(arraySchema.getAllItemSchema(), path); visitAdditionalItems(arraySchema.permitsAdditionalItems()); List itemSchemas = arraySchema.getItemSchemas(); if (itemSchemas != null) { for (int i = 0; i < itemSchemas.size(); ++i) { - visitItemSchema(i, itemSchemas.get(i)); + visitItemSchema(i, itemSchemas.get(i), appendPath(path, i)); } } - visitSchemaOfAdditionalItems(arraySchema.getSchemaOfAdditionalItems()); - visitContainedItemSchema(arraySchema.getContainedItemSchema()); + visitSchemaOfAdditionalItems(arraySchema.getSchemaOfAdditionalItems(), path); + visitContainedItemSchema(arraySchema.getContainedItemSchema(), path); } void visitMinItems(Integer minItems) { @@ -68,19 +78,19 @@ void visitMaxItems(Integer maxItems) { void visitUniqueItems(boolean uniqueItems) { } - void visitAllItemSchema(Schema allItemSchema) { + void visitAllItemSchema(Schema allItemSchema, List path) { } void visitAdditionalItems(boolean additionalItems) { } - void visitItemSchema(int index, Schema itemSchema) { + void visitItemSchema(int index, Schema itemSchema, List path) { } - void visitSchemaOfAdditionalItems(Schema schemaOfAdditionalItems) { + void visitSchemaOfAdditionalItems(Schema schemaOfAdditionalItems, List path) { } - void visitContainedItemSchema(Schema containedItemSchema) { + void visitContainedItemSchema(Schema containedItemSchema, List path) { } void visitBooleanSchema(BooleanSchema schema) { @@ -101,54 +111,54 @@ void visitEnumSchema(EnumSchema enumSchema) { void visitFalseSchema(FalseSchema falseSchema) { } - void visitNotSchema(NotSchema notSchema) { + void visitNotSchema(NotSchema notSchema, List path) { } - void visitReferenceSchema(ReferenceSchema referenceSchema) { + void visitReferenceSchema(ReferenceSchema referenceSchema, List path) { } - void visitObjectSchema(ObjectSchema objectSchema) { + void visitObjectSchema(ObjectSchema objectSchema, List path) { for (String requiredPropName : objectSchema.getRequiredProperties()) { visitRequiredPropertyName(requiredPropName); } - visitPropertyNameSchema(objectSchema.getPropertyNameSchema()); + visitPropertyNameSchema(objectSchema.getPropertyNameSchema(), path); visitMinProperties(objectSchema.getMinProperties()); visitMaxProperties(objectSchema.getMaxProperties()); for (Map.Entry> entry : objectSchema.getPropertyDependencies().entrySet()) { - visitPropertyDependencies(entry.getKey(), entry.getValue()); + visitPropertyDependencies(entry.getKey(), entry.getValue(), appendPath(path, entry.getKey())); } visitAdditionalProperties(objectSchema.permitsAdditionalProperties()); - visitSchemaOfAdditionalProperties(objectSchema.getSchemaOfAdditionalProperties()); + visitSchemaOfAdditionalProperties(objectSchema.getSchemaOfAdditionalProperties(), path); for (Map.Entry entry : objectSchema.getRegexpPatternProperties().entrySet()) { - visitPatternPropertySchema(entry.getKey(), entry.getValue()); + visitPatternPropertySchema(entry.getKey(), entry.getValue(), path); } for (Map.Entry schemaDep : objectSchema.getSchemaDependencies().entrySet()) { - visitSchemaDependency(schemaDep.getKey(), schemaDep.getValue()); + visitSchemaDependency(schemaDep.getKey(), schemaDep.getValue(), appendPath(path, schemaDep.getKey())); } Map propertySchemas = objectSchema.getPropertySchemas(); if (propertySchemas != null) { for (Map.Entry entry : propertySchemas.entrySet()) { - visitPropertySchema(entry.getKey(), entry.getValue()); + visitPropertySchema(entry.getKey(), entry.getValue(), appendPath(path, entry.getKey())); } } } - void visitPropertySchema(String properyName, Schema schema) { + void visitPropertySchema(String properyName, Schema schema, List path) { } - void visitSchemaDependency(String propKey, Schema schema) { + void visitSchemaDependency(String propKey, Schema schema, List path) { } - void visitPatternPropertySchema(Regexp propertyNamePattern, Schema schema) { + void visitPatternPropertySchema(Regexp propertyNamePattern, Schema schema, List path) { } - void visitSchemaOfAdditionalProperties(Schema schemaOfAdditionalProperties) { + void visitSchemaOfAdditionalProperties(Schema schemaOfAdditionalProperties, List path) { } void visitAdditionalProperties(boolean additionalProperties) { } - void visitPropertyDependencies(String ifPresent, Set allMustBePresent) { + void visitPropertyDependencies(String ifPresent, Set allMustBePresent, List path) { } void visitMaxProperties(Integer maxProperties) { @@ -157,7 +167,7 @@ void visitMaxProperties(Integer maxProperties) { void visitMinProperties(Integer minProperties) { } - void visitPropertyNameSchema(Schema propertyNameSchema) { + void visitPropertyNameSchema(Schema propertyNameSchema, List path) { } void visitRequiredPropertyName(String requiredPropName) { @@ -182,21 +192,21 @@ void visitMaxLength(Integer maxLength) { void visitMinLength(Integer minLength) { } - void visitCombinedSchema(CombinedSchema combinedSchema) { + void visitCombinedSchema(CombinedSchema combinedSchema, List path) { } - void visitConditionalSchema(ConditionalSchema conditionalSchema) { - conditionalSchema.getIfSchema().ifPresent(this::visitIfSchema); - conditionalSchema.getThenSchema().ifPresent(this::visitThenSchema); - conditionalSchema.getElseSchema().ifPresent(this::visitElseSchema); + void visitConditionalSchema(ConditionalSchema conditionalSchema, List path) { + conditionalSchema.getIfSchema().ifPresent(schema -> visitIfSchema(schema, path)); + conditionalSchema.getThenSchema().ifPresent(schema -> visitThenSchema(schema, path)); + conditionalSchema.getElseSchema().ifPresent(schema -> visitElseSchema(schema, path)); } - void visitIfSchema(Schema ifSchema) { + void visitIfSchema(Schema ifSchema, List path) { } - void visitThenSchema(Schema thenSchema) { + void visitThenSchema(Schema thenSchema, List path) { } - void visitElseSchema(Schema elseSchema) { + void visitElseSchema(Schema elseSchema, List path) { } } diff --git a/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMatchEvent.java b/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMatchEvent.java index efe5cc3b8..f561981ed 100644 --- a/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMatchEvent.java +++ b/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMatchEvent.java @@ -1,5 +1,6 @@ package org.everit.json.schema.event; +import java.util.List; import org.everit.json.schema.CombinedSchema; import org.everit.json.schema.Schema; import org.json.JSONObject; @@ -7,7 +8,12 @@ public class CombinedSchemaMatchEvent extends CombinedSchemaValidationEvent { public CombinedSchemaMatchEvent(CombinedSchema schema, Schema subSchema, - Object instance) { + Object instance, List path) { + super(schema, subSchema, instance, path); + } + + public CombinedSchemaMatchEvent(CombinedSchema schema, Schema subSchema, + Object instance) { super(schema, subSchema, instance); } diff --git a/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMismatchEvent.java b/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMismatchEvent.java index 5729b33ff..5c9f94247 100644 --- a/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMismatchEvent.java +++ b/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMismatchEvent.java @@ -1,7 +1,9 @@ package org.everit.json.schema.event; import java.util.Objects; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.CombinedSchema; import org.everit.json.schema.Schema; import org.everit.json.schema.ValidationException; @@ -12,6 +14,11 @@ public class CombinedSchemaMismatchEvent extends CombinedSchemaValidationEvent i private final ValidationException failure; + public CombinedSchemaMismatchEvent(CombinedSchema schema, Schema subSchema, Object instance, ValidationException failure, List path) { + super(schema, subSchema, instance, path); + this.failure = failure; + } + public CombinedSchemaMismatchEvent(CombinedSchema schema, Schema subSchema, Object instance, ValidationException failure) { super(schema, subSchema, instance); this.failure = failure; diff --git a/core/src/main/java/org/everit/json/schema/event/CombinedSchemaValidationEvent.java b/core/src/main/java/org/everit/json/schema/event/CombinedSchemaValidationEvent.java index 202785ea7..4b48f5fad 100644 --- a/core/src/main/java/org/everit/json/schema/event/CombinedSchemaValidationEvent.java +++ b/core/src/main/java/org/everit/json/schema/event/CombinedSchemaValidationEvent.java @@ -1,7 +1,9 @@ package org.everit.json.schema.event; import java.util.Objects; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.CombinedSchema; import org.everit.json.schema.Schema; @@ -9,6 +11,11 @@ public abstract class CombinedSchemaValidationEvent extends ValidationEvent path) { + super(schema, instance, path); + this.subSchema = subSchema; + } + public CombinedSchemaValidationEvent(CombinedSchema schema, Schema subSchema, Object instance) { super(schema, instance); this.subSchema = subSchema; diff --git a/core/src/main/java/org/everit/json/schema/event/SchemaReferencedEvent.java b/core/src/main/java/org/everit/json/schema/event/SchemaReferencedEvent.java index d8ab07c1c..5086efcb5 100644 --- a/core/src/main/java/org/everit/json/schema/event/SchemaReferencedEvent.java +++ b/core/src/main/java/org/everit/json/schema/event/SchemaReferencedEvent.java @@ -1,7 +1,9 @@ package org.everit.json.schema.event; import java.util.Objects; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.ReferenceSchema; import org.everit.json.schema.Schema; import org.json.JSONObject; @@ -10,11 +12,17 @@ public class SchemaReferencedEvent extends ValidationEvent { private final Schema referredSchema; + public SchemaReferencedEvent(ReferenceSchema schema, Object instance, Schema referredSchema, List path) { + super(schema, instance, path); + this.referredSchema = referredSchema; + } + public SchemaReferencedEvent(ReferenceSchema schema, Object instance, Schema referredSchema) { super(schema, instance); this.referredSchema = referredSchema; } + @Override void describeTo(JSONObject obj) { obj.put("type", "ref"); diff --git a/core/src/main/java/org/everit/json/schema/event/ValidationEvent.java b/core/src/main/java/org/everit/json/schema/event/ValidationEvent.java index 573e42c75..e27b8ebd6 100644 --- a/core/src/main/java/org/everit/json/schema/event/ValidationEvent.java +++ b/core/src/main/java/org/everit/json/schema/event/ValidationEvent.java @@ -1,7 +1,10 @@ package org.everit.json.schema.event; +import java.util.ArrayList; import java.util.Objects; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.Schema; import org.json.JSONObject; @@ -11,11 +14,20 @@ public abstract class ValidationEvent { protected final Object instance; + protected final List path; + protected ValidationEvent(S schema, Object instance) { + this(schema, instance, new ArrayList<>()); + } + + protected ValidationEvent(S schema, Object instance, List path) { this.schema = schema; this.instance = instance; + this.path = path; } + public List getPath() { return path; } + public S getSchema() { return schema; } diff --git a/core/src/test/java/org/everit/json/schema/ValidatingVisitorTest.java b/core/src/test/java/org/everit/json/schema/ValidatingVisitorTest.java index 30581cd56..61bb26fe3 100644 --- a/core/src/test/java/org/everit/json/schema/ValidatingVisitorTest.java +++ b/core/src/test/java/org/everit/json/schema/ValidatingVisitorTest.java @@ -9,7 +9,11 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.stream.Stream; +import java.util.List; import org.everit.json.schema.event.CombinedSchemaMatchEvent; import org.everit.json.schema.event.CombinedSchemaMismatchEvent; import org.everit.json.schema.event.ValidationListener; @@ -131,12 +135,12 @@ public void triggersCombinedSchemaEvents() { ValidationFailureReporter reporter = new CollectingFailureReporter(combinedSchema); JSONObject instance = new JSONObject(); - new ValidatingVisitor(instance, reporter, ReadWriteValidator.NONE, listener).visit(combinedSchema); + new ValidatingVisitor(instance, reporter, ReadWriteValidator.NONE, listener).visit(combinedSchema, Collections.singletonList("#")); ValidationException exc = new ValidationException(stringSchema, String.class, instance); - verify(listener).combinedSchemaMismatch(new CombinedSchemaMismatchEvent(combinedSchema, stringSchema, instance, exc)); - verify(listener).combinedSchemaMatch(new CombinedSchemaMatchEvent(combinedSchema, emptySchema, instance)); - verify(listener).combinedSchemaMatch(new CombinedSchemaMatchEvent(combinedSchema, objectSchema, instance)); + verify(listener).combinedSchemaMismatch(new CombinedSchemaMismatchEvent(combinedSchema, stringSchema, instance, exc, new ArrayList<>())); + verify(listener).combinedSchemaMatch(new CombinedSchemaMatchEvent(combinedSchema, emptySchema, instance, new ArrayList<>())); + verify(listener).combinedSchemaMatch(new CombinedSchemaMatchEvent(combinedSchema, objectSchema, instance, new ArrayList<>())); } } diff --git a/core/src/test/java/org/everit/json/schema/event/CombinedSchemaMatchEventTest.java b/core/src/test/java/org/everit/json/schema/event/CombinedSchemaMatchEventTest.java index 8d5d980b1..c3be9ff48 100644 --- a/core/src/test/java/org/everit/json/schema/event/CombinedSchemaMatchEventTest.java +++ b/core/src/test/java/org/everit/json/schema/event/CombinedSchemaMatchEventTest.java @@ -11,6 +11,7 @@ public class CombinedSchemaMatchEventTest { public void equalsVerifier() { EqualsVerifier.forClass(CombinedSchemaMatchEvent.class) .withNonnullFields("subSchema", "schema", "instance") + .withIgnoredFields("path") .withRedefinedSuperclass() .suppress(Warning.STRICT_INHERITANCE) .verify(); diff --git a/core/src/test/java/org/everit/json/schema/event/CombinedSchemaMismatchEventTest.java b/core/src/test/java/org/everit/json/schema/event/CombinedSchemaMismatchEventTest.java index 480428eec..f8bfdfe22 100644 --- a/core/src/test/java/org/everit/json/schema/event/CombinedSchemaMismatchEventTest.java +++ b/core/src/test/java/org/everit/json/schema/event/CombinedSchemaMismatchEventTest.java @@ -16,6 +16,7 @@ public void equalsVerifier() { ValidationException exc2 = new ValidationException(FalseSchema.INSTANCE, "message", "keyword", "#/loca/tion"); EqualsVerifier.forClass(CombinedSchemaMismatchEvent.class) .withNonnullFields("subSchema", "schema", "instance", "failure") + .withIgnoredFields("path") .withRedefinedSuperclass() .withPrefabValues(ValidationException.class, exc1, exc2) .suppress(Warning.STRICT_INHERITANCE) diff --git a/core/src/test/java/org/everit/json/schema/event/ConditionalSchemaMatchEventTest.java b/core/src/test/java/org/everit/json/schema/event/ConditionalSchemaMatchEventTest.java index e5c1e0fd3..952c999c2 100644 --- a/core/src/test/java/org/everit/json/schema/event/ConditionalSchemaMatchEventTest.java +++ b/core/src/test/java/org/everit/json/schema/event/ConditionalSchemaMatchEventTest.java @@ -11,6 +11,7 @@ public class ConditionalSchemaMatchEventTest { public void equalsVerifier() { EqualsVerifier.forClass(ConditionalSchemaMatchEvent.class) .withNonnullFields("keyword", "schema", "instance") + .withIgnoredFields("path") .withRedefinedSuperclass() .suppress(Warning.STRICT_INHERITANCE) .verify(); diff --git a/core/src/test/java/org/everit/json/schema/event/ConditionalSchemaMismatchEventTest.java b/core/src/test/java/org/everit/json/schema/event/ConditionalSchemaMismatchEventTest.java index c6f73babe..6e0824ec1 100644 --- a/core/src/test/java/org/everit/json/schema/event/ConditionalSchemaMismatchEventTest.java +++ b/core/src/test/java/org/everit/json/schema/event/ConditionalSchemaMismatchEventTest.java @@ -16,6 +16,7 @@ public void equalsVerifier() { ValidationException exc2 = new ValidationException(FalseSchema.INSTANCE, "message", "keyword", "#/loca/tion"); EqualsVerifier.forClass(ConditionalSchemaMismatchEvent.class) .withNonnullFields("keyword", "schema", "instance", "failure") + .withIgnoredFields("path") .withRedefinedSuperclass() .withPrefabValues(ValidationException.class, exc1, exc2) .suppress(Warning.STRICT_INHERITANCE) diff --git a/core/src/test/java/org/everit/json/schema/event/EventToStringTest.java b/core/src/test/java/org/everit/json/schema/event/EventToStringTest.java index a5a3994d9..f4be2883a 100644 --- a/core/src/test/java/org/everit/json/schema/event/EventToStringTest.java +++ b/core/src/test/java/org/everit/json/schema/event/EventToStringTest.java @@ -5,6 +5,8 @@ import static org.everit.json.schema.event.ConditionalSchemaValidationEvent.Keyword.IF; import static org.junit.Assert.assertThat; +import java.util.ArrayList; +import java.util.List; import org.everit.json.schema.CombinedSchema; import org.everit.json.schema.ConditionalSchema; import org.everit.json.schema.FalseSchema; @@ -17,6 +19,8 @@ import org.json.JSONObject; import org.junit.Test; +import java.util.stream.Stream; + public class EventToStringTest { private static final ResourceLoader LOADER = new ResourceLoader("/org/everit/jsonvalidator/event/"); @@ -45,7 +49,7 @@ public class EventToStringTest { INSTANCE.put("hello", new JSONArray("[\"world\"]")); } - private static final SchemaReferencedEvent REF_EVENT = new SchemaReferencedEvent(REF_SCHEMA, INSTANCE, REFERRED_SCHEMA); + private static final SchemaReferencedEvent REF_EVENT = new SchemaReferencedEvent(REF_SCHEMA, INSTANCE, REFERRED_SCHEMA, new ArrayList<>()); @Test public void schemaReferenceEventToStringTest() { @@ -96,7 +100,7 @@ public void conditionalSchemaMismatchEvent() { @Test public void combinedSchemaMatchEventToString() { JSONObject expected = LOADER.readObj("combined-schema-match.json"); - CombinedSchemaMatchEvent subject = new CombinedSchemaMatchEvent(COMBINED_SCHEMA, TrueSchema.INSTANCE, INSTANCE); + CombinedSchemaMatchEvent subject = new CombinedSchemaMatchEvent(COMBINED_SCHEMA, TrueSchema.INSTANCE, INSTANCE, new ArrayList<>()); JSONObject actual = new JSONObject(subject.toString()); @@ -107,7 +111,7 @@ public void combinedSchemaMatchEventToString() { public void combinedSchemaMismatchEventToString() { JSONObject expected = LOADER.readObj("combined-schema-mismatch.json"); ValidationException exc = new ValidationException(COMBINED_SCHEMA, "message", "anyOf", "#/schema/location"); - CombinedSchemaMismatchEvent subject = new CombinedSchemaMismatchEvent(COMBINED_SCHEMA, FalseSchema.INSTANCE, INSTANCE, exc); + CombinedSchemaMismatchEvent subject = new CombinedSchemaMismatchEvent(COMBINED_SCHEMA, FalseSchema.INSTANCE, INSTANCE, exc, new ArrayList()); JSONObject actual = new JSONObject(subject.toJSON(true, true).toString()); diff --git a/core/src/test/java/org/everit/json/schema/event/SchemaReferencedEventTest.java b/core/src/test/java/org/everit/json/schema/event/SchemaReferencedEventTest.java index 96afc2851..b486c5820 100644 --- a/core/src/test/java/org/everit/json/schema/event/SchemaReferencedEventTest.java +++ b/core/src/test/java/org/everit/json/schema/event/SchemaReferencedEventTest.java @@ -11,6 +11,7 @@ public class SchemaReferencedEventTest { public void equalsVerifier() { EqualsVerifier.forClass(SchemaReferencedEvent.class) .withNonnullFields("referredSchema", "schema", "instance") + .withIgnoredFields("path") .withRedefinedSuperclass() .suppress(Warning.STRICT_INHERITANCE) .verify(); diff --git a/pom.xml b/pom.xml index f4dace638..d9057e51f 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.everit.json org.everit.json.schema.parent - 0.0.0-develop + 2.0.0 pom diff --git a/tests/android/pom.xml b/tests/android/pom.xml index cccb042dd..837fd72b2 100644 --- a/tests/android/pom.xml +++ b/tests/android/pom.xml @@ -7,7 +7,7 @@ org.everit.json org.everit.json.schema.tests.parent - 0.0.0-develop + 2.0.0 org.everit.json.schema.tests.android diff --git a/tests/pom.xml b/tests/pom.xml index 637e3c14b..c6d6fb10a 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -5,7 +5,7 @@ org.everit.json org.everit.json.schema.parent - 0.0.0-develop + 2.0.0 org.everit.json.schema.tests.parent diff --git a/tests/vanilla/pom.xml b/tests/vanilla/pom.xml index 750abb107..76a4dad5a 100644 --- a/tests/vanilla/pom.xml +++ b/tests/vanilla/pom.xml @@ -7,7 +7,7 @@ org.everit.json org.everit.json.schema.tests.parent - 0.0.0-develop + 2.0.0 org.everit.json.schema.tests.vanilla From 5df4054da9ee0ac42209921171c1b6cbbb0bf7b0 Mon Sep 17 00:00:00 2001 From: Albert Franzi Date: Wed, 9 Jan 2019 16:30:36 +0100 Subject: [PATCH 2/3] Remove unused dependencies --- .../org/everit/json/schema/ArraySchemaValidatingVisitor.java | 3 --- core/src/main/java/org/everit/json/schema/BooleanSchema.java | 1 - core/src/main/java/org/everit/json/schema/CombinedSchema.java | 2 -- .../main/java/org/everit/json/schema/ConditionalSchema.java | 2 -- core/src/main/java/org/everit/json/schema/ConstSchema.java | 2 -- core/src/main/java/org/everit/json/schema/EmptySchema.java | 2 -- core/src/main/java/org/everit/json/schema/EnumSchema.java | 2 -- core/src/main/java/org/everit/json/schema/FalseSchema.java | 1 - core/src/main/java/org/everit/json/schema/NotSchema.java | 2 -- core/src/main/java/org/everit/json/schema/NullSchema.java | 2 -- core/src/main/java/org/everit/json/schema/NumberSchema.java | 2 -- .../org/everit/json/schema/ObjectSchemaValidatingVisitor.java | 3 --- core/src/main/java/org/everit/json/schema/ReferenceSchema.java | 2 -- core/src/main/java/org/everit/json/schema/StringSchema.java | 2 -- .../main/java/org/everit/json/schema/ValidatingVisitor.java | 2 -- core/src/main/java/org/everit/json/schema/Visitor.java | 2 -- .../everit/json/schema/event/CombinedSchemaMismatchEvent.java | 2 -- .../json/schema/event/CombinedSchemaValidationEvent.java | 3 +-- .../org/everit/json/schema/event/SchemaReferencedEvent.java | 2 -- .../java/org/everit/json/schema/event/ValidationEvent.java | 2 -- .../java/org/everit/json/schema/ValidatingVisitorTest.java | 2 +- .../java/org/everit/json/schema/event/EventToStringTest.java | 2 +- 22 files changed, 3 insertions(+), 42 deletions(-) diff --git a/core/src/main/java/org/everit/json/schema/ArraySchemaValidatingVisitor.java b/core/src/main/java/org/everit/json/schema/ArraySchemaValidatingVisitor.java index 60e5b24af..c5555b774 100644 --- a/core/src/main/java/org/everit/json/schema/ArraySchemaValidatingVisitor.java +++ b/core/src/main/java/org/everit/json/schema/ArraySchemaValidatingVisitor.java @@ -2,16 +2,13 @@ import static java.lang.String.format; import static java.util.Objects.requireNonNull; - import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Optional; import java.util.function.IntFunction; import java.util.stream.IntStream; -import java.util.stream.Stream; -import java.util.List; import org.json.JSONArray; class ArraySchemaValidatingVisitor extends Visitor { diff --git a/core/src/main/java/org/everit/json/schema/BooleanSchema.java b/core/src/main/java/org/everit/json/schema/BooleanSchema.java index b39ae4608..9f3d3d079 100644 --- a/core/src/main/java/org/everit/json/schema/BooleanSchema.java +++ b/core/src/main/java/org/everit/json/schema/BooleanSchema.java @@ -3,7 +3,6 @@ import java.util.List; import org.everit.json.schema.internal.JSONPrinter; -import java.util.stream.Stream; /** * Boolean schema validator. diff --git a/core/src/main/java/org/everit/json/schema/CombinedSchema.java b/core/src/main/java/org/everit/json/schema/CombinedSchema.java index 5af6f843d..e7fbfff0e 100644 --- a/core/src/main/java/org/everit/json/schema/CombinedSchema.java +++ b/core/src/main/java/org/everit/json/schema/CombinedSchema.java @@ -7,9 +7,7 @@ import java.util.Collection; import java.util.List; import java.util.Objects; -import java.util.stream.Stream; -import java.util.List; import org.everit.json.schema.internal.JSONPrinter; /** diff --git a/core/src/main/java/org/everit/json/schema/ConditionalSchema.java b/core/src/main/java/org/everit/json/schema/ConditionalSchema.java index ea82a00fd..34a23c4c6 100644 --- a/core/src/main/java/org/everit/json/schema/ConditionalSchema.java +++ b/core/src/main/java/org/everit/json/schema/ConditionalSchema.java @@ -1,8 +1,6 @@ package org.everit.json.schema; import java.util.Optional; -import java.util.stream.Stream; - import java.util.List; import org.everit.json.schema.internal.JSONPrinter; diff --git a/core/src/main/java/org/everit/json/schema/ConstSchema.java b/core/src/main/java/org/everit/json/schema/ConstSchema.java index b4c52749a..d94964568 100644 --- a/core/src/main/java/org/everit/json/schema/ConstSchema.java +++ b/core/src/main/java/org/everit/json/schema/ConstSchema.java @@ -5,8 +5,6 @@ import java.util.List; import org.everit.json.schema.internal.JSONPrinter; -import java.util.stream.Stream; - public class ConstSchema extends Schema { public static class ConstSchemaBuilder extends Schema.Builder { diff --git a/core/src/main/java/org/everit/json/schema/EmptySchema.java b/core/src/main/java/org/everit/json/schema/EmptySchema.java index 27d330b3c..5ca8b72d8 100644 --- a/core/src/main/java/org/everit/json/schema/EmptySchema.java +++ b/core/src/main/java/org/everit/json/schema/EmptySchema.java @@ -2,8 +2,6 @@ import java.util.List; -import java.util.stream.Stream; - /** * A schema not specifying any restrictions, ie. accepting any values. */ diff --git a/core/src/main/java/org/everit/json/schema/EnumSchema.java b/core/src/main/java/org/everit/json/schema/EnumSchema.java index a055c0854..936d3ea93 100644 --- a/core/src/main/java/org/everit/json/schema/EnumSchema.java +++ b/core/src/main/java/org/everit/json/schema/EnumSchema.java @@ -9,9 +9,7 @@ import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; -import java.util.stream.Stream; -import java.util.List; import org.everit.json.schema.internal.JSONPrinter; import org.everit.json.schema.loader.OrgJsonUtil; import org.json.JSONArray; diff --git a/core/src/main/java/org/everit/json/schema/FalseSchema.java b/core/src/main/java/org/everit/json/schema/FalseSchema.java index 68d1cd87a..ff331c9b3 100644 --- a/core/src/main/java/org/everit/json/schema/FalseSchema.java +++ b/core/src/main/java/org/everit/json/schema/FalseSchema.java @@ -3,7 +3,6 @@ import java.util.List; import org.everit.json.schema.internal.JSONPrinter; -import java.util.stream.Stream; /** * @author erosb diff --git a/core/src/main/java/org/everit/json/schema/NotSchema.java b/core/src/main/java/org/everit/json/schema/NotSchema.java index cb8163cb1..5b0d65763 100644 --- a/core/src/main/java/org/everit/json/schema/NotSchema.java +++ b/core/src/main/java/org/everit/json/schema/NotSchema.java @@ -4,8 +4,6 @@ import java.util.ArrayList; import java.util.Objects; -import java.util.stream.Stream; - import java.util.List; import org.everit.json.schema.internal.JSONPrinter; diff --git a/core/src/main/java/org/everit/json/schema/NullSchema.java b/core/src/main/java/org/everit/json/schema/NullSchema.java index 3a3eeb3e8..d0e5e96f6 100644 --- a/core/src/main/java/org/everit/json/schema/NullSchema.java +++ b/core/src/main/java/org/everit/json/schema/NullSchema.java @@ -3,8 +3,6 @@ import java.util.List; import org.everit.json.schema.internal.JSONPrinter; -import java.util.stream.Stream; - /** * {@code Null} schema validator. */ diff --git a/core/src/main/java/org/everit/json/schema/NumberSchema.java b/core/src/main/java/org/everit/json/schema/NumberSchema.java index fe59b1433..62d31426a 100644 --- a/core/src/main/java/org/everit/json/schema/NumberSchema.java +++ b/core/src/main/java/org/everit/json/schema/NumberSchema.java @@ -1,8 +1,6 @@ package org.everit.json.schema; import java.util.Objects; -import java.util.stream.Stream; - import java.util.List; import org.everit.json.schema.internal.JSONPrinter; import org.json.JSONException; diff --git a/core/src/main/java/org/everit/json/schema/ObjectSchemaValidatingVisitor.java b/core/src/main/java/org/everit/json/schema/ObjectSchemaValidatingVisitor.java index 08207545b..6e4a3747f 100644 --- a/core/src/main/java/org/everit/json/schema/ObjectSchemaValidatingVisitor.java +++ b/core/src/main/java/org/everit/json/schema/ObjectSchemaValidatingVisitor.java @@ -7,9 +7,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; -import java.util.stream.Stream; - -import java.util.List; import org.everit.json.schema.regexp.Regexp; import org.json.JSONObject; diff --git a/core/src/main/java/org/everit/json/schema/ReferenceSchema.java b/core/src/main/java/org/everit/json/schema/ReferenceSchema.java index aee022304..983a4029f 100644 --- a/core/src/main/java/org/everit/json/schema/ReferenceSchema.java +++ b/core/src/main/java/org/everit/json/schema/ReferenceSchema.java @@ -3,8 +3,6 @@ import static java.util.Objects.requireNonNull; import java.util.Objects; -import java.util.stream.Stream; - import java.util.List; import org.everit.json.schema.internal.JSONPrinter; diff --git a/core/src/main/java/org/everit/json/schema/StringSchema.java b/core/src/main/java/org/everit/json/schema/StringSchema.java index 70c6862e9..efcd7fbfa 100644 --- a/core/src/main/java/org/everit/json/schema/StringSchema.java +++ b/core/src/main/java/org/everit/json/schema/StringSchema.java @@ -4,8 +4,6 @@ import static org.everit.json.schema.FormatValidator.NONE; import java.util.Objects; -import java.util.stream.Stream; - import java.util.List; import org.everit.json.schema.internal.JSONPrinter; import org.everit.json.schema.regexp.JavaUtilRegexpFactory; diff --git a/core/src/main/java/org/everit/json/schema/ValidatingVisitor.java b/core/src/main/java/org/everit/json/schema/ValidatingVisitor.java index cbfdf2b61..b703f170b 100644 --- a/core/src/main/java/org/everit/json/schema/ValidatingVisitor.java +++ b/core/src/main/java/org/everit/json/schema/ValidatingVisitor.java @@ -9,9 +9,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import java.util.stream.Stream; -import java.util.List; import org.everit.json.schema.event.CombinedSchemaMatchEvent; import org.everit.json.schema.event.CombinedSchemaMismatchEvent; import org.everit.json.schema.event.SchemaReferencedEvent; diff --git a/core/src/main/java/org/everit/json/schema/Visitor.java b/core/src/main/java/org/everit/json/schema/Visitor.java index 1204e6b36..bb8ffef57 100644 --- a/core/src/main/java/org/everit/json/schema/Visitor.java +++ b/core/src/main/java/org/everit/json/schema/Visitor.java @@ -1,8 +1,6 @@ package org.everit.json.schema; import java.util.*; -import java.util.stream.Stream; - import java.util.List; import org.everit.json.schema.regexp.Regexp; diff --git a/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMismatchEvent.java b/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMismatchEvent.java index 5c9f94247..de455aa4f 100644 --- a/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMismatchEvent.java +++ b/core/src/main/java/org/everit/json/schema/event/CombinedSchemaMismatchEvent.java @@ -1,8 +1,6 @@ package org.everit.json.schema.event; import java.util.Objects; -import java.util.stream.Stream; - import java.util.List; import org.everit.json.schema.CombinedSchema; import org.everit.json.schema.Schema; diff --git a/core/src/main/java/org/everit/json/schema/event/CombinedSchemaValidationEvent.java b/core/src/main/java/org/everit/json/schema/event/CombinedSchemaValidationEvent.java index 4b48f5fad..751856841 100644 --- a/core/src/main/java/org/everit/json/schema/event/CombinedSchemaValidationEvent.java +++ b/core/src/main/java/org/everit/json/schema/event/CombinedSchemaValidationEvent.java @@ -1,9 +1,8 @@ package org.everit.json.schema.event; import java.util.Objects; -import java.util.stream.Stream; - import java.util.List; + import org.everit.json.schema.CombinedSchema; import org.everit.json.schema.Schema; diff --git a/core/src/main/java/org/everit/json/schema/event/SchemaReferencedEvent.java b/core/src/main/java/org/everit/json/schema/event/SchemaReferencedEvent.java index 5086efcb5..eeb7aa5f7 100644 --- a/core/src/main/java/org/everit/json/schema/event/SchemaReferencedEvent.java +++ b/core/src/main/java/org/everit/json/schema/event/SchemaReferencedEvent.java @@ -1,8 +1,6 @@ package org.everit.json.schema.event; import java.util.Objects; -import java.util.stream.Stream; - import java.util.List; import org.everit.json.schema.ReferenceSchema; import org.everit.json.schema.Schema; diff --git a/core/src/main/java/org/everit/json/schema/event/ValidationEvent.java b/core/src/main/java/org/everit/json/schema/event/ValidationEvent.java index e27b8ebd6..b04328f2d 100644 --- a/core/src/main/java/org/everit/json/schema/event/ValidationEvent.java +++ b/core/src/main/java/org/everit/json/schema/event/ValidationEvent.java @@ -2,8 +2,6 @@ import java.util.ArrayList; import java.util.Objects; -import java.util.stream.Stream; - import java.util.List; import org.everit.json.schema.Schema; import org.json.JSONObject; diff --git a/core/src/test/java/org/everit/json/schema/ValidatingVisitorTest.java b/core/src/test/java/org/everit/json/schema/ValidatingVisitorTest.java index 61bb26fe3..635cb7328 100644 --- a/core/src/test/java/org/everit/json/schema/ValidatingVisitorTest.java +++ b/core/src/test/java/org/everit/json/schema/ValidatingVisitorTest.java @@ -11,7 +11,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.stream.Stream; + import java.util.List; import org.everit.json.schema.event.CombinedSchemaMatchEvent; diff --git a/core/src/test/java/org/everit/json/schema/event/EventToStringTest.java b/core/src/test/java/org/everit/json/schema/event/EventToStringTest.java index f4be2883a..227da9290 100644 --- a/core/src/test/java/org/everit/json/schema/event/EventToStringTest.java +++ b/core/src/test/java/org/everit/json/schema/event/EventToStringTest.java @@ -19,7 +19,7 @@ import org.json.JSONObject; import org.junit.Test; -import java.util.stream.Stream; + public class EventToStringTest { From 7785521202506d71a34c404b4d386ab8a6e4a815 Mon Sep 17 00:00:00 2001 From: Albert Franzi Date: Wed, 9 Jan 2019 17:12:16 +0100 Subject: [PATCH 3/3] SNAPSHOT Version --- core/pom.xml | 2 +- pom.xml | 2 +- tests/android/pom.xml | 2 +- tests/pom.xml | 2 +- tests/vanilla/pom.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/pom.xml b/core/pom.xml index 2db5966bf..4661f1eb0 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -21,7 +21,7 @@ 4.0.0 org.everit.json org.everit.json.schema - 2.0.0 + 1.10.1-afranzi-SNAPSHOT bundle UTF-8 diff --git a/pom.xml b/pom.xml index d9057e51f..e04d96e73 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.everit.json org.everit.json.schema.parent - 2.0.0 + 1.10.1-afranzi-SNAPSHOT pom diff --git a/tests/android/pom.xml b/tests/android/pom.xml index 837fd72b2..678bdee60 100644 --- a/tests/android/pom.xml +++ b/tests/android/pom.xml @@ -7,7 +7,7 @@ org.everit.json org.everit.json.schema.tests.parent - 2.0.0 + 1.10.1-afranzi-SNAPSHOT org.everit.json.schema.tests.android diff --git a/tests/pom.xml b/tests/pom.xml index c6d6fb10a..2200cd1a6 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -5,7 +5,7 @@ org.everit.json org.everit.json.schema.parent - 2.0.0 + 1.10.1-afranzi-SNAPSHOT org.everit.json.schema.tests.parent diff --git a/tests/vanilla/pom.xml b/tests/vanilla/pom.xml index 76a4dad5a..20851d62b 100644 --- a/tests/vanilla/pom.xml +++ b/tests/vanilla/pom.xml @@ -7,7 +7,7 @@ org.everit.json org.everit.json.schema.tests.parent - 2.0.0 + 1.10.1-afranzi-SNAPSHOT org.everit.json.schema.tests.vanilla