Skip to content

Commit 16322c7

Browse files
committed
do not fail if bundling throws
1 parent 2f83177 commit 16322c7

1 file changed

Lines changed: 39 additions & 35 deletions

File tree

openapi-parser/src/main/java/io/openapiparser/OpenApiResult30.java

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -61,43 +61,47 @@ public Collection<ValidationError> getValidationErrors () {
6161
}
6262

6363
public boolean validate (Validator validator, SchemaStore schemaStore) {
64-
schemaStore.register (OPENAPI_SCHEMA_30_ID, OPENAPI_SCHEMA_30);
65-
JsonSchema schema = schemaStore.getSchema (OPENAPI_SCHEMA_30_ID, SchemaVersion.Draft4);
66-
67-
Object bundle = bundle ();
68-
JsonInstance instance = new JsonInstance (bundle);
69-
ValidationStep result = validator.validate (schema, instance);
70-
71-
OutputConverter converter = new OutputConverter (Output.FLAG);
72-
OutputUnit output = converter.convert (result);
73-
74-
if (output.isValid ()) {
75-
validationErrors = Collections.emptyList ();
64+
try {
65+
schemaStore.register (OPENAPI_SCHEMA_30_ID, OPENAPI_SCHEMA_30);
66+
JsonSchema schema = schemaStore.getSchema (OPENAPI_SCHEMA_30_ID, SchemaVersion.Draft4);
67+
68+
Object bundle = bundle ();
69+
JsonInstance instance = new JsonInstance (bundle);
70+
ValidationStep result = validator.validate (schema, instance);
71+
72+
OutputConverter converter = new OutputConverter (Output.FLAG);
73+
OutputUnit output = converter.convert (result);
74+
75+
if (output.isValid ()) {
76+
validationErrors = Collections.emptyList ();
77+
return true;
78+
}
79+
80+
Collection<OutputUnit> errors = output.getErrors ();
81+
assert errors != null;
82+
83+
validationErrors = errors
84+
.stream ()
85+
.map (e -> {
86+
return new ValidationError (
87+
e.getInstanceLocation (),
88+
e.getKeywordLocation (),
89+
e.getAbsoluteKeywordLocation (),
90+
e.getError ()
91+
);
92+
})
93+
.collect (Collectors.toList ());
94+
95+
for (OutputUnit error : errors) {
96+
error.getError ();
97+
error.getInstanceLocation ();
98+
99+
}
100+
101+
return false;
102+
} catch (Exception ex) {
76103
return true;
77104
}
78-
79-
Collection<OutputUnit> errors = output.getErrors ();
80-
assert errors != null;
81-
82-
validationErrors = errors
83-
.stream ()
84-
.map (e -> {
85-
return new ValidationError (
86-
e.getInstanceLocation (),
87-
e.getKeywordLocation (),
88-
e.getAbsoluteKeywordLocation (),
89-
e.getError ()
90-
);
91-
})
92-
.collect(Collectors.toList());
93-
94-
for (OutputUnit error : errors) {
95-
error.getError ();
96-
error.getInstanceLocation ();
97-
98-
}
99-
100-
return false;
101105
}
102106

103107
Object bundle () {

0 commit comments

Comments
 (0)