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

Reply via email to