Class ResolverImpl
- java.lang.Object
-
- org.apache.felix.framework.resolver.ResolverImpl
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ResolverImpl.Blame
private static class
ResolverImpl.Packages
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<Candidates>
m_importPermutations
private Logger
m_logger
private java.util.Map<BundleCapability,java.util.List<BundleCapability>>
m_packageSourcesCache
private java.util.List<Candidates>
m_usesPermutations
-
Constructor Summary
Constructors Constructor Description ResolverImpl(Logger logger)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
calculateExportedPackages(BundleRevision revision, Candidates allCandidates, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)
private void
calculatePackageSpaces(BundleRevision revision, Candidates allCandidates, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, java.util.Map<BundleCapability,java.util.List<BundleRevision>> usesCycleMap, java.util.Set<BundleRevision> cycle)
private void
checkPackageSpaceConsistency(ResolveContext rc, boolean isDynamicImporting, BundleRevision revision, Candidates allCandidates, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, java.util.Map<BundleRevision,java.lang.Object> resultCache)
private static void
dumpRevisionPkgMap(java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)
private static void
dumpRevisionPkgs(BundleRevision revision, ResolverImpl.Packages packages)
private static BundleCapability
getDeclaredCapability(BundleCapability c)
private static BundleRequirement
getDeclaredRequirement(BundleRequirement r)
private static BundleRevision
getDeclaringBundleRevision(BundleRevision br)
private static Candidates
getDynamicImportCandidates(ResolveContext rc, BundleRevision revision, java.lang.String pkgName)
private java.util.List<BundleCapability>
getPackageSources(BundleCapability cap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)
private static java.util.List<BundleCapability>
getPackageSourcesInternal(BundleCapability cap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, java.util.List<BundleCapability> sources, java.util.Set<BundleCapability> cycleMap)
private static BundleCapability
getSatisfyingCapability(ResolveContext rc, Candidates allCandidates, BundleRequirement req)
private boolean
isCompatible(BundleCapability currentCap, BundleCapability candCap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)
private void
mergeCandidatePackage(BundleRevision current, boolean requires, BundleRequirement currentReq, BundleCapability candCap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)
private void
mergeCandidatePackages(BundleRevision current, BundleRequirement currentReq, BundleCapability candCap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, Candidates allCandidates, java.util.Map<BundleRevision,java.util.List<BundleCapability>> cycles)
private void
mergeUses(BundleRevision current, ResolverImpl.Packages currentPkgs, BundleCapability mergeCap, java.util.List<BundleRequirement> blameReqs, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, Candidates allCandidates, java.util.Map<BundleCapability,java.util.List<BundleRevision>> cycleMap)
private static void
permutate(Candidates allCandidates, BundleRequirement req, java.util.List<Candidates> permutations)
private static void
permutateIfNeeded(Candidates allCandidates, BundleRequirement req, java.util.List<Candidates> permutations)
private static java.util.Map<BundleRevision,java.util.List<ResolverWire>>
populateDynamicWireMap(BundleRevision revision, java.lang.String pkgName, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, java.util.Map<BundleRevision,java.util.List<ResolverWire>> wireMap, Candidates allCandidates)
private static java.util.Map<BundleRevision,java.util.List<ResolverWire>>
populateWireMap(BundleRevision revision, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, java.util.Map<BundleRevision,java.util.List<ResolverWire>> wireMap, Candidates allCandidates)
java.util.Map<BundleRevision,java.util.List<ResolverWire>>
resolve(ResolveContext rc)
java.util.Map<BundleRevision,java.util.List<ResolverWire>>
resolve(ResolveContext rc, BundleRevision revision, java.lang.String pkgName)
private static java.lang.String
toStringBlame(ResolveContext rc, Candidates allCandidates, ResolverImpl.Blame blame)
-
-
-
Field Detail
-
m_logger
private final Logger m_logger
-
m_usesPermutations
private final java.util.List<Candidates> m_usesPermutations
-
m_importPermutations
private final java.util.List<Candidates> m_importPermutations
-
m_packageSourcesCache
private java.util.Map<BundleCapability,java.util.List<BundleCapability>> m_packageSourcesCache
-
-
Constructor Detail
-
ResolverImpl
public ResolverImpl(Logger logger)
-
-
Method Detail
-
resolve
public java.util.Map<BundleRevision,java.util.List<ResolverWire>> resolve(ResolveContext rc)
-
resolve
public java.util.Map<BundleRevision,java.util.List<ResolverWire>> resolve(ResolveContext rc, BundleRevision revision, java.lang.String pkgName)
-
getDynamicImportCandidates
private static Candidates getDynamicImportCandidates(ResolveContext rc, BundleRevision revision, java.lang.String pkgName)
-
calculatePackageSpaces
private void calculatePackageSpaces(BundleRevision revision, Candidates allCandidates, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, java.util.Map<BundleCapability,java.util.List<BundleRevision>> usesCycleMap, java.util.Set<BundleRevision> cycle)
-
mergeCandidatePackages
private void mergeCandidatePackages(BundleRevision current, BundleRequirement currentReq, BundleCapability candCap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, Candidates allCandidates, java.util.Map<BundleRevision,java.util.List<BundleCapability>> cycles)
-
mergeCandidatePackage
private void mergeCandidatePackage(BundleRevision current, boolean requires, BundleRequirement currentReq, BundleCapability candCap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)
-
mergeUses
private void mergeUses(BundleRevision current, ResolverImpl.Packages currentPkgs, BundleCapability mergeCap, java.util.List<BundleRequirement> blameReqs, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, Candidates allCandidates, java.util.Map<BundleCapability,java.util.List<BundleRevision>> cycleMap)
-
checkPackageSpaceConsistency
private void checkPackageSpaceConsistency(ResolveContext rc, boolean isDynamicImporting, BundleRevision revision, Candidates allCandidates, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, java.util.Map<BundleRevision,java.lang.Object> resultCache)
-
permutate
private static void permutate(Candidates allCandidates, BundleRequirement req, java.util.List<Candidates> permutations)
-
permutateIfNeeded
private static void permutateIfNeeded(Candidates allCandidates, BundleRequirement req, java.util.List<Candidates> permutations)
-
calculateExportedPackages
private static void calculateExportedPackages(BundleRevision revision, Candidates allCandidates, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)
-
isCompatible
private boolean isCompatible(BundleCapability currentCap, BundleCapability candCap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)
-
getPackageSources
private java.util.List<BundleCapability> getPackageSources(BundleCapability cap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)
-
getPackageSourcesInternal
private static java.util.List<BundleCapability> getPackageSourcesInternal(BundleCapability cap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, java.util.List<BundleCapability> sources, java.util.Set<BundleCapability> cycleMap)
-
getDeclaringBundleRevision
private static BundleRevision getDeclaringBundleRevision(BundleRevision br)
-
getDeclaredCapability
private static BundleCapability getDeclaredCapability(BundleCapability c)
-
getDeclaredRequirement
private static BundleRequirement getDeclaredRequirement(BundleRequirement r)
-
populateWireMap
private static java.util.Map<BundleRevision,java.util.List<ResolverWire>> populateWireMap(BundleRevision revision, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, java.util.Map<BundleRevision,java.util.List<ResolverWire>> wireMap, Candidates allCandidates)
-
populateDynamicWireMap
private static java.util.Map<BundleRevision,java.util.List<ResolverWire>> populateDynamicWireMap(BundleRevision revision, java.lang.String pkgName, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap, java.util.Map<BundleRevision,java.util.List<ResolverWire>> wireMap, Candidates allCandidates)
-
dumpRevisionPkgMap
private static void dumpRevisionPkgMap(java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)
-
dumpRevisionPkgs
private static void dumpRevisionPkgs(BundleRevision revision, ResolverImpl.Packages packages)
-
toStringBlame
private static java.lang.String toStringBlame(ResolveContext rc, Candidates allCandidates, ResolverImpl.Blame blame)
-
getSatisfyingCapability
private static BundleCapability getSatisfyingCapability(ResolveContext rc, Candidates allCandidates, BundleRequirement req)
-
-