Add NoProviderFoundException

Description

When bootstrapping a validator factory via Validation#buildDefaultValidatorFactory() or byDefaultProvider(), callers currently cannot distinguish between the case where no BV provider is present and the case where a provider is present but failed to bootstrap (e.g. due to a misconfiguration in validation.xml or missing transitive dependencies): a ValidationException will be raised in both cases.

This may be addressed by adding a new subtype of ValidationException, NoProviderFoundException.

This is useful in conjunction with validation-mode auto of JPA: validation of entities is only to be done if a BV provider is present, otherwise validation isn't performed. This causes exceptions to go unnoticed, if there is a BV provider but fails to start due to reasons as given above. The new exception will let the JPA provider detect the case of no BV provider being present, letting it only ignore this one but let all other exceptions raised by the BV provider bubble up.

Environment

None

Status

Assignee

Gunnar Morling

Reporter

Gunnar Morling

Labels

None

Worked in

None

Feedback Requested

None

Feedback Requested By

None

backPortable

None

Community Help Wanted

None

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

backportReEvaluate

None

Fix versions

Priority

Major
Configure