[
https://issues.apache.org/jira/browse/WW-3578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lukasz Lenart updated WW-3578:
------------------------------
Fix Version/s: 3.x
> replace function is called multiple times, which can be done in one run
> -----------------------------------------------------------------------
>
> Key: WW-3578
> URL: https://issues.apache.org/jira/browse/WW-3578
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - JasperReports
> Affects Versions: 2.2.1.1
> Reporter: Xiaoming Shi
> Fix For: 3.x
>
>
> In the function "makeXmlJavaIdentifier"
> (./struts-2.2.1/src/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspUtil.java
> line: 1059)
> The replace function is called 3 times, which can be done in one run with a
> for loop.
> StringBuilder sb = new StringBuilder(name.length());
> for(int i = 0; i < name.length(); i++)
> {
> char c = name.charAt(i);
> if (c == '-')
> sb.append("$1");
> else if (c == '.')
> sb.append("$2");
> else if (c == ':')
> sb.append("$3");
> else
> sb.append(c);
> }
> return sb.toString();
> The second method can be much faster.
> (Similar to the MySQL bug http://bugs.mysql.com/bug.php?id=45699)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira