[jboss-cvs] JBossAS SVN: r96582 - in projects/jboss-osgi/trunk/reactor/framework/src: main/java/org/jboss/osgi/framework/resolver/internal and 8 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 19 10:59:12 EST 2009


Author: thomas.diesler at jboss.com
Date: 2009-11-19 10:59:11 -0500 (Thu, 19 Nov 2009)
New Revision: 96582

Added:
   projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattribute/
   projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattribute/META-INF/
   projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattribute/META-INF/MANIFEST.MF
   projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattributemandatory/
   projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattributemandatory/META-INF/
   projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattributemandatory/META-INF/MANIFEST.MF
   projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageimportattribute/
   projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageimportattributefails/
Modified:
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ExportPackage.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ImportPackage.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ExportPackageImpl.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ImportPackageImpl.java
   projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/AbstractImportExportTest.java
   projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/ResolverMetadataTest.java
   projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageimportattribute/META-INF/MANIFEST.MF
   projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageimportattributefails/META-INF/MANIFEST.MF
Log:
Package attribute matching in resolver - WIP

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ExportPackage.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ExportPackage.java	2009-11-19 15:27:17 UTC (rev 96581)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ExportPackage.java	2009-11-19 15:59:11 UTC (rev 96582)
@@ -21,7 +21,6 @@
  */
 package org.jboss.osgi.framework.resolver;
 
-import java.util.List;
 import java.util.Set;
 
 import org.osgi.framework.Version;
@@ -42,32 +41,32 @@
    Version getVersion();
    
    /**
-    * Get the list of packages that is used by this export.
+    * Get the set of packages that is used by this export.
     * 
     * @return the list of uses
     */
-   List<String> getUses();
+   Set<String> getUses();
    
    /**
-    * Get the list of mandadtory attributes declared by this export.
+    * Get the set of mandadtory attributes declared by this export.
     * 
     * @return An empty list if there are no mandatory exports declared.
     */
-   List<String> getMandatoryAttributes();
+   Set<String> getMandatory();
    
    /**
-    * Get the list of included classes in this package export.
+    * Get the set of included classes in this package export.
     * 
     * @return Null if there are no includes defined.
     */
-   List<String> getIncludes();
+   Set<String> getIncludes();
    
    /**
-    * Get the list of excluded classes in this package export.
+    * Get the set of excluded classes in this package export.
     * 
     * @return Null if there are no excludes defined.
     */
-   List<String> getExcludes();
+   Set<String> getExcludes();
 
    /**
     * Get the current set of importers of this export package.

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ImportPackage.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ImportPackage.java	2009-11-19 15:27:17 UTC (rev 96581)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ImportPackage.java	2009-11-19 15:59:11 UTC (rev 96582)
@@ -58,6 +58,21 @@
    boolean isOptional();
    
    /**
+    * Match the attributes of the given export package
+    * 
+    * In order for an import definition to be resolved to an export definition, 
+    * the values of the attributes specified by the import definition must match the values
+    * of the attributes of the export definition. By default, a match is not prevented 
+    * if the export definition contains attributes that do not occur in the import definition.
+    *  
+    * The mandatory directive in the export definition can reverse this by listing all 
+    * attributes that the Framework must match in the import definition.
+    *  
+    * @return true if the attributes match
+    */
+   boolean matchAttributes(ExportPackage exportPackage);
+   
+   /**
     * Get the exporter that this import  package is wired to.
     * 
     * @return Null if the import is not yet resolved. 

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ExportPackageImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ExportPackageImpl.java	2009-11-19 15:27:17 UTC (rev 96581)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ExportPackageImpl.java	2009-11-19 15:59:11 UTC (rev 96582)
@@ -21,11 +21,9 @@
  */
 package org.jboss.osgi.framework.resolver.internal;
 
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Set;
 
 import org.jboss.osgi.framework.metadata.Parameter;
@@ -57,38 +55,44 @@
       return Version.parseVersion(version != null ? version.getValue().toString() : null);
    }
 
-   public List<String> getUses()
+   public Set<String> getUses()
    {
-      return getDirectiveValueList(Constants.USES_DIRECTIVE);
+      return getDirectiveValues(Constants.USES_DIRECTIVE);
    }
 
-   public List<String> getExcludes()
+   public Set<String> getExcludes()
    {
-      List<String> valueList = getDirectiveValueList(Constants.EXCLUDE_DIRECTIVE);
+      Set<String> valueList = getDirectiveValues(Constants.EXCLUDE_DIRECTIVE);
       return valueList.isEmpty() ? null : valueList;
    }
 
-   public List<String> getIncludes()
+   public Set<String> getIncludes()
    {
-      List<String> valueList = getDirectiveValueList(Constants.INCLUDE_DIRECTIVE);
+      Set<String> valueList = getDirectiveValues(Constants.INCLUDE_DIRECTIVE);
       return valueList.isEmpty() ? null : valueList;
    }
 
-   public List<String> getMandatoryAttributes()
+   public Set<String> getMandatory()
    {
-      return getDirectiveValueList(Constants.MANDATORY_DIRECTIVE);
+      return getDirectiveValues(Constants.MANDATORY_DIRECTIVE);
    }
 
    @SuppressWarnings("unchecked")
-   private List<String> getDirectiveValueList(String key)
+   private Set<String> getDirectiveValues(String key)
    {
-      List<String> valueList = new ArrayList<String>();
+      Set<String> valueList = new HashSet<String>();
       Parameter directive = getParameterizedAttribute().getDirective(key);
       if (directive != null)
       {
-         valueList.addAll((Collection<String>)directive.getValue());
+         Object value = directive.getValue();
+         if (value instanceof Collection<?>)
+            valueList.addAll((Collection<String>)value);
+         else if (value instanceof String)
+            valueList.add((String)value);
+         else
+            throw new IllegalStateException("Invalid directive value: " + value);
       }
-      return Collections.unmodifiableList(valueList);
+      return Collections.unmodifiableSet(valueList);
    }
 
    public Set<ImportPackage> getImporters()

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ImportPackageImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ImportPackageImpl.java	2009-11-19 15:27:17 UTC (rev 96581)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ImportPackageImpl.java	2009-11-19 15:59:11 UTC (rev 96582)
@@ -21,6 +21,8 @@
  */
 package org.jboss.osgi.framework.resolver.internal;
 
+import java.util.Set;
+
 import org.jboss.osgi.framework.metadata.Parameter;
 import org.jboss.osgi.framework.metadata.ParameterizedAttribute;
 import org.jboss.osgi.framework.metadata.VersionRange;
@@ -74,6 +76,19 @@
       return optional;
    }
 
+   public boolean matchAttributes(ExportPackage exportPackage)
+   {
+      if (exportPackage == null)
+         throw new IllegalArgumentException("Null exportPackage");
+      
+      boolean match = false;
+      Set<String> importAttributes = getAttributes();
+      Set<String> exportAttributes = exportPackage.getAttributes();
+      Set<String> mandatoryAttributes = exportPackage.getMandatory();
+      
+      return match;
+   }
+
    public ExportPackage getExporter()
    {
       return exporter;

Modified: projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/AbstractImportExportTest.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/AbstractImportExportTest.java	2009-11-19 15:27:17 UTC (rev 96581)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/AbstractImportExportTest.java	2009-11-19 15:59:11 UTC (rev 96582)
@@ -1231,12 +1231,12 @@
    */
    
    @Test
-   public void testAttributeImportPackage() throws Exception
+   public void testImportPackageAttribute() throws Exception
    {
    }
 
    @Test
-   public void testAttributeImportPackageFails() throws Exception
+   public void testImportPackageAttributeFails() throws Exception
    {
    }
 }
\ No newline at end of file

Modified: projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/ResolverMetadataTest.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/ResolverMetadataTest.java	2009-11-19 15:27:17 UTC (rev 96581)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/ResolverMetadataTest.java	2009-11-19 15:59:11 UTC (rev 96582)
@@ -30,14 +30,16 @@
 import static org.junit.Assert.assertTrue;
 
 import java.util.List;
+import java.util.Set;
 
 import org.jboss.osgi.framework.resolver.ExportPackage;
 import org.jboss.osgi.framework.resolver.ImportPackage;
 import org.jboss.osgi.framework.resolver.RequiredBundle;
+import org.jboss.osgi.framework.resolver.Resolver;
 import org.jboss.osgi.framework.resolver.ResolverBundle;
-import org.jboss.osgi.framework.resolver.Resolver;
 import org.jboss.test.osgi.classloader.support.a.A;
 import org.jboss.virtual.VirtualFile;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.Version;
@@ -62,39 +64,39 @@
          Resolver resolver = getTestResolver();
          assertEquals(1, resolver.getBundles().size());
          
-         ResolverBundle resolvableA = resolver.getBundle(bundleA.getSymbolicName(), null);
-         assertNotNull("Resolvable not null", resolvableA);
+         ResolverBundle resBundleA = resolver.getBundle(bundleA.getSymbolicName(), null);
+         assertNotNull("Resolvable not null", resBundleA);
          
-         resolvableA = resolver.getBundle(bundleA.getSymbolicName(), bundleA.getVersion());
-         assertNotNull("Resolvable not null", resolvableA);
+         resBundleA = resolver.getBundle(bundleA.getSymbolicName(), bundleA.getVersion());
+         assertNotNull("Resolvable not null", resBundleA);
          
-         resolvableA = resolver.getBundle(bundleA);
-         assertNotNull("Resolvable not null", resolvableA);
+         resBundleA = resolver.getBundle(bundleA);
+         assertNotNull("Resolvable not null", resBundleA);
          
-         assertNotNull(resolvableA.getBundle());
-         assertEquals("simpleexport", resolvableA.getSymbolicName());
-         assertEquals(Version.emptyVersion, resolvableA.getVersion());
+         assertNotNull(resBundleA.getBundle());
+         assertEquals("simpleexport", resBundleA.getSymbolicName());
+         assertEquals(Version.emptyVersion, resBundleA.getVersion());
          
-         List<ExportPackage> exportPackages = resolvableA.getExportPackages();
+         List<ExportPackage> exportPackages = resBundleA.getExportPackages();
          assertNotNull("ExportPackages not null", exportPackages);
          assertEquals(1, exportPackages.size());
          
-         ExportPackage exportPackage = resolvableA.getExportPackage("org.jboss.test.osgi.classloader.support.a");
+         ExportPackage exportPackage = resBundleA.getExportPackage("org.jboss.test.osgi.classloader.support.a");
          assertNotNull("ExportPackage not null", exportPackage);
          assertEquals("org.jboss.test.osgi.classloader.support.a", exportPackage.getName());
 
          assertEquals(Version.emptyVersion, exportPackage.getVersion());
          assertEquals(0, exportPackage.getUses().size());
-         assertEquals(0, exportPackage.getMandatoryAttributes().size());
+         assertEquals(0, exportPackage.getMandatory().size());
          assertNull("Null includes", exportPackage.getIncludes());
          assertNull("Null excludes", exportPackage.getExcludes());
          
-         List<ImportPackage> importPackages = resolvableA.getImportPackages();
+         List<ImportPackage> importPackages = resBundleA.getImportPackages();
          assertNotNull("ImportPackages not null", importPackages);
          assertEquals(0, importPackages.size());
          
-         assertFalse("No sigleton", resolvableA.isSingleton());
-         assertFalse("Not resolved", resolvableA.isResolved());
+         assertFalse("No sigleton", resBundleA.isSingleton());
+         assertFalse("Not resolved", resBundleA.isResolved());
       }
       finally
       {
@@ -111,13 +113,13 @@
       Bundle bundleA = framework.installBundle(fileA);
       try
       {
-         ResolverBundle resolvableA = getTestResolver().getBundle(bundleA);
+         ResolverBundle resBundleA = getTestResolver().getBundle(bundleA);
          
-         List<ImportPackage> importPackages = resolvableA.getImportPackages();
+         List<ImportPackage> importPackages = resBundleA.getImportPackages();
          assertNotNull("ImportPackages not null", importPackages);
          assertEquals(1, importPackages.size());
 
-         ImportPackage importPackage = resolvableA.getImportPackage("org.jboss.test.osgi.classloader.support.a");
+         ImportPackage importPackage = resBundleA.getImportPackage("org.jboss.test.osgi.classloader.support.a");
          assertNotNull("ImportPackage not null", importPackage);
          assertEquals("org.jboss.test.osgi.classloader.support.a", importPackage.getName());
 
@@ -140,8 +142,8 @@
       Bundle bundleA = framework.installBundle(fileA);
       try
       {
-         ResolverBundle resolvableA = getTestResolver().getBundle(bundleA);
-         assertTrue("Sigleton", resolvableA.isSingleton());
+         ResolverBundle resBundleA = getTestResolver().getBundle(bundleA);
+         assertTrue("Sigleton", resBundleA.isSingleton());
       }
       finally
       {
@@ -158,8 +160,8 @@
       Bundle bundleA = framework.installBundle(fileA);
       try
       {
-         ResolverBundle resolvableA = getTestResolver().getBundle(bundleA);
-         List<RequiredBundle> requiredBundles = resolvableA.getRequiredBundles();
+         ResolverBundle resBundleA = getTestResolver().getBundle(bundleA);
+         List<RequiredBundle> requiredBundles = resBundleA.getRequiredBundles();
          assertEquals("RequiredBundles not null", 1, requiredBundles.size());
          RequiredBundle reqBundle = requiredBundles.get(0);
          assertEquals("simpleexport", reqBundle.getSymbolicName());
@@ -181,8 +183,8 @@
       Bundle bundleA = framework.installBundle(fileA);
       try
       {
-         ResolverBundle resolvableA = getTestResolver().getBundle(bundleA);
-         List<RequiredBundle> requiredBundles = resolvableA.getRequiredBundles();
+         ResolverBundle resBundleA = getTestResolver().getBundle(bundleA);
+         List<RequiredBundle> requiredBundles = resBundleA.getRequiredBundles();
          assertEquals("RequiredBundles not null", 1, requiredBundles.size());
          RequiredBundle reqBundle = requiredBundles.get(0);
          assertEquals("simpleexport", reqBundle.getSymbolicName());
@@ -204,8 +206,8 @@
       Bundle bundleA = framework.installBundle(fileA);
       try
       {
-         ResolverBundle resolvableA = getTestResolver().getBundle(bundleA);
-         List<RequiredBundle> requiredBundles = resolvableA.getRequiredBundles();
+         ResolverBundle resBundleA = getTestResolver().getBundle(bundleA);
+         List<RequiredBundle> requiredBundles = resBundleA.getRequiredBundles();
          assertEquals("RequiredBundles not null", 1, requiredBundles.size());
          RequiredBundle reqBundle = requiredBundles.get(0);
          assertEquals("simpleexport", reqBundle.getSymbolicName());
@@ -217,4 +219,62 @@
          bundleA.uninstall();
       }
    }
+
+   @Ignore
+   public void testPackageAttribute() throws Exception
+   {
+      //Bundle-SymbolicName: packageexportattribute
+      //Export-Package: org.jboss.test.osgi.classloader.support.a;test=x
+      VirtualFile fileA = assembleBundle("bundleA", "/bundles/resolver/packageexportattribute");
+      Bundle bundleA = framework.installBundle(fileA);
+      try
+      {
+         ResolverBundle resBundleA = getTestResolver().getBundle(bundleA);
+         ExportPackage exportPackage = resBundleA.getExportPackage("org.jboss.test.osgi.classloader.support.a");
+         Set<String> attributes = exportPackage.getAttributes();
+         assertTrue("Contains attr", attributes.contains("test"));
+         assertEquals("x", exportPackage.getAttribute("test"));
+         
+         //Bundle-SymbolicName: simpleimport
+         //Import-Package: org.jboss.test.osgi.classloader.support.a
+         VirtualFile fileB = assembleBundle("bundleA", "/bundles/resolver/simpleimport");
+         Bundle bundleB = framework.installBundle(fileB);
+         try
+         {
+            ResolverBundle resBundleB = getTestResolver().getBundle(bundleB);
+            ImportPackage importPackage = resBundleB.getImportPackage("org.jboss.test.osgi.classloader.support.a");
+         }
+         finally
+         {
+            bundleB.uninstall();
+         }
+      }
+      finally
+      {
+         bundleA.uninstall();
+      }
+   }
+
+   @Ignore
+   public void testPackageAttributeMandatory() throws Exception
+   {
+      //Bundle-SymbolicName: packageexportattributemandatory
+      //Export-Package: org.jboss.test.osgi.classloader.support.a;test=x;mandatory:=test
+      VirtualFile fileA = assembleBundle("bundleA", "/bundles/resolver/packageexportattributemandatory");
+      Bundle bundleA = framework.installBundle(fileA);
+      try
+      {
+         ResolverBundle resBundleA = getTestResolver().getBundle(bundleA);
+         ExportPackage exportPackage = resBundleA.getExportPackage("org.jboss.test.osgi.classloader.support.a");
+         Set<String> attributes = exportPackage.getAttributes();
+         assertTrue("Contains test", attributes.contains("test"));
+         assertEquals("x", exportPackage.getAttribute("test"));
+         Set<String> mandatory = exportPackage.getMandatory();
+         assertTrue("Contains test", mandatory.contains("test"));
+      }
+      finally
+      {
+         bundleA.uninstall();
+      }
+   }
 }
\ No newline at end of file

Added: projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattribute/META-INF/MANIFEST.MF
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattribute/META-INF/MANIFEST.MF	                        (rev 0)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattribute/META-INF/MANIFEST.MF	2009-11-19 15:59:11 UTC (rev 96582)
@@ -0,0 +1,3 @@
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: packageexportattribute
+Export-Package: org.jboss.test.osgi.classloader.support.a;test=x

Added: projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattributemandatory/META-INF/MANIFEST.MF
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattributemandatory/META-INF/MANIFEST.MF	                        (rev 0)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageexportattributemandatory/META-INF/MANIFEST.MF	2009-11-19 15:59:11 UTC (rev 96582)
@@ -0,0 +1,3 @@
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: packageexportattributemandatory
+Export-Package: org.jboss.test.osgi.classloader.support.a;test=x;mandatory:=test

Copied: projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageimportattribute (from rev 96553, projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/classloader/attributeimportpackageA)

Modified: projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageimportattribute/META-INF/MANIFEST.MF
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/classloader/attributeimportpackageA/META-INF/MANIFEST.MF	2009-11-19 07:09:26 UTC (rev 96553)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageimportattribute/META-INF/MANIFEST.MF	2009-11-19 15:59:11 UTC (rev 96582)
@@ -1,7 +1,3 @@
-Manifest-Version: 1.0
-Implementation-Title: JBoss OSGi tests
-Implementation-Version: test
-Implementation-Vendor: jboss.org
-Bundle-Name: BundleB
-Bundle-SymbolicName: org.jboss.test.osgi.classloader.bundleB
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: packageimportattribute
 Import-Package: org.jboss.test.osgi.classloader.support.a;test=x

Copied: projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageimportattributefails (from rev 96553, projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/classloader/attributeimportpackagefails)

Modified: projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageimportattributefails/META-INF/MANIFEST.MF
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/classloader/attributeimportpackagefails/META-INF/MANIFEST.MF	2009-11-19 07:09:26 UTC (rev 96553)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/resolver/packageimportattributefails/META-INF/MANIFEST.MF	2009-11-19 15:59:11 UTC (rev 96582)
@@ -1,7 +1,3 @@
-Manifest-Version: 1.0
-Implementation-Title: JBoss OSGi tests
-Implementation-Version: test
-Implementation-Vendor: jboss.org
-Bundle-Name: BundleB
-Bundle-SymbolicName: org.jboss.test.osgi.classloader.bundleB
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: packageimportattributefails
 Import-Package: org.jboss.test.osgi.classloader.support.a;test=y




More information about the jboss-cvs-commits mailing list