Author: markt Date: Fri Sep 4 11:21:53 2015 New Revision: 1701213 URL: http://svn.apache.org/r1701213 Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58327 Cache the calculated expression string as it is frequently used and may be expensive to evaluate. Patch provided by Andreas Kohn.
Modified: tomcat/trunk/java/org/apache/el/ValueExpressionLiteral.java Modified: tomcat/trunk/java/org/apache/el/ValueExpressionLiteral.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/el/ValueExpressionLiteral.java?rev=1701213&r1=1701212&r2=1701213&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/el/ValueExpressionLiteral.java (original) +++ tomcat/trunk/java/org/apache/el/ValueExpressionLiteral.java Fri Sep 4 11:21:53 2015 @@ -35,6 +35,7 @@ public final class ValueExpressionLitera private static final long serialVersionUID = 1L; private Object value; + private String valueString; private Class<?> expectedType; @@ -89,7 +90,10 @@ public final class ValueExpressionLitera @Override public String getExpressionString() { - return (this.value != null) ? this.value.toString() : null; + if (this.valueString == null) { + this.valueString = (this.value != null) ? this.value.toString() : null; + } + return this.valueString; } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org