Repository: bval Updated Branches: refs/heads/bv2 f8da02117 -> 6be31f967
preemptively generate descriptor models for types with custom e.g. xml validation mapping information Project: http://git-wip-us.apache.org/repos/asf/bval/repo Commit: http://git-wip-us.apache.org/repos/asf/bval/commit/6be31f96 Tree: http://git-wip-us.apache.org/repos/asf/bval/tree/6be31f96 Diff: http://git-wip-us.apache.org/repos/asf/bval/diff/6be31f96 Branch: refs/heads/bv2 Commit: 6be31f967da6685f000b03ef6e79c139711dca88 Parents: f8da021 Author: Matt Benson <[email protected]> Authored: Fri Mar 16 18:21:16 2018 -0500 Committer: Matt Benson <[email protected]> Committed: Fri Mar 16 18:21:16 2018 -0500 ---------------------------------------------------------------------- .../org/apache/bval/jsr/ApacheValidatorFactory.java | 13 +++++++++---- .../org/apache/bval/jsr/metadata/MetadataBuilders.java | 5 +++++ 2 files changed, 14 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bval/blob/6be31f96/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java b/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java index 91b2e86..528e543 100644 --- a/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java +++ b/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java @@ -108,12 +108,10 @@ public class ApacheValidatorFactory implements ValidatorFactory, Cloneable { if (ConfigurationImpl.class.isInstance(configuration)) { toClose.add(ConfigurationImpl.class.cast(configuration).getClosable()); } - - //TODO introduce service interface - new ValidationMappingParser(this).processMappingConfig(configuration.getMappingStreams()); - configuration.getValueExtractors().forEach(valueExtractors::add); + annotationsManager = new AnnotationsManager(this); + loadAndVerifyUserCustomizations(configuration); } /** @@ -337,4 +335,11 @@ public class ApacheValidatorFactory implements ValidatorFactory, Cloneable { public MetadataBuilders getMetadataBuilders() { return metadataBuilders; } + + private void loadAndVerifyUserCustomizations(ConfigurationState configuration) { + //TODO introduce service interface + new ValidationMappingParser(this).processMappingConfig(configuration.getMappingStreams()); + + getMetadataBuilders().getCustomizedTypes().forEach(getDescriptorManager()::getBeanDescriptor); + } } http://git-wip-us.apache.org/repos/asf/bval/blob/6be31f96/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/MetadataBuilders.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/MetadataBuilders.java b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/MetadataBuilders.java index 7b6d495..9b8a33b 100644 --- a/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/MetadataBuilders.java +++ b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/MetadataBuilders.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import org.apache.bval.util.Validate; @@ -39,4 +40,8 @@ public class MetadataBuilders { final List<MetadataBuilder.ForBean<T>> list = (List) beanBuilders.get(bean); return list == null ? Collections.emptyList() : Collections.unmodifiableList(list); } + + public Set<Class<?>> getCustomizedTypes() { + return beanBuilders.keySet(); + } }
