1616package io .serverlessworkflow .api ;
1717
1818import com .fasterxml .jackson .databind .JsonNode ;
19+ import com .networknt .schema .Error ;
1920import com .networknt .schema .InputFormat ;
20- import com .networknt .schema .JsonSchema ;
21- import com .networknt .schema .JsonSchemaFactory ;
22- import com .networknt .schema .SchemaValidatorsConfig ;
23- import com .networknt .schema .SpecVersion .VersionFlag ;
24- import com .networknt .schema .ValidationMessage ;
21+ import com .networknt .schema .Schema ;
22+ import com .networknt .schema .SchemaRegistry ;
23+ import com .networknt .schema .SpecificationVersion ;
2524import io .serverlessworkflow .api .types .Workflow ;
2625import java .io .IOException ;
2726import java .io .InputStream ;
2827import java .io .Reader ;
2928import java .io .UncheckedIOException ;
30- import java .util .Set ;
29+ import java .util .Collection ;
3130import java .util .stream .Collectors ;
3231
3332class ValidationReader implements WorkflowReaderOperations {
34- private final JsonSchema schemaObject ;
33+ private final Schema schemaObject ;
3534
3635 ValidationReader () {
3736 try (InputStream input =
3837 Thread .currentThread ()
3938 .getContextClassLoader ()
4039 .getResourceAsStream ("schema/workflow.yaml" )) {
4140 this .schemaObject =
42- JsonSchemaFactory . getInstance ( VersionFlag . V7 )
43- .getSchema (input , InputFormat .YAML , SchemaValidatorsConfig . builder (). build () );
41+ SchemaRegistry . withDefaultDialect ( SpecificationVersion . DRAFT_7 )
42+ .getSchema (input , InputFormat .YAML );
4443 } catch (IOException e ) {
4544 throw new UncheckedIOException (e );
4645 }
@@ -67,12 +66,10 @@ public Workflow read(String input, WorkflowFormat format) throws IOException {
6766 }
6867
6968 private Workflow validate (JsonNode value , WorkflowFormat format ) {
70- Set < ValidationMessage > validationErrors = schemaObject .validate (value );
69+ Collection < Error > validationErrors = schemaObject .validate (value );
7170 if (!validationErrors .isEmpty ()) {
7271 throw new IllegalArgumentException (
73- validationErrors .stream ()
74- .map (ValidationMessage ::toString )
75- .collect (Collectors .joining ("\n " )));
72+ validationErrors .stream ().map (Error ::toString ).collect (Collectors .joining ("\n " )));
7673 }
7774 return format .mapper ().convertValue (value , Workflow .class );
7875 }
0 commit comments