reta commented on a change in pull request #695:
URL: https://github.com/apache/cxf/pull/695#discussion_r491763895



##########
File path: 
core/src/main/java/org/apache/cxf/validation/BeanValidationProvider.java
##########
@@ -111,46 +142,81 @@ private static void initFactoryConfig(Configuration<?> 
factoryCfg, ValidationCon
     }
 
     public< T > void validateParameters(final T instance, final Method method, 
final Object[] arguments) {
-
-        final ExecutableValidator methodValidator = getExecutableValidator();
-        final Set< ConstraintViolation< T > > violations = 
methodValidator.validateParameters(instance,
-            method, arguments);
-
-        if (!violations.isEmpty()) {
-            throw new ConstraintViolationException(violations);
+        final Validator validator = factory.get();
+        final ExecutableValidator methodValidator = validator.forExecutables();
+        if (runtimeCache == null || 
runtimeCache.shouldValidateParameters(validator, method)) {
+            final Set<ConstraintViolation<T>> violations = 
methodValidator.validateParameters(instance,
+                    method, arguments);
+            if (!violations.isEmpty()) {
+                throw new ConstraintViolationException(violations);
+            }
         }
     }
 
     public< T > void validateReturnValue(final T instance, final Method 
method, final Object returnValue) {
-        final ExecutableValidator methodValidator = getExecutableValidator();
-        final Set<ConstraintViolation< T > > violations = 
methodValidator.validateReturnValue(instance,
-            method, returnValue);
-
-        if (!violations.isEmpty()) {
-            throw new ResponseConstraintViolationException(violations);
+        final Validator validator = factory.get();
+        final ExecutableValidator methodValidator = validator.forExecutables();
+        if (runtimeCache == null || 
runtimeCache.shouldValidateReturnedValue(validator, method)) {
+            final Set<ConstraintViolation<T>> violations = 
methodValidator.validateReturnValue(instance,
+                    method, returnValue);
+            if (!violations.isEmpty()) {
+                throw new ResponseConstraintViolationException(violations);
+            }
         }
     }
 
     public< T > void validateReturnValue(final T bean) {
-        final Set<ConstraintViolation< T > > violations = doValidateBean(bean);
+        Validator validator = factory.get();
+        if (runtimeCache != null && bean != null
+                && !runtimeCache.shouldValidateBean(validator, 
bean.getClass())) {

Review comment:
       Oh nevermind, there is no method in this call




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to