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;
}