Repository: bval Updated Branches: refs/heads/bv2 cb0bb133f -> 9e4e23f40
avoid NPE on xml ctors Project: http://git-wip-us.apache.org/repos/asf/bval/repo Commit: http://git-wip-us.apache.org/repos/asf/bval/commit/9e4e23f4 Tree: http://git-wip-us.apache.org/repos/asf/bval/tree/9e4e23f4 Diff: http://git-wip-us.apache.org/repos/asf/bval/diff/9e4e23f4 Branch: refs/heads/bv2 Commit: 9e4e23f4054f4fa563af8d4087ef84cd9120fa95 Parents: cb0bb13 Author: Matt Benson <[email protected]> Authored: Wed Apr 18 17:16:42 2018 -0500 Committer: Matt Benson <[email protected]> Committed: Wed Apr 18 17:16:42 2018 -0500 ---------------------------------------------------------------------- .../main/java/org/apache/bval/jsr/xml/MappingValidator.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bval/blob/9e4e23f4/bval-jsr/src/main/java/org/apache/bval/jsr/xml/MappingValidator.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/MappingValidator.java b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/MappingValidator.java index f3b017e..9b9f4a4 100644 --- a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/MappingValidator.java +++ b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/MappingValidator.java @@ -166,10 +166,11 @@ public class MappingValidator { final Constructor<?> dc = Reflection.getDeclaredConstructor(t, parameterTypes); Exceptions.raiseIf(dc == null, ValidationException::new, "Unknown %s constructor %s", t, result); - final ForConstructor<?> metaCtor = new Meta.ForConstructor<>(dc); - constraints(metaCtor, ctor.getReturnValue().getConstraint()); - containerElements(metaCtor, ctor.getReturnValue().getContainerElementType()); - + Optional.of(ctor).map(ConstructorType::getReturnValue).ifPresent(rv -> { + final ForConstructor<?> metaCtor = new Meta.ForConstructor<>(dc); + constraints(metaCtor, rv.getConstraint()); + containerElements(metaCtor, rv.getContainerElementType()); + }); final Parameter[] params = dc.getParameters(); IntStream.range(0, parameterTypes.length).forEach(n -> {
