You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pa...@apache.org on 2007/09/13 19:25:14 UTC

svn commit: r575376 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java

Author: pauls
Date: Thu Sep 13 10:25:13 2007
New Revision: 575376

URL: http://svn.apache.org/viewvc?rev=575376&view=rev
Log:
Enable support for exporting the same package more then once (FELIX-101).

Modified:
    felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java

Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java?rev=575376&r1=575375&r2=575376&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java Thu Sep 13 10:25:13 2007
@@ -119,32 +119,20 @@
         ICapability[] exportCaps = parseExportHeader(
             (String) headerMap.get(Constants.EXPORT_PACKAGE));
 
-        // Create non-duplicated export array.
-        dupeMap.clear();
+        // Verify that "java.*" packages are not exported.
         for (int capIdx = 0; capIdx < exportCaps.length; capIdx++)
         {
             // Verify that the named package has not already been declared.
             String pkgName = (String)
                 exportCaps[capIdx].getProperties().get(ICapability.PACKAGE_PROPERTY);
-            if (dupeMap.get(pkgName) == null)
+            // Verify that java.* packages are not exported.
+            if (pkgName.startsWith("java."))
             {
-                // Verify that java.* packages are not exported.
-                if (pkgName.startsWith("java."))
-                {
-                    throw new BundleException(
-                        "Exporting java.* packages not allowed: " + pkgName);
-                }
-                dupeMap.put(pkgName, exportCaps[capIdx]);
-            }
-            else
-            {
-                // TODO: FRAMEWORK - Exports can be duplicated, so fix this.
-                m_logger.log(Logger.LOG_WARNING, "Duplicate export - " + pkgName);
+                throw new BundleException(
+                    "Exporting java.* packages not allowed: " + pkgName);
             }
+            capList.add(exportCaps[capIdx]);
         }
-
-        // Add export package capabilities to capability list.
-        capList.addAll(dupeMap.values());
 
         // Create an array of all capabilities.
         m_capabilities = (ICapability[]) capList.toArray(new ICapability[capList.size()]);