Author: fmeschbe
Date: Wed Jan 13 12:17:02 2010
New Revision: 898728

URL: http://svn.apache.org/viewvc?rev=898728&view=rev
Log:
FELIX-1957 apply slightly modified patch by Valentin Valchev (thanks)

Modified:
    
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java

Modified: 
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java?rev=898728&r1=898727&r2=898728&view=diff
==============================================================================
--- 
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java
 (original)
+++ 
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java
 Wed Jan 13 12:17:02 2010
@@ -989,13 +989,30 @@
             String value = String.valueOf(headers.get( header ));
             // Package headers may be long, support line breaking by
             // ensuring blanks after comma and semicolon.
-            value = value.replaceAll( "([;,])", "$1 " );
+            value = enableLineWrapping(value);
             val.put( header + ": " + value );
         }
 
         keyVal( jw, "Manifest Headers", val );
     }
 
+    private static final String enableLineWrapping(final String value)
+    {
+        StringBuffer sb = new StringBuffer(value.length() * 2 / 3);
+        synchronized (sb)
+        { // faster
+            for (int i = 0; i < value.length(); i++)
+            {
+                final char ch = value.charAt( i );
+                sb.append( ch );
+                if ( ch == ';' || ch == ',' )
+                {
+                    sb.append( ' ' );
+                }
+            }
+            return sb.toString();
+        }
+    }
 
     private void listFragmentInfo( final JSONWriter jw, final Bundle bundle, 
final String pluginRoot )
         throws JSONException


Reply via email to