Skip to content

OpenAPIContract.from(...) fails during contract validation with ClassCastException: Long cannot be cast to Integer for minProperties #147

@arisfili

Description

@arisfili

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions