[infinispan-commits] Infinispan SVN: r761 - trunk/core/src/main/java/org/infinispan/config/parsing.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Thu Sep 3 05:12:27 EDT 2009


Author: mircea.markus
Date: 2009-09-03 05:12:27 -0400 (Thu, 03 Sep 2009)
New Revision: 761

Modified:
   trunk/core/src/main/java/org/infinispan/config/parsing/XmlConfigHelper.java
Log:
findbugs:
Method concatenates strings using + in a loop
The method seems to be building a String using concatenation in a loop. In each iteration, the String is converted to a StringBuffer/StringBuilder, appended to, and converted back to a String. This can lead to a cost quadratic in the number of iterations, as the growing string is recopied in each iteration.
Better performance can be obtained by using a StringBuffer (or StringBuilder in Java 1.5) explicitly.

Modified: trunk/core/src/main/java/org/infinispan/config/parsing/XmlConfigHelper.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/parsing/XmlConfigHelper.java	2009-09-03 09:07:52 UTC (rev 760)
+++ trunk/core/src/main/java/org/infinispan/config/parsing/XmlConfigHelper.java	2009-09-03 09:12:27 UTC (rev 761)
@@ -179,16 +179,16 @@
     */
    public static String getElementContent(Element element, boolean trim) {
       NodeList nl = element.getChildNodes();
-      String attributeText = "";
+      StringBuilder attributeText = new StringBuilder();
       for (int i = 0; i < nl.getLength(); i++) {
          Node n = nl.item(i);
          if (n instanceof Text) {
-            attributeText += StringPropertyReplacer.replaceProperties(((Text) n).getData());
+            attributeText.append(StringPropertyReplacer.replaceProperties(((Text) n).getData()));
          }
       } // end of for ()
       if (trim)
-         attributeText = attributeText.trim();
-      return attributeText;
+         return attributeText.toString().trim();
+      return attributeText.toString();
    }
 
    /**



More information about the infinispan-commits mailing list