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/04/02 15:30:31 UTC
svn commit: r930266 -
/felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java
Author: rickhall
Date: Fri Apr 2 13:30:30 2010
New Revision: 930266
URL: http://svn.apache.org/viewvc?rev=930266&view=rev
Log:
Add duplicate export 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=930266&r1=930265&r2=930266&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 Fri Apr 2 13:30:30 2010
@@ -1122,4 +1122,37 @@ public class Main
return target;
}
+
+ // SOLUTION:
+ // A: fooB->B, fooC->C, fooD->D
+ // B: fooD->D
+ // C: fooD->D
+ private static Module scenario27(List<Module> moduleList)
+ {
+ Module m, target;
+
+ // Bundle A
+ moduleList.add(
+ target = (m = new Module("A"))
+ .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=fooD"))
+ .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=fooB"))
+ .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=fooC")));
+ // Bundle B
+ moduleList.add(
+ (m = new Module("B"))
+ .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=fooB").using("fooD"))
+ .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=fooD").with("attr=first")));
+ // Bundle C
+ moduleList.add(
+ (m = new Module("C"))
+ .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=fooC").using("fooD"))
+ .requiring(new RequirementImpl(Capability.PACKAGE_NAMESPACE).with("package=fooD").with("attr=second")));
+ // Bundle D
+ moduleList.add(
+ (m = new Module("D"))
+ .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=fooD").with("attr=first"))
+ .providing(new CapabilityImpl(m, Capability.PACKAGE_NAMESPACE).with("package=fooD").with("attr=second")));
+
+ return target;
+ }
}
\ No newline at end of file