avoid XML-based constraint validator mapping provider if noop

Project: http://git-wip-us.apache.org/repos/asf/bval/repo
Commit: http://git-wip-us.apache.org/repos/asf/bval/commit/143e3c7f
Tree: http://git-wip-us.apache.org/repos/asf/bval/tree/143e3c7f
Diff: http://git-wip-us.apache.org/repos/asf/bval/diff/143e3c7f

Branch: refs/heads/bv2
Commit: 143e3c7f44c822a6e244aea8b72524deb6d24112
Parents: 11b6b21
Author: Matt Benson <[email protected]>
Authored: Thu Mar 29 16:34:22 2018 -0500
Committer: Matt Benson <[email protected]>
Committed: Thu Mar 29 16:34:22 2018 -0500

----------------------------------------------------------------------
 .../java/org/apache/bval/jsr/xml/ValidationMappingParser.java  | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bval/blob/143e3c7f/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java
----------------------------------------------------------------------
diff --git 
a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java 
b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java
index 8584c28..f03d4cd 100644
--- 
a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java
+++ 
b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java
@@ -21,6 +21,7 @@ import java.io.InputStream;
 import java.lang.annotation.Annotation;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Optional;
 import java.util.function.BiConsumer;
 import java.util.function.Consumer;
 
@@ -60,7 +61,7 @@ public class ValidationMappingParser implements 
MetadataSource {
         }
         for (final InputStream xmlStream : 
configurationState.getMappingStreams()) {
             final ConstraintMappingsType mapping = parseXmlMappings(xmlStream);
-            addValidatorMappingProvider.accept(toMappingProvider(mapping));
+            
Optional.of(mapping).map(this::toMappingProvider).ifPresent(addValidatorMappingProvider);
             new XmlBuilder(mapping).forBeans().forEach(addBuilder::accept);
         }
     }
@@ -85,6 +86,9 @@ public class ValidationMappingParser implements 
MetadataSource {
     }
 
     private ValidatorMappingProvider toMappingProvider(ConstraintMappingsType 
mapping) {
+        if (mapping.getConstraintDefinition().isEmpty()) {
+            return null;
+        }
         final Map<Class<? extends Annotation>, ValidatedByType> 
validatorMappings = new HashMap<>();
 
         for (ConstraintDefinitionType constraintDefinition : 
mapping.getConstraintDefinition()) {

Reply via email to