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 2010/01/05 17:42:38 UTC

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

Author: rickhall
Date: Tue Jan  5 16:42:37 2010
New Revision: 896122

URL: http://svn.apache.org/viewvc?rev=896122&view=rev
Log:
Added some comments to scenarios.

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=896122&r1=896121&r2=896122&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 Tue Jan  5 16:42:37 2010
@@ -616,6 +616,8 @@
         return target;
     }
 
+    // SOLUTION:
+    // A: bar->[B,C]
     private static Module scenario12(List<Module> moduleList)
     {
         Module m, target;
@@ -629,8 +631,8 @@
         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"))
-                .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=bar"))
+                .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=bar").using("foo"))
+//                .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=bar"))
                 .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=foo").with("version=[1.0.0,2.0.0)")));
         // Bundle C
         moduleList.add(
@@ -687,6 +689,8 @@
         return target;
     }
 
+    // SOLUTION:
+    // A: bar->[A,B,C]
     private static Module scenario14(List<Module> moduleList)
     {
         Module m, target;
@@ -711,6 +715,10 @@
         return target;
     }
 
+    // SOLUTION:
+    // A: bar->B, foo->F
+    // B: bar->[B,C,D]
+    // D: foo->F
     private static Module scenario15(List<Module> moduleList)
     {
         Module m, target;
@@ -719,7 +727,7 @@
         moduleList.add(
             target = (m = new Module("A"))
                 .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=bar").with("vendor=B"))
-                .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=foo").with("vendor=E")));
+                .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=foo").with("vendor=F")));
         // Bundle B
         moduleList.add(
             (m = new Module("B"))
@@ -744,11 +752,17 @@
         // Bundle F
         moduleList.add(
             (m = new Module("F"))
-                .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=foo").with("vendor=E")));
+                .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=foo").with("vendor=F")));
 
         return target;
     }
 
+    // SOLUTION:
+    // A: bar->C, foo->B
+    // B: foo->B, bar->[B,C,D]
+// TODO: PROTO3 RESOLVER - Uses constraints are not added to the package space if
+//       there is a matching imported/exported package. It probably still needs to
+//       be to detect future conflicts or does it since the hard constraint rules?
     private static Module scenario16(List<Module> moduleList)
     {
         Module m, target;
@@ -779,6 +793,8 @@
         return target;
     }
 
+    // SOLUTION:
+    // Cannot resolve A's import of bar.
     private static Module scenario17(List<Module> moduleList)
     {
         Module m, target;
@@ -827,6 +843,10 @@
         return target;
     }
 
+    // SOLUTION:
+    // A: foo->B, bar->D, woz->BB
+    // B: bar->[B,C,D]
+    // BB: bar->[BB,CC,D]
     private static Module scenario18(List<Module> moduleList)
     {
         Module m, target;