-
Notifications
You must be signed in to change notification settings - Fork 31
Description
Version
5.0.2
Context
Java: 17
OS: linux
Build tool: Maven
When creating an OpenAPIContract (via any rxFrom(...)), contract validation throws a ClassCastException inside io.vertx.json.schema.impl.SchemaValidatorImpl. The validator retrieves minProperties (value 1) as a Long and casts it to Integer, causing:
java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.Integer (java.lang.Long and java.lang.Integer are in module java.base of loader 'bootstrap') at io.vertx.json.schema.impl.SchemaValidatorImpl.validate(SchemaValidatorImpl.java:446) at io.vertx.json.schema.impl.SchemaValidatorImpl.validate(SchemaValidatorImpl.java:204) at io.vertx.json.schema.impl.SchemaValidatorImpl.validate(SchemaValidatorImpl.java:554) at io.vertx.json.schema.impl.SchemaValidatorImpl.validate(SchemaValidatorImpl.java:204) at io.vertx.json.schema.impl.SchemaValidatorImpl.validate(SchemaValidatorImpl.java:588) at io.vertx.json.schema.impl.SchemaValidatorImpl.validate(SchemaValidatorImpl.java:204) at io.vertx.json.schema.impl.SchemaValidatorImpl.validate(SchemaValidatorImpl.java:588) at io.vertx.json.schema.impl.SchemaValidatorImpl.validate(SchemaValidatorImpl.java:204) at io.vertx.json.schema.impl.SchemaValidatorImpl.validate(SchemaValidatorImpl.java:554) at io.vertx.json.schema.impl.SchemaValidatorImpl.validate(SchemaValidatorImpl.java:54) at io.vertx.openapi.contract.OpenAPIVersion.lambda$validateContract$2(OpenAPIVersion.java:83) at io.vertx.core.impl.ExecuteBlocking$1.execute(ExecuteBlocking.java:36) at io.vertx.core.impl.WorkerTask.run(WorkerTask.java:57) at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:80)
This appears to come from the internal meta-schema/contract validation, not the user spec
Steps to reproduce
No response
Do you have a reproducer?
No response