Modifications to mangen to work with recent Felix changes to manifest reading classes.

git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@497031 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tools/mangen/src/main/java/org/apache/felix/tool/mangen/BundleJar.java b/tools/mangen/src/main/java/org/apache/felix/tool/mangen/BundleJar.java
index cbe878e..c13fd95 100644
--- a/tools/mangen/src/main/java/org/apache/felix/tool/mangen/BundleJar.java
+++ b/tools/mangen/src/main/java/org/apache/felix/tool/mangen/BundleJar.java
@@ -173,7 +173,7 @@
      */

     public Set getCurrentExports()

     {

-        return OsgiPackage.createFromHeaders(mainAttributes.getValue(Constants.EXPORT_PACKAGE));

+        return OsgiPackage.createFromHeaders(mainAttributes.getValue(Constants.EXPORT_PACKAGE), true);

     }

     

     /**

@@ -181,7 +181,7 @@
      */

     public Set getCurrentImports()

     {

-        return OsgiPackage.createFromHeaders(mainAttributes.getValue(Constants.IMPORT_PACKAGE));

+        return OsgiPackage.createFromHeaders(mainAttributes.getValue(Constants.IMPORT_PACKAGE), false);

     }

     

     /**

@@ -190,7 +190,7 @@
      */

     public Set getFixedExports()

     {

-        return OsgiPackage.createFromHeaders(mangenAttributes.getValue(Constants.EXPORT_PACKAGE));

+        return OsgiPackage.createFromHeaders(mangenAttributes.getValue(Constants.EXPORT_PACKAGE), true);

     }

     

     /**

@@ -199,7 +199,7 @@
      */

     public Set getFixedImports()

     {

-        return OsgiPackage.createFromHeaders(mangenAttributes.getValue(Constants.IMPORT_PACKAGE));

+        return OsgiPackage.createFromHeaders(mangenAttributes.getValue(Constants.IMPORT_PACKAGE), false);

     }

     

     /**

diff --git a/tools/mangen/src/main/java/org/apache/felix/tool/mangen/OsgiPackage.java b/tools/mangen/src/main/java/org/apache/felix/tool/mangen/OsgiPackage.java
index eb0fcdc..e8a5f6b 100644
--- a/tools/mangen/src/main/java/org/apache/felix/tool/mangen/OsgiPackage.java
+++ b/tools/mangen/src/main/java/org/apache/felix/tool/mangen/OsgiPackage.java
@@ -56,7 +56,7 @@
      * strings which contain ";" (the header attribute separator char). All

      * others we create as simple string packages

      */

-    public static Set createFromHeaders(String headers)

+    public static Set createFromHeaders(String headers, boolean export)

     {

         Set set = getNewSet();

         

@@ -70,7 +70,7 @@
                 if (pkgString.indexOf(';') != -1)

                 {

                     // parse and add all R4 packages contained (can be multiple)

-                    R4Package[]  pkgs = ManifestParser.parseImportExportHeader(pkgString);

+                    R4Package[]  pkgs = ManifestParser.parseImportExportHeader(pkgString, export);

                     for (int ix = 0; ix < pkgs.length; ix++)

                     {

                         set.add(new OsgiR4Package(pkgs[ix]));

diff --git a/tools/mangen/src/main/java/org/apache/felix/tool/mangen/rule/AttributeStamp.java b/tools/mangen/src/main/java/org/apache/felix/tool/mangen/rule/AttributeStamp.java
index 3847d7e..a87f40d 100644
--- a/tools/mangen/src/main/java/org/apache/felix/tool/mangen/rule/AttributeStamp.java
+++ b/tools/mangen/src/main/java/org/apache/felix/tool/mangen/rule/AttributeStamp.java
@@ -81,8 +81,8 @@
             rptOut.println("");            

             rptOut.println("> " + bund.getName() + " :");            

 

-            stampPackages(bund.getPossibleImports(), "imports");

-            stampPackages(bund.getPossibleExports(), "exports");

+            stampPackages(bund.getPossibleImports(), "imports", false);

+            stampPackages(bund.getPossibleExports(), "exports", true);

         }

     }

     

@@ -113,7 +113,7 @@
      * match will generate warnings and be skipped. 

      *

      */

-    protected void stampPackages(Set set, String qualName)

+    protected void stampPackages(Set set, String qualName, boolean export)

     {

         rptOut.println("");

         rptOut.println("... stamping packages in " + qualName);

@@ -123,7 +123,7 @@
             String stamp = getMatchingPatternString(pkg, qualName, true);

             if (stamp != null)

             {

-                stamp(pkg, stamp, set);

+                stamp(pkg, stamp, set, export);

             }

         }

     }

@@ -132,7 +132,7 @@
      * Stamp the supplied package with the specified attributes. This will be 

      * an error if the package is already an R4 pakage with conflicting attributes.

      */

-    protected void stamp(OsgiPackage pkg, String stamp, Set set)

+    protected void stamp(OsgiPackage pkg, String stamp, Set set, boolean export)

     {

         int delim = stamp.indexOf(";");

         

@@ -145,7 +145,7 @@
         // simple thing is to rebuild an OSGi header with attributes and use OsgiPackage 

         // methods to parse this into an R4 package.

         String hdr = pkg.getName() + stamp.substring(delim);

-        OsgiPackage[] newPkgs = (OsgiPackage[]) OsgiPackage.createFromHeaders(hdr).toArray(new OsgiPackage[0]);

+        OsgiPackage[] newPkgs = (OsgiPackage[]) OsgiPackage.createFromHeaders(hdr, export).toArray(new OsgiPackage[0]);

         if (newPkgs.length != 1)

         {

             MangenMain.error(rptOut, "*** ERROR *** stamp doesn't create a single package : " + stamp);