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/12/16 16:24:27 UTC

svn commit: r891275 - /felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java

Author: rickhall
Date: Wed Dec 16 15:24:27 2009
New Revision: 891275

URL: http://svn.apache.org/viewvc?rev=891275&view=rev
Log:
Added another scenario.

Modified:
    felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java

Modified: felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java?rev=891275&r1=891274&r2=891275&view=diff
==============================================================================
--- felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java (original)
+++ felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java Wed Dec 16 15:24:27 2009
@@ -560,7 +560,10 @@
     }
 
     // SOLUTION:
-    // B: foo->C
+    // A: fooB->B, fooC->C, fooD->D
+    // B: fooE->E
+    // C: fooE->E
+    // D: fooE->E
     private static Module scenario11(List<Module> moduleList)
     {
         Module m, target;
@@ -594,4 +597,37 @@
 
         return target;
     }
+
+    private static Module scenario12(List<Module> moduleList)
+    {
+        Module m, target;
+
+        // Bundle A
+        moduleList.add(
+            target = (m = new Module("A"))
+                .requiring(new RequirementImpl(Capability.MODULE_NAMESPACE).with("bundle-symbolic-name=B"))
+                .requiring(new RequirementImpl(Capability.MODULE_NAMESPACE).with("bundle-symbolic-name=C")));
+        // Bundle B
+        moduleList.add(
+            (m = new Module("B"))
+                .providing(new CapabilityImpl(m, Capability.MODULE_NAMESPACE).with("bundle-symbolic-name=B"))
+                .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=bar").using("foo"))
+                .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=foo").with("version=[1.0.0,2.0.0)")));
+        // Bundle C
+        moduleList.add(
+            (m = new Module("C"))
+                .providing(new CapabilityImpl(m, Capability.MODULE_NAMESPACE).with("bundle-symbolic-name=C"))
+                .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=bar").using("foo"))
+                .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=foo").with("version=[2.0.0,3.0.0)")));
+        // Bundle D
+        moduleList.add(
+            (m = new Module("D"))
+                .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=foo").with("version=1.0.0")));
+        // Bundle E
+        moduleList.add(
+            (m = new Module("E"))
+                .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=foo").with("version=2.0.0")));
+
+        return target;
+    }
 }
\ No newline at end of file