Author: mck
Date: Wed Jul 22 21:16:35 2015
New Revision: 1692328

URL: http://svn.apache.org/r1692328
Log:
AUTOTAG-21 – AbstractModelBody.evaluateAsString uses regular expression to 
replace the contents of the string. It should be able to use a 
pre compiled Pattern instead for performance reason

Patch from Gagan Arora (gaganarora77 at gmail dot com)

Modified:
    
tiles/autotag/trunk/tiles-autotag-core-runtime/src/main/java/org/apache/tiles/autotag/core/runtime/AbstractModelBody.java

Modified: 
tiles/autotag/trunk/tiles-autotag-core-runtime/src/main/java/org/apache/tiles/autotag/core/runtime/AbstractModelBody.java
URL: 
http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core-runtime/src/main/java/org/apache/tiles/autotag/core/runtime/AbstractModelBody.java?rev=1692328&r1=1692327&r2=1692328&view=diff
==============================================================================
--- 
tiles/autotag/trunk/tiles-autotag-core-runtime/src/main/java/org/apache/tiles/autotag/core/runtime/AbstractModelBody.java
 (original)
+++ 
tiles/autotag/trunk/tiles-autotag-core-runtime/src/main/java/org/apache/tiles/autotag/core/runtime/AbstractModelBody.java
 Wed Jul 22 21:16:35 2015
@@ -23,6 +23,7 @@ package org.apache.tiles.autotag.core.ru
 import java.io.IOException;
 import java.io.StringWriter;
 import java.io.Writer;
+import java.util.regex.Pattern;
 
 import org.apache.tiles.autotag.core.runtime.util.NullWriter;
 
@@ -33,6 +34,9 @@ import org.apache.tiles.autotag.core.run
  */
 public abstract class AbstractModelBody implements ModelBody {
 
+    // precompiled the pattern to avoid compiling on every method call
+    private static final Pattern PATTERN = Pattern.compile("^\\s*|\\s*$");
+
     /**
      * The default writer to use.
      */
@@ -62,7 +66,7 @@ public abstract class AbstractModelBody
         }
         String body = writer.toString();
         if (body != null) {
-            body = body.replaceAll("^\\s*|\\s*$", "");
+            body = PATTERN.matcher(body).replaceAll("");
             if (body.length() <= 0) {
                 body = null;
             }


Reply via email to