Skip to content

Commit 8f06a60

Browse files
committed
Upgrade to schema.nt 2.0
Signed-off-by: fjtirado <[email protected]>
1 parent d0e4300 commit 8f06a60

File tree

3 files changed

+20
-22
lines changed

3 files changed

+20
-22
lines changed

api/src/main/java/io/serverlessworkflow/api/ValidationReader.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,30 @@
1616
package io.serverlessworkflow.api;
1717

1818
import com.fasterxml.jackson.databind.JsonNode;
19+
import com.networknt.schema.Error;
1920
import 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;
2524
import io.serverlessworkflow.api.types.Workflow;
2625
import java.io.IOException;
2726
import java.io.InputStream;
2827
import java.io.Reader;
2928
import java.io.UncheckedIOException;
30-
import java.util.Set;
29+
import java.util.Collection;
3130
import java.util.stream.Collectors;
3231

3332
class 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
}

impl/validation/src/main/java/io/serverlessworkflow/impl/jackson/schema/JsonSchemaValidator.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,26 @@
1616
package io.serverlessworkflow.impl.jackson.schema;
1717

1818
import com.fasterxml.jackson.databind.JsonNode;
19-
import com.networknt.schema.JsonSchema;
20-
import com.networknt.schema.JsonSchemaFactory;
21-
import com.networknt.schema.SpecVersion.VersionFlag;
22-
import com.networknt.schema.ValidationMessage;
19+
import com.networknt.schema.Error;
20+
import com.networknt.schema.Schema;
21+
import com.networknt.schema.SchemaRegistry;
22+
import com.networknt.schema.SpecificationVersion;
2323
import io.serverlessworkflow.impl.WorkflowModel;
2424
import io.serverlessworkflow.impl.schema.SchemaValidator;
25-
import java.util.Set;
25+
import java.util.Collection;
2626

2727
public class JsonSchemaValidator implements SchemaValidator {
2828

29-
private final JsonSchema schemaObject;
29+
private final Schema schemaObject;
3030

3131
public JsonSchemaValidator(JsonNode jsonNode) {
32-
this.schemaObject = JsonSchemaFactory.getInstance(VersionFlag.V7).getSchema(jsonNode);
32+
this.schemaObject =
33+
SchemaRegistry.withDefaultDialect(SpecificationVersion.DRAFT_7).getSchema(jsonNode);
3334
}
3435

3536
@Override
3637
public void validate(WorkflowModel node) {
37-
Set<ValidationMessage> report =
38+
Collection<Error> report =
3839
schemaObject.validate(
3940
node.as(JsonNode.class)
4041
.orElseThrow(

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
<version.ch.qos.logback>1.5.20</version.ch.qos.logback>
8383
<version.com.fasterxml.jackson>2.20.0</version.com.fasterxml.jackson>
8484
<version.com.fasterxml.jackson.annotations>2.20</version.com.fasterxml.jackson.annotations>
85-
<version.com.networknt>1.5.9</version.com.networknt>
85+
<version.com.networknt>2.0.0</version.com.networknt>
8686
<version.com.squareup.okhttp3.mockwebserver>5.2.1</version.com.squareup.okhttp3.mockwebserver>
8787
<version.io.cloudevents>4.0.1</version.io.cloudevents>
8888
<version.jakarta.validation>3.1.1</version.jakarta.validation>

0 commit comments

Comments
 (0)