You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2013/08/23 17:27:49 UTC

svn commit: r1516882 - in /maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils: StringUtils.java xml/XMLEncode.java

Author: krosenvold
Date: Fri Aug 23 15:27:49 2013
New Revision: 1516882

URL: http://svn.apache.org/r1516882
Log:
Minor performance tweaks

Modified:
    maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java
    maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java

Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java?rev=1516882&r1=1516881&r2=1516882&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java Fri Aug 23 15:27:49 2013
@@ -772,7 +772,7 @@ public class StringUtils
         int start = 0, end;
         while ( ( end = text.indexOf( repl, start ) ) != -1 )
         {
-            buf.append( text.substring( start, end ) ).append( with );
+            buf.append( text, start, end ).append( with );
             start = end + repl.length();
 
             if ( --max == 0 )
@@ -780,7 +780,7 @@ public class StringUtils
                 break;
             }
         }
-        buf.append( text.substring( start ) );
+        buf.append( text, start, text.length());
         return buf.toString();
     }
 
@@ -801,7 +801,11 @@ public class StringUtils
         {
             throw new NullPointerException( "overlay is null" );
         }
-        return text.substring( 0, start ) + overlay + text.substring( end );
+        return new StringBuilder( start + overlay.length() + text.length() - end + 1 )
+            .append( text, 0, start  )
+            .append( overlay )
+            .append( text, end, text.length() )
+            .toString();
     }
 
     // Centering
@@ -1438,13 +1442,20 @@ public class StringUtils
         {
             return null;
         }
-        else if ( str.length() == 0 )
-        {
-            return "";
-        }
         else
         {
-            return String.valueOf( Character.toLowerCase( str.charAt( 0 ) ) ) + str.substring( 1 );
+            int length = str.length();
+            if ( length == 0 )
+            {
+                return "";
+            }
+            else
+            {
+                return new StringBuffer( length )
+                    .append( Character.toLowerCase( str.charAt( 0 ) ) )
+                    .append( str, 1, length )
+                    .toString();
+            }
         }
     }
 
@@ -1463,13 +1474,20 @@ public class StringUtils
         {
             return null;
         }
-        else if ( str.length() == 0 )
-        {
-            return "";
-        }
         else
         {
-            return String.valueOf( Character.toTitleCase( str.charAt( 0 ) ) ) + str.substring( 1 );
+            int length = str.length();
+            if ( length == 0 )
+            {
+                return "";
+            }
+            else
+            {
+                return new StringBuilder( length )
+                    .append( Character.toTitleCase( str.charAt( 0 ) ) )
+                    .append( str, 1, length )
+                    .toString();
+            }
         }
     }
 
@@ -2143,11 +2161,16 @@ public class StringUtils
      */
     public @Nonnull static String capitalizeFirstLetter( @Nonnull String data )
     {
-        char firstLetter = Character.toTitleCase( data.substring( 0, 1 ).charAt( 0 ) );
-
-        String restLetters = data.substring( 1 );
-
-        return firstLetter + restLetters;
+        char firstChar = data.charAt( 0 );
+        char titleCase = Character.toTitleCase( firstChar );
+        if (firstChar == titleCase)
+        {
+            return data;
+        }
+        StringBuilder result = new StringBuilder( data.length() );
+        result.append( titleCase );
+        result.append(  data, 1, data.length() );
+        return result.toString();
     }
 
     /**

Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java?rev=1516882&r1=1516881&r2=1516882&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java Fri Aug 23 15:27:49 2013
@@ -125,8 +125,14 @@ final class XMLEncode
             return null;
         }
         char c;
-        StringBuilder n = new StringBuilder( text.length() * 2 );
-        for ( int i = 0; i < text.length(); i++ )
+        int length = text.length();
+        StringBuilder n = new StringBuilder( length * 2 );
+        if ( forAttribute )
+        {
+            n.append( quoteChar );
+        }
+
+        for ( int i = 0; i < length; i++ )
         {
             c = text.charAt( i );
             switch ( c )
@@ -163,7 +169,7 @@ final class XMLEncode
                 case '\r':
                     if ( forAttribute )
                     {
-                        if ( i == ( text.length() - 1 ) || text.charAt( i + 1 ) != '\n' )
+                        if ( i == ( length - 1 ) || text.charAt( i + 1 ) != '\n' )
                         {
                             n.append( "&#13;" );
                         }
@@ -194,7 +200,6 @@ final class XMLEncode
         if ( forAttribute )
         {
             n.append( quoteChar );
-            n.insert( 0, quoteChar );
         }
 
         return n.toString();