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()) {
