2727import java .io .UnsupportedEncodingException ;
2828import java .net .URLDecoder ;
2929import java .nio .charset .StandardCharsets ;
30- import java .util .*;
30+ import java .util .ArrayList ;
31+ import java .util .Collections ;
32+ import java .util .Comparator ;
33+ import java .util .Iterator ;
34+ import java .util .LinkedHashSet ;
35+ import java .util .List ;
36+ import java .util .Map .Entry ;
37+ import java .util .Objects ;
38+ import java .util .Set ;
3139import java .util .function .Consumer ;
3240
3341/**
@@ -451,10 +459,11 @@ private List<JsonValidator> read(JsonNode schemaNode) {
451459 } else {
452460 JsonValidator refValidator = null ;
453461
454- Iterator <String > pnames = schemaNode .fieldNames ();
455- while (pnames .hasNext ()) {
456- String pname = pnames .next ();
457- JsonNode nodeToUse = schemaNode .get (pname );
462+ Iterator <Entry <String , JsonNode >> iterator = schemaNode .fields ();
463+ while (iterator .hasNext ()) {
464+ Entry <String , JsonNode > entry = iterator .next ();
465+ String pname = entry .getKey ();
466+ JsonNode nodeToUse = entry .getValue ();
458467
459468 JsonNodePath path = getEvaluationPath ().append (pname );
460469 SchemaLocation schemaPath = getSchemaLocation ().append (pname );
@@ -536,15 +545,14 @@ private long activeDialect() {
536545
537546 @ Override
538547 public Set <ValidationMessage > validate (ExecutionContext executionContext , JsonNode jsonNode , JsonNode rootNode , JsonNodePath instanceLocation ) {
539- if (validationContext .getConfig ().isOpenAPI3StyleDiscriminators ()) {
548+ if (this . validationContext .getConfig ().isOpenAPI3StyleDiscriminators ()) {
540549 ObjectNode discriminator = (ObjectNode ) schemaNode .get ("discriminator" );
541550 if (null != discriminator && null != executionContext .getCurrentDiscriminatorContext ()) {
542551 executionContext .getCurrentDiscriminatorContext ().registerDiscriminator (schemaLocation ,
543552 discriminator );
544553 }
545554 }
546555
547- SchemaValidatorsConfig config = this .validationContext .getConfig ();
548556 SetView <ValidationMessage > errors = null ;
549557 // Set the walkEnabled and isValidationEnabled flag in internal validator state.
550558 setValidatorState (executionContext , false , true );
@@ -566,7 +574,7 @@ public Set<ValidationMessage> validate(ExecutionContext executionContext, JsonNo
566574 }
567575 }
568576
569- if (config .isOpenAPI3StyleDiscriminators ()) {
577+ if (this . validationContext . getConfig () .isOpenAPI3StyleDiscriminators ()) {
570578 ObjectNode discriminator = (ObjectNode ) this .schemaNode .get ("discriminator" );
571579 if (null != discriminator ) {
572580 final DiscriminatorContext discriminatorContext = executionContext
@@ -1137,15 +1145,13 @@ public boolean isRecursiveAnchor() {
11371145 */
11381146 public ExecutionContext createExecutionContext () {
11391147 SchemaValidatorsConfig config = validationContext .getConfig ();
1140- CollectorContext collectorContext = new CollectorContext ();
1141-
11421148 // Copy execution config defaults from validation config
11431149 ExecutionConfig executionConfig = new ExecutionConfig ();
11441150 executionConfig .setLocale (config .getLocale ());
11451151 executionConfig .setFormatAssertionsEnabled (config .getFormatAssertionsEnabled ());
11461152 executionConfig .setFailFast (config .isFailFast ());
11471153
1148- ExecutionContext executionContext = new ExecutionContext (executionConfig , collectorContext );
1154+ ExecutionContext executionContext = new ExecutionContext (executionConfig );
11491155 if (config .getExecutionContextCustomizer () != null ) {
11501156 config .getExecutionContextCustomizer ().customize (executionContext , validationContext );
11511157 }
0 commit comments