[ 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