You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2020/10/21 17:24:52 UTC
[cxf] branch master updated: Fixing NPE in RuntimeCache
This is an automated email from the ASF dual-hosted git repository.
reta pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/master by this push:
new f82b1f6 Fixing NPE in RuntimeCache
f82b1f6 is described below
commit f82b1f6acafb50f4b4ab4c75e6013d7c59025b6c
Author: reta <dr...@gmail.com>
AuthorDate: Wed Oct 21 13:24:27 2020 -0400
Fixing NPE in RuntimeCache
---
.../apache/cxf/validation/BeanValidationProvider.java | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/core/src/main/java/org/apache/cxf/validation/BeanValidationProvider.java b/core/src/main/java/org/apache/cxf/validation/BeanValidationProvider.java
index 425832b..9652d48 100644
--- a/core/src/main/java/org/apache/cxf/validation/BeanValidationProvider.java
+++ b/core/src/main/java/org/apache/cxf/validation/BeanValidationProvider.java
@@ -36,6 +36,7 @@ import javax.validation.ValidationProviderResolver;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import javax.validation.executable.ExecutableValidator;
+import javax.validation.metadata.MethodDescriptor;
import javax.validation.spi.ValidationProvider;
import org.apache.cxf.common.logging.LogUtils;
@@ -204,15 +205,21 @@ public class BeanValidationProvider implements AutoCloseable {
private final ConcurrentMap<Method, Boolean> returnedValues = new ConcurrentHashMap<>();
public boolean shouldValidateParameters(final Validator validator, final Method method) {
- return params.computeIfAbsent(method, m -> validator.getConstraintsForClass(m.getDeclaringClass())
- .getConstraintsForMethod(m.getName(), m.getParameterTypes())
- .hasConstrainedParameters());
+ return params.computeIfAbsent(method, m -> {
+ final MethodDescriptor constraint = validator
+ .getConstraintsForClass(m.getDeclaringClass())
+ .getConstraintsForMethod(m.getName(), m.getParameterTypes());
+ return constraint != null && constraint.hasConstrainedParameters();
+ });
}
public boolean shouldValidateReturnedValue(final Validator validator, final Method method) {
- return returnedValues.computeIfAbsent(method, m -> validator.getConstraintsForClass(m.getDeclaringClass())
- .getConstraintsForMethod(m.getName(), method.getParameterTypes())
- .hasConstrainedReturnValue());
+ return returnedValues.computeIfAbsent(method, m -> {
+ final MethodDescriptor constraint = validator
+ .getConstraintsForClass(m.getDeclaringClass())
+ .getConstraintsForMethod(m.getName(), method.getParameterTypes());
+ return constraint != null && constraint.hasConstrainedReturnValue();
+ });
}
public boolean shouldValidateBean(final Validator validator, final Class<?> clazz) {