|
90 | 90 | import java.lang.reflect.Method;
|
91 | 91 | import java.lang.reflect.Modifier;
|
92 | 92 | import java.net.URL;
|
93 |
| -import java.util.*; |
| 93 | +import java.util.ArrayList; |
| 94 | +import java.util.Collection; |
| 95 | +import java.util.HashMap; |
| 96 | +import java.util.List; |
| 97 | +import java.util.Map; |
94 | 98 | import java.util.regex.Pattern;
|
95 | 99 |
|
96 | 100 | import static org.codehaus.groovy.ast.tools.GeneralUtils.*;
|
97 |
| -import static org.grails.compiler.injection.GrailsASTUtils.*; |
| 101 | +import static org.grails.compiler.injection.GrailsASTUtils.applyDefaultMethodTarget; |
| 102 | +import static org.grails.compiler.injection.GrailsASTUtils.applyMethodTarget; |
| 103 | +import static org.grails.compiler.injection.GrailsASTUtils.buildGetMapExpression; |
| 104 | +import static org.grails.compiler.injection.GrailsASTUtils.buildGetPropertyExpression; |
| 105 | +import static org.grails.compiler.injection.GrailsASTUtils.buildSetPropertyExpression; |
| 106 | +import static org.grails.compiler.injection.GrailsASTUtils.hasAnnotation; |
| 107 | +import static org.grails.compiler.injection.GrailsASTUtils.hasParameters; |
| 108 | +import static org.grails.compiler.injection.GrailsASTUtils.isInheritedFromTrait; |
| 109 | +import static org.grails.compiler.injection.GrailsASTUtils.removeAnnotation; |
98 | 110 |
|
99 | 111 | /**
|
100 | 112 | * Enhances controller classes by converting closures actions to method actions and binding
|
@@ -786,12 +798,14 @@ protected void initializeAndValidateCommandObjectParameter(final BlockStatement
|
786 | 798 | }
|
787 | 799 |
|
788 | 800 | if (argumentIsValidateable) {
|
789 |
| - final MethodCallExpression validateMethodCallExpression = callX(localVarX(paramName, commandObjectNode), "validate"); |
790 |
| - final MethodNode validateMethod = commandObjectNode.getMethod("validate", new Parameter[0]); |
| 801 | + final MethodCallExpression validateMethodCallExpression = |
| 802 | + new MethodCallExpression(new VariableExpression(paramName), "validate", EMPTY_TUPLE); |
| 803 | + final MethodNode validateMethod = |
| 804 | + commandObjectNode.getMethod("validate", new Parameter[0]); |
791 | 805 | if (validateMethod != null) {
|
792 | 806 | validateMethodCallExpression.setMethodTarget(validateMethod);
|
793 | 807 | }
|
794 |
| - final Statement ifCommandObjectIsNotNullThenValidate = ifS(boolX(varX(paramName)), stmt(validateMethodCallExpression)); |
| 808 | + final Statement ifCommandObjectIsNotNullThenValidate = new IfStatement(new BooleanExpression(new VariableExpression(paramName)), new ExpressionStatement(validateMethodCallExpression), new ExpressionStatement(new EmptyExpression())); |
795 | 809 | wrapper.addStatement(ifCommandObjectIsNotNullThenValidate);
|
796 | 810 | } else {
|
797 | 811 | // try to dynamically invoke the .validate() method if it is available at runtime...
|
|
0 commit comments