Skip to content

Commit 60d034e

Browse files
authored
Fix activeDialect for custom meta schema (#1084)
1 parent 4a2258c commit 60d034e

File tree

4 files changed

+4
-8
lines changed

4 files changed

+4
-8
lines changed

src/main/java/com/networknt/schema/UnevaluatedItemsValidator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ public UnevaluatedItemsValidator(SchemaLocation schemaLocation, JsonNodePath eva
4444
JsonSchema parentSchema, ValidationContext validationContext) {
4545
super(schemaLocation, evaluationPath, schemaNode, parentSchema, ValidatorTypeCode.UNEVALUATED_ITEMS,
4646
validationContext);
47-
isMinV202012 = MinV202012.getVersions().contains(SpecVersionDetector
48-
.detectOptionalVersion(validationContext.getMetaSchema().getIri()).orElse(DEFAULT_VERSION));
47+
isMinV202012 = MinV202012.getVersions().contains(validationContext.activeDialect().orElse(DEFAULT_VERSION));
4948
if (schemaNode.isObject() || schemaNode.isBoolean()) {
5049
this.schema = validationContext.newSchema(schemaLocation, evaluationPath, schemaNode, parentSchema);
5150
} else {

src/main/java/com/networknt/schema/ValidationContext.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ public JsonMetaSchema getMetaSchema() {
107107
}
108108

109109
public Optional<VersionFlag> activeDialect() {
110-
String metaSchema = getMetaSchema().getIri();
111-
return SpecVersionDetector.detectOptionalVersion(metaSchema);
110+
return Optional.of(this.metaSchema.getSpecification());
112111
}
113112
}

src/main/java/com/networknt/schema/utils/JsonNodeUtil.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,7 @@ public static boolean equalsToSchemaType(JsonNode node, JsonType schemaType, Jso
131131
}
132132

133133
private static long detectVersion(ValidationContext validationContext) {
134-
String metaSchema = validationContext.getMetaSchema().getIri();
135-
return SpecVersionDetector.detectOptionalVersion(metaSchema)
136-
.orElse(VersionFlag.V4)
137-
.getVersionFlagValue();
134+
return validationContext.activeDialect().orElse(VersionFlag.V4).getVersionFlagValue();
138135
}
139136

140137
/**

src/test/java/com/networknt/schema/VocabularyTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ void noValidation() {
8282
messages = schema.validate(inputDataNoValidation, InputFormat.JSON);
8383
assertEquals(1, messages.size());
8484
assertEquals("minimum", messages.iterator().next().getType());
85+
assertEquals(VersionFlag.V202012, schema.getValidationContext().activeDialect().get());
8586
}
8687

8788
@Test

0 commit comments

Comments
 (0)