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: [email protected]
For additional commands, e-mail: [email protected]