On 06/07/2014 12:40, Konstantin Kolinko wrote: > 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.
Thanks. I agree. All the other substring() calls in that method have a trim and this one should too. Fixed in r1608300. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org