From 27f6adf8579b18d7a3b5b389b21d2b06513306da Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Fri, 30 May 2025 08:46:45 +1200 Subject: [PATCH] ExtensionLoader was not using service loaded AdapterFactories and AnnotationFactories Adds the service loaded AdapterFactories and AnnotationFactores. I'm not sure if these were not included for a reason? This PR assumes that was just an omission, and they should be added. --- .../main/java/io/avaje/validation/core/DValidator.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/validator/src/main/java/io/avaje/validation/core/DValidator.java b/validator/src/main/java/io/avaje/validation/core/DValidator.java index 1674b101..8e4d53a6 100644 --- a/validator/src/main/java/io/avaje/validation/core/DValidator.java +++ b/validator/src/main/java/io/avaje/validation/core/DValidator.java @@ -288,12 +288,18 @@ public Builder messageInterpolator(MessageInterpolator interpolator) { private void registerComponents(ExtensionLoader loader) { // first register all user defined ValidatorCustomizer - for (final ValidatorCustomizer next : loader.customizers()) { + for (final var next : loader.customizers()) { next.customize(this); } - for (final GeneratedComponent next : loader.generatedComponents()) { + for (final var next : loader.generatedComponents()) { next.customize(this); } + for (final var adapterFactory : loader.adapterFactories()) { + add(adapterFactory); + } + for (final var annotationFactory : loader.annotationFactories()) { + add(annotationFactory); + } } @Override