You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by fm...@apache.org on 2009/05/11 10:35:10 UTC

svn commit: r773497 - /felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java

Author: fmeschbe
Date: Mon May 11 08:35:10 2009
New Revision: 773497

URL: http://svn.apache.org/viewvc?rev=773497&view=rev
Log:
FELIX-1050 Add new Bundle detail block "Manifest Headers" showing
the complete list of manifest headers as returned from
Bundle.getHeaders()

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=773497&r1=773496&r2=773497&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 Mon May 11 08:35:10 2009
@@ -552,6 +552,8 @@
         }
 
         listServices( jw, bundle );
+        
+        listHeaders( jw, bundle );
 
         jw.endArray();
     }
@@ -797,13 +799,13 @@
         {
             return;
         }
-
+        
         for ( int i = 0; i < refs.length; i++ )
         {
             String key = "Service ID " + refs[i].getProperty( Constants.SERVICE_ID );
-
+            
             JSONArray val = new JSONArray();
-
+            
             appendProperty( val, refs[i], Constants.OBJECTCLASS, "Types" );
             appendProperty( val, refs[i], Constants.SERVICE_PID, "PID" );
             appendProperty( val, refs[i], ConfigurationAdmin.SERVICE_FACTORYPID, "Factory PID" );
@@ -812,10 +814,30 @@
             appendProperty( val, refs[i], ComponentConstants.COMPONENT_FACTORY, "Component Factory" );
             appendProperty( val, refs[i], Constants.SERVICE_DESCRIPTION, "Description" );
             appendProperty( val, refs[i], Constants.SERVICE_VENDOR, "Vendor" );
-
+            
             keyVal( jw, key, val);
         }
     }
+    
+    
+    private void listHeaders( JSONWriter jw, Bundle bundle ) throws JSONException
+    {
+        JSONArray val = new JSONArray();
+
+        Dictionary headers = bundle.getHeaders();
+        Enumeration he = headers.keys();
+        while ( he.hasMoreElements() )
+        {
+            Object header = he.nextElement();
+            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 " );
+            val.put( header + ": " + value );
+        }
+
+        keyVal( jw, "Manifest Headers", val );
+    }
 
 
     private void appendProperty( JSONArray array, ServiceReference ref, String name, String label )