Fixed a bug in calculating the system bundle's exported packages; it was
not ignoring non-package capabilities and was ending up with a null exported
package.


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@691770 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java b/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
index 70dc4ae..63b8880 100644
--- a/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
+++ b/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
@@ -442,17 +442,23 @@
 
         for (int i = 0; (m_capabilities != null) && (i < m_capabilities.length); i++)
         {
-            if (i > 0)
+            if (m_capabilities[i].getNamespace().equals(ICapability.PACKAGE_NAMESPACE))
             {
-                exportSB.append(", ");
+                // Add a comma separate if there is an existing package.
+                if (exportSB.length() > 0)
+                {
+                    exportSB.append(", ");
+                }
+
+                // Append exported package information.
+                exportSB.append(((Capability) m_capabilities[i]).getPackageName());
+                exportSB.append("; version=\"");
+                exportSB.append(((Capability) m_capabilities[i]).getPackageVersion().toString());
+                exportSB.append("\"");
+
+                // Remember exported packages.
+                exportNames.add(((Capability) m_capabilities[i]).getPackageName());
             }
-
-            exportSB.append(((Capability) m_capabilities[i]).getPackageName());
-            exportSB.append("; version=\"");
-            exportSB.append(((Capability) m_capabilities[i]).getPackageVersion().toString());
-            exportSB.append("\"");
-
-            exportNames.add(((Capability) m_capabilities[i]).getPackageName());
         }
 
         m_exportNames = exportNames;