You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2009/04/30 11:49:56 UTC

svn commit: r770133 - in /felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test: recipes/ src/org/apache/felix/framework/test/ src/org/apache/felix/framework/test/fragment/b5/ src/resource/

Author: rickhall
Date: Thu Apr 30 09:49:55 2009
New Revision: 770133

URL: http://svn.apache.org/viewvc?rev=770133&view=rev
Log:
Added another fragment test.

Added:
    felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource1.v1.txt
    felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource1.v2.txt
    felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource2.v2.txt
Modified:
    felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b2.bnd
    felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b3.bnd
    felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b5.bnd
    felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/TestFragment.java
    felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b5/Activator.java

Modified: felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b2.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b2.bnd?rev=770133&r1=770132&r2=770133&view=diff
==============================================================================
--- felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b2.bnd (original)
+++ felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b2.bnd Thu Apr 30 09:49:55 2009
@@ -1,5 +1,4 @@
 Bundle-SymbolicName: org.apache.felix.framework.test.fragment.b2
--resourceonly : true
 Fragment-Host: org.apache.felix.framework.test.fragment.b1
-Export-Package: org.apache.felix.framework.test.fragment.b2
-Include-Resource: org/apache/felix/framework/test/fragment/b1/Message_fr.properties=src/resource/Message_fr.properties
+Export-Package: org.apache.felix.framework.test.fragment.b2,org.apache.felix.framework.test.fragment.resources;version=1
+Include-Resource: org/apache/felix/framework/test/fragment/b1/Message_fr.properties=src/resource/Message_fr.properties, org/apache/felix/framework/test/fragment/resources/fragment.resource1.txt=src/resource/fragment.resource1.v1.txt

Modified: felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b3.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b3.bnd?rev=770133&r1=770132&r2=770133&view=diff
==============================================================================
--- felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b3.bnd (original)
+++ felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b3.bnd Thu Apr 30 09:49:55 2009
@@ -1,3 +1,5 @@
 Bundle-SymbolicName: org.apache.felix.framework.test.fragment.b3
 Fragment-Host: org.apache.felix.framework.test.fragment.b1
 Private-Package: org.apache.felix.framework.test.fragment.b3
+Export-Package: org.apache.felix.framework.test.fragment.b3,org.apache.felix.framework.test.fragment.resources;version=2
+Include-Resource: org/apache/felix/framework/test/fragment/resources/fragment.resource1.txt=src/resource/fragment.resource1.v2.txt, org/apache/felix/framework/test/fragment/resources/fragment.resource2.txt=src/resource/fragment.resource2.v2.txt

Modified: felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b5.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b5.bnd?rev=770133&r1=770132&r2=770133&view=diff
==============================================================================
--- felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b5.bnd (original)
+++ felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b5.bnd Thu Apr 30 09:49:55 2009
@@ -1,3 +1,4 @@
 Bundle-SymbolicName: org.apache.felix.framework.test.fragment.b5
 Private-Package: org.apache.felix.framework.test.fragment.b5
 Bundle-Activator: org.apache.felix.framework.test.fragment.b5.Activator
+Import-Package: org.apache.felix.framework.test.fragment.resources;version=2,*

Modified: felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/TestFragment.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/TestFragment.java?rev=770133&r1=770132&r2=770133&view=diff
==============================================================================
--- felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/TestFragment.java (original)
+++ felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/TestFragment.java Thu Apr 30 09:49:55 2009
@@ -18,7 +18,10 @@
  */
 package org.apache.felix.framework.test;
 
+import java.io.BufferedReader;
 import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
 import java.util.Locale;
 import java.util.ResourceBundle;
 import org.osgi.framework.Bundle;
@@ -30,6 +33,7 @@
     private Bundle m_bundleA = null;
     private Bundle m_bundleB = null;
     private Bundle m_bundleC = null;
+    private Bundle m_bundleD = null;
 
     public void testFragmentAttachment() throws Exception
     {
@@ -178,8 +182,8 @@
         {
             is = this.getClass().getClassLoader().getResourceAsStream("fragment.b1.jar");
             m_bundleA = getBundleContext().installBundle("fragment.b1.jar", is);
-            is = this.getClass().getClassLoader().getResourceAsStream("fragment.b2.jar");
-            m_bundleB = getBundleContext().installBundle("fragment.b2.jar", is);
+            is = this.getClass().getClassLoader().getResourceAsStream("fragment.b3.jar");
+            m_bundleB = getBundleContext().installBundle("fragment.b3.jar", is);
             is = this.getClass().getClassLoader().getResourceAsStream("fragment.b5.jar");
             m_bundleC = getBundleContext().installBundle("fragment.b5.jar", is);
             m_bundleC.start();
@@ -224,6 +228,38 @@
         {
             cleanup();
         }
+
+        // Scenario #2
+        //
+        // Install host, fragment exporting v1 package, fragment exporting
+        // v2 package, and bundle importing v2 package. Start the importing
+        // bundle and verify it has access.
+        try
+        {
+            is = this.getClass().getClassLoader().getResourceAsStream("fragment.b1.jar");
+            m_bundleA = getBundleContext().installBundle("fragment.b1.jar", is);
+            is = this.getClass().getClassLoader().getResourceAsStream("fragment.b2.jar");
+            m_bundleB = getBundleContext().installBundle("fragment.b2.jar", is);
+            is = this.getClass().getClassLoader().getResourceAsStream("fragment.b3.jar");
+            m_bundleC = getBundleContext().installBundle("fragment.b3.jar", is);
+            is = this.getClass().getClassLoader().getResourceAsStream("fragment.b5.jar");
+            m_bundleD = getBundleContext().installBundle("fragment.b5.jar", is);
+            m_bundleD.start();
+            URL r1 = m_bundleD.getResource("org/apache/felix/framework/test/fragment/resources/fragment.resource1.txt");
+            assertNotNull("Resource should be visible", r1);
+            URL r2 = m_bundleD.getResource("org/apache/felix/framework/test/fragment/resources/fragment.resource2.txt");
+            assertNotNull("Resource should be visible", r2);
+            BufferedReader br = new BufferedReader(new InputStreamReader(r1.openStream()));
+            assertEquals("Should be version 1", br.readLine(), "1");
+            br.close();
+            br = new BufferedReader(new InputStreamReader(r2.openStream()));
+            assertEquals("Should be version 2", br.readLine(), "2");
+            br.close();
+        }
+        finally
+        {
+            cleanup();
+        }
     }
 
     public void testFragmentImports() throws Exception
@@ -318,6 +354,18 @@
             }
             m_bundleC = null;
         }
+        if (m_bundleD != null)
+        {
+            try
+            {
+                m_bundleD.uninstall();
+            }
+            catch (Exception ex)
+            {
+                // Ummm?
+            }
+            m_bundleD = null;
+        }
         refreshAndWait();
     }
 }
\ No newline at end of file

Modified: felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b5/Activator.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b5/Activator.java?rev=770133&r1=770132&r2=770133&view=diff
==============================================================================
--- felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b5/Activator.java (original)
+++ felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b5/Activator.java Thu Apr 30 09:49:55 2009
@@ -18,7 +18,7 @@
  */
 package org.apache.felix.framework.test.fragment.b5;
 
-import org.apache.felix.framework.test.fragment.b2.FragmentClass;
+import org.apache.felix.framework.test.fragment.b3.FragmentClass;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 

Added: felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource1.v1.txt
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource1.v1.txt?rev=770133&view=auto
==============================================================================
--- felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource1.v1.txt (added)
+++ felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource1.v1.txt Thu Apr 30 09:49:55 2009
@@ -0,0 +1 @@
+1
\ No newline at end of file

Added: felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource1.v2.txt
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource1.v2.txt?rev=770133&view=auto
==============================================================================
--- felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource1.v2.txt (added)
+++ felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource1.v2.txt Thu Apr 30 09:49:55 2009
@@ -0,0 +1 @@
+2
\ No newline at end of file

Added: felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource2.v2.txt
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource2.v2.txt?rev=770133&view=auto
==============================================================================
--- felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource2.v2.txt (added)
+++ felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/resource/fragment.resource2.v2.txt Thu Apr 30 09:49:55 2009
@@ -0,0 +1 @@
+2
\ No newline at end of file