Class ResolverImpl
- java.lang.Object
-
- org.apache.felix.framework.resolver.ResolverImpl
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classResolverImpl.Blameprivate static classResolverImpl.Packages
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<Candidates>m_importPermutationsprivate Loggerm_loggerprivate java.util.Map<BundleCapability,java.util.List<BundleCapability>>m_packageSourcesCacheprivate 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 voidcalculateExportedPackages(BundleRevision revision, Candidates allCandidates, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)private voidcalculatePackageSpaces(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 voidcheckPackageSpaceConsistency(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 voiddumpRevisionPkgMap(java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)private static voiddumpRevisionPkgs(BundleRevision revision, ResolverImpl.Packages packages)private static BundleCapabilitygetDeclaredCapability(BundleCapability c)private static BundleRequirementgetDeclaredRequirement(BundleRequirement r)private static BundleRevisiongetDeclaringBundleRevision(BundleRevision br)private static CandidatesgetDynamicImportCandidates(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 BundleCapabilitygetSatisfyingCapability(ResolveContext rc, Candidates allCandidates, BundleRequirement req)private booleanisCompatible(BundleCapability currentCap, BundleCapability candCap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)private voidmergeCandidatePackage(BundleRevision current, boolean requires, BundleRequirement currentReq, BundleCapability candCap, java.util.Map<BundleRevision,ResolverImpl.Packages> revisionPkgMap)private voidmergeCandidatePackages(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 voidmergeUses(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 voidpermutate(Candidates allCandidates, BundleRequirement req, java.util.List<Candidates> permutations)private static voidpermutateIfNeeded(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.StringtoStringBlame(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)
-
-