craigmcc 01/01/27 20:51:14
Modified: src/share/org/apache/struts/util BeanUtils.java
Log:
Improve the efficiency of BeanUtils.filter() by using a switch statement.
Submitted by: Matthias Kerkhoff <[EMAIL PROTECTED]>
(an oldie but a goodie ... submitted last October :-)
Revision Changes Path
1.25 +20 -13 jakarta-struts/src/share/org/apache/struts/util/BeanUtils.java
Index: BeanUtils.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/BeanUtils.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- BeanUtils.java 2001/01/10 01:54:21 1.24
+++ BeanUtils.java 2001/01/28 04:51:13 1.25
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-struts/src/share/org/apache/struts/util/BeanUtils.java,v 1.24
2001/01/10 01:54:21 craigmcc Exp $
- * $Revision: 1.24 $
- * $Date: 2001/01/10 01:54:21 $
+ * $Header:
/home/cvs/jakarta-struts/src/share/org/apache/struts/util/BeanUtils.java,v 1.25
2001/01/28 04:51:13 craigmcc Exp $
+ * $Revision: 1.25 $
+ * $Date: 2001/01/28 04:51:13 $
*
* ====================================================================
*
@@ -83,7 +83,7 @@
* @author Craig R. McClanahan
* @author Ralph Schaer
* @author Chris Audley
- * @version $Revision: 1.24 $ $Date: 2001/01/10 01:54:21 $
+ * @version $Revision: 1.25 $ $Date: 2001/01/28 04:51:13 $
*/
public final class BeanUtils {
@@ -164,19 +164,26 @@
if (value == null)
return (null);
- StringBuffer result = new StringBuffer();
- for (int i = 0; i < value.length(); i++) {
- char ch = value.charAt(i);
- if (ch == '<')
+ char content[] = new char[value.length()];
+ value.getChars(0, value.length(), content, 0);
+ StringBuffer result = new StringBuffer(content.length + 50);
+ for (int i = 0; i < content.length; i++) {
+ switch (content[i]) {
+ case '<':
result.append("<");
- else if (ch == '>')
+ break;
+ case '>':
result.append(">");
- else if (ch == '&')
+ break;
+ case '&':
result.append("&");
- else if (ch == '"')
+ break;
+ case '"':
result.append(""");
- else
- result.append(ch);
+ break;
+ default:
+ result.append(content[i]);
+ }
}
return (result.toString());