This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.2 by this push:
     new 35751cbfae Remove logic to simplify ConstraintViolationException to 
ValidationException. (#11883)
35751cbfae is described below

commit 35751cbfae8e6543f312bd3244448ed1d4df9eb4
Author: Mengyang Tang <[email protected]>
AuthorDate: Mon Mar 27 10:04:14 2023 +0800

    Remove logic to simplify ConstraintViolationException to 
ValidationException. (#11883)
---
 .../validation/support/jvalidation/JValidator.java | 70 ++++++++++------------
 .../support/jvalidation/JValidatorNew.java         | 70 ++++++++++------------
 2 files changed, 64 insertions(+), 76 deletions(-)

diff --git 
a/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/support/jvalidation/JValidator.java
 
b/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/support/jvalidation/JValidator.java
index f5c06a7bba..7051ab2176 100644
--- 
a/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/support/jvalidation/JValidator.java
+++ 
b/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/support/jvalidation/JValidator.java
@@ -51,7 +51,6 @@ import javax.validation.Constraint;
 import javax.validation.ConstraintViolation;
 import javax.validation.ConstraintViolationException;
 import javax.validation.Validation;
-import javax.validation.ValidationException;
 import javax.validation.ValidatorFactory;
 import javax.validation.groups.Default;
 import java.lang.annotation.Annotation;
@@ -126,8 +125,8 @@ public class JValidator implements Validator {
     /**
      * try to generate methodParameterClass.
      *
-     * @param clazz interface class
-     * @param method invoke method
+     * @param clazz              interface class
+     * @param method             invoke method
      * @param parameterClassName generated parameterClassName
      * @return Class<?> generated methodParameterClass
      * @throws Exception
@@ -188,9 +187,9 @@ public class JValidator implements Validator {
 
     private static String generateMethodParameterClassName(Class<?> clazz, 
Method method) {
         StringBuilder builder = new StringBuilder().append(clazz.getName())
-                .append('_')
-                .append(toUpperMethoName(method.getName()))
-                .append("Parameter");
+            .append('_')
+            .append(toUpperMethoName(method.getName()))
+            .append("Parameter");
 
         Class<?>[] parameterTypes = method.getParameterTypes();
         for (Class<?> parameterType : parameterTypes) {
@@ -259,42 +258,37 @@ public class JValidator implements Validator {
 
     @Override
     public void validate(String methodName, Class<?>[] parameterTypes, 
Object[] arguments) throws Exception {
-        try {
-            List<Class<?>> groups = new ArrayList<>();
-            Class<?> methodClass = methodClass(methodName);
-            if (methodClass != null) {
-                groups.add(methodClass);
-            }
-            Set<ConstraintViolation<?>> violations = new HashSet<>();
-            Method method = clazz.getMethod(methodName, parameterTypes);
-            Class<?>[] methodClasses;
-            if (method.isAnnotationPresent(MethodValidated.class)){
-                methodClasses = 
method.getAnnotation(MethodValidated.class).value();
-                groups.addAll(Arrays.asList(methodClasses));
-            }
-            // add into default group
-            groups.add(0, Default.class);
-            groups.add(1, clazz);
+        List<Class<?>> groups = new ArrayList<>();
+        Class<?> methodClass = methodClass(methodName);
+        if (methodClass != null) {
+            groups.add(methodClass);
+        }
+        Set<ConstraintViolation<?>> violations = new HashSet<>();
+        Method method = clazz.getMethod(methodName, parameterTypes);
+        Class<?>[] methodClasses;
+        if (method.isAnnotationPresent(MethodValidated.class)) {
+            methodClasses = 
method.getAnnotation(MethodValidated.class).value();
+            groups.addAll(Arrays.asList(methodClasses));
+        }
+        // add into default group
+        groups.add(0, Default.class);
+        groups.add(1, clazz);
 
-            // convert list to array
-            Class<?>[] classgroups = groups.toArray(new Class[groups.size()]);
+        // convert list to array
+        Class<?>[] classgroups = groups.toArray(new Class[groups.size()]);
 
-            Object parameterBean = getMethodParameterBean(clazz, method, 
arguments);
-            if (parameterBean != null) {
-                violations.addAll(validator.validate(parameterBean, 
classgroups ));
-            }
+        Object parameterBean = getMethodParameterBean(clazz, method, 
arguments);
+        if (parameterBean != null) {
+            violations.addAll(validator.validate(parameterBean, classgroups));
+        }
 
-            for (Object arg : arguments) {
-                validate(violations, arg, classgroups);
-            }
+        for (Object arg : arguments) {
+            validate(violations, arg, classgroups);
+        }
 
-            if (!violations.isEmpty()) {
-                logger.info("Failed to validate service: " + clazz.getName() + 
", method: " + methodName + ", cause: " + violations);
-                throw new ConstraintViolationException("Failed to validate 
service: " + clazz.getName() + ", method: " + methodName + ", cause: " + 
violations, violations);
-            }
-        } catch (ValidationException e) {
-            // only use exception's message to avoid potential serialization 
issue
-            throw new ValidationException(e.getMessage());
+        if (!violations.isEmpty()) {
+            logger.info("Failed to validate service: " + clazz.getName() + ", 
method: " + methodName + ", cause: " + violations);
+            throw new ConstraintViolationException("Failed to validate 
service: " + clazz.getName() + ", method: " + methodName + ", cause: " + 
violations, violations);
         }
     }
 
diff --git 
a/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/support/jvalidation/JValidatorNew.java
 
b/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/support/jvalidation/JValidatorNew.java
index c52d1a85c1..fca479c76f 100644
--- 
a/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/support/jvalidation/JValidatorNew.java
+++ 
b/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/support/jvalidation/JValidatorNew.java
@@ -28,7 +28,6 @@ import jakarta.validation.Constraint;
 import jakarta.validation.ConstraintViolation;
 import jakarta.validation.ConstraintViolationException;
 import jakarta.validation.Validation;
-import jakarta.validation.ValidationException;
 import jakarta.validation.ValidatorFactory;
 import jakarta.validation.groups.Default;
 import javassist.ClassPool;
@@ -126,8 +125,8 @@ public class JValidatorNew implements Validator {
     /**
      * try to generate methodParameterClass.
      *
-     * @param clazz interface class
-     * @param method invoke method
+     * @param clazz              interface class
+     * @param method             invoke method
      * @param parameterClassName generated parameterClassName
      * @return Class<?> generated methodParameterClass
      * @throws Exception
@@ -188,9 +187,9 @@ public class JValidatorNew implements Validator {
 
     private static String generateMethodParameterClassName(Class<?> clazz, 
Method method) {
         StringBuilder builder = new StringBuilder().append(clazz.getName())
-                .append('_')
-                .append(toUpperMethoName(method.getName()))
-                .append("Parameter");
+            .append('_')
+            .append(toUpperMethoName(method.getName()))
+            .append("Parameter");
 
         Class<?>[] parameterTypes = method.getParameterTypes();
         for (Class<?> parameterType : parameterTypes) {
@@ -259,42 +258,37 @@ public class JValidatorNew implements Validator {
 
     @Override
     public void validate(String methodName, Class<?>[] parameterTypes, 
Object[] arguments) throws Exception {
-        try {
-            List<Class<?>> groups = new ArrayList<>();
-            Class<?> methodClass = methodClass(methodName);
-            if (methodClass != null) {
-                groups.add(methodClass);
-            }
-            Set<ConstraintViolation<?>> violations = new HashSet<>();
-            Method method = clazz.getMethod(methodName, parameterTypes);
-            Class<?>[] methodClasses;
-            if (method.isAnnotationPresent(MethodValidated.class)){
-                methodClasses = 
method.getAnnotation(MethodValidated.class).value();
-                groups.addAll(Arrays.asList(methodClasses));
-            }
-            // add into default group
-            groups.add(0, Default.class);
-            groups.add(1, clazz);
+        List<Class<?>> groups = new ArrayList<>();
+        Class<?> methodClass = methodClass(methodName);
+        if (methodClass != null) {
+            groups.add(methodClass);
+        }
+        Set<ConstraintViolation<?>> violations = new HashSet<>();
+        Method method = clazz.getMethod(methodName, parameterTypes);
+        Class<?>[] methodClasses;
+        if (method.isAnnotationPresent(MethodValidated.class)) {
+            methodClasses = 
method.getAnnotation(MethodValidated.class).value();
+            groups.addAll(Arrays.asList(methodClasses));
+        }
+        // add into default group
+        groups.add(0, Default.class);
+        groups.add(1, clazz);
 
-            // convert list to array
-            Class<?>[] classgroups = groups.toArray(new Class[groups.size()]);
+        // convert list to array
+        Class<?>[] classgroups = groups.toArray(new Class[groups.size()]);
 
-            Object parameterBean = getMethodParameterBean(clazz, method, 
arguments);
-            if (parameterBean != null) {
-                violations.addAll(validator.validate(parameterBean, 
classgroups ));
-            }
+        Object parameterBean = getMethodParameterBean(clazz, method, 
arguments);
+        if (parameterBean != null) {
+            violations.addAll(validator.validate(parameterBean, classgroups));
+        }
 
-            for (Object arg : arguments) {
-                validate(violations, arg, classgroups);
-            }
+        for (Object arg : arguments) {
+            validate(violations, arg, classgroups);
+        }
 
-            if (!violations.isEmpty()) {
-                logger.info("Failed to validate service: " + clazz.getName() + 
", method: " + methodName + ", cause: " + violations);
-                throw new ConstraintViolationException("Failed to validate 
service: " + clazz.getName() + ", method: " + methodName + ", cause: " + 
violations, violations);
-            }
-        } catch (ValidationException e) {
-            // only use exception's message to avoid potential serialization 
issue
-            throw new ValidationException(e.getMessage());
+        if (!violations.isEmpty()) {
+            logger.info("Failed to validate service: " + clazz.getName() + ", 
method: " + methodName + ", cause: " + violations);
+            throw new ConstraintViolationException("Failed to validate 
service: " + clazz.getName() + ", method: " + methodName + ", cause: " + 
violations, violations);
         }
     }
 

Reply via email to