mrglavas 2004/07/08 19:51:06 Modified: java/src/org/apache/html/dom HTMLOptionElementImpl.java HTMLScriptElementImpl.java HTMLTitleElementImpl.java Log: Performance fix: Replace building of strings
using concatenation in while loops with StringBuffers. Thanks to Dave Brosius for the patch. Revision Changes Path 1.8 +7 -7 xml-xerces/java/src/org/apache/html/dom/HTMLOptionElementImpl.java Index: HTMLOptionElementImpl.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/html/dom/HTMLOptionElementImpl.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- HTMLOptionElementImpl.java 24 Feb 2004 23:34:00 -0000 1.7 +++ HTMLOptionElementImpl.java 9 Jul 2004 02:51:06 -0000 1.8 @@ -53,20 +53,20 @@ public String getText() { - Node child; - String text; + Node child; + StringBuffer text = new StringBuffer(); // Find the Text nodes contained within this element and return their // concatenated value. Required to go around comments, entities, etc. child = getFirstChild(); - text = ""; while ( child != null ) { - if ( child instanceof Text ) - text = text + ( (Text) child ).getData(); + if ( child instanceof Text ) { + text.append(( (Text) child ).getData()); + } child = child.getNextSibling(); } - return text; + return text.toString(); } 1.8 +7 -7 xml-xerces/java/src/org/apache/html/dom/HTMLScriptElementImpl.java Index: HTMLScriptElementImpl.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/html/dom/HTMLScriptElementImpl.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- HTMLScriptElementImpl.java 24 Feb 2004 23:34:00 -0000 1.7 +++ HTMLScriptElementImpl.java 9 Jul 2004 02:51:06 -0000 1.8 @@ -35,20 +35,20 @@ public String getText() { - Node child; - String text; + Node child; + StringBuffer text = new StringBuffer(); // Find the Text nodes contained within this element and return their // concatenated value. Required to go around comments, entities, etc. child = getFirstChild(); - text = ""; while ( child != null ) { - if ( child instanceof Text ) - text = text + ( (Text) child ).getData(); + if ( child instanceof Text ) { + text.append(( (Text) child ).getData()); + } child = child.getNextSibling(); } - return text; + return text.toString(); } 1.8 +7 -7 xml-xerces/java/src/org/apache/html/dom/HTMLTitleElementImpl.java Index: HTMLTitleElementImpl.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/html/dom/HTMLTitleElementImpl.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- HTMLTitleElementImpl.java 24 Feb 2004 23:34:01 -0000 1.7 +++ HTMLTitleElementImpl.java 9 Jul 2004 02:51:06 -0000 1.8 @@ -35,20 +35,20 @@ public String getText() { - Node child; - String text; + Node child; + StringBuffer text = new StringBuffer(); // Find the Text nodes contained within this element and return their // concatenated value. Required to go around comments, entities, etc. child = getFirstChild(); - text = ""; while ( child != null ) { - if ( child instanceof Text ) - text = text + ( (Text) child ).getData(); + if ( child instanceof Text ) { + text.append(( (Text) child ).getData()); + } child = child.getNextSibling(); } - return text; + return text.toString(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]