2014-07-04 22:47 GMT+04:00 <ma...@apache.org>: > Author: markt > Date: Fri Jul 4 18:47:02 2014 > New Revision: 1607906 > > URL: http://svn.apache.org/r1607906 > Log: > Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56652 > Add support for method parameters that use arrays and varargs to > ELProcessor.defineFunction() > > Modified: > tomcat/trunk/java/javax/el/ELProcessor.java > tomcat/trunk/java/org/apache/el/lang/ELSupport.java > tomcat/trunk/java/org/apache/el/lang/ExpressionBuilder.java > tomcat/trunk/java/org/apache/el/parser/AstFunction.java > tomcat/trunk/test/javax/el/TestELProcessor.java > tomcat/trunk/test/javax/el/TesterFunctions.java > tomcat/trunk/webapps/docs/changelog.xml > > Modified: tomcat/trunk/java/javax/el/ELProcessor.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/ELProcessor.java?rev=1607906&r1=1607905&r2=1607906&view=diff > ============================================================================== > --- tomcat/trunk/java/javax/el/ELProcessor.java (original) > +++ tomcat/trunk/java/javax/el/ELProcessor.java Fri Jul 4 18:47:02 2014 > (...) > @@ -235,7 +245,58 @@ public class ELProcessor { > ImportHandler importHandler = context.getImportHandler(); > for (int i = 0; i < parameterTypeNames.length; i++) { > String parameterTypeName = > parameterTypeNames[i].trim(); > - if (!PRIMITIVES.contains(parameterTypeName) && > + int dimension = 0; > + int bracketPos = parameterTypeName.indexOf('['); > + if (bracketPos > -1) { > + String parameterTypeNameOnly = > + parameterTypeName.substring(0, > bracketPos).trim();
trim() here - OK. > + while (bracketPos > -1) { > + dimension++; > + bracketPos = parameterTypeName.indexOf('[', > bracketPos+ 1); > + } > + parameterTypeName = parameterTypeNameOnly; > + } > + boolean varArgs = false; > + if (parameterTypeName.endsWith("...")) { > + varArgs = true; > + dimension = 1; > + parameterTypeName = parameterTypeName.substring( > + 0, parameterTypeName.length() -3); I think it needs trim() here as well. > + } > + boolean isPrimitive = > PRIMITIVES.contains(parameterTypeName); > ... Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org