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();
+    }
 }

Reply via email to