private List<ResolverConstraint> getConflicts(ResolverBundle[] bundles, Set<String> packageConstraints, Set<String> bundleConstraints, Collection<GenericConstraint> multiRequirementWithMultiSuppliers) { groupingChecker.clear(); List<ResolverConstraint> conflicts = null; for (int i = 0; i < bundles.length; i++) conflicts = addConflicts(bundles[i], packageConstraints, bundleConstraints, multiRequirementWithMultiSuppliers, conflicts); return conflicts; }
PackageRoots getPackageRoots(ResolverBundle bundle, String packageName, List<ResolverBundle> visited) { Map<String, PackageRoots> packages = bundles.get(bundle); if (packages == null) { packages = new HashMap<>(5); bundles.put(bundle, packages); } PackageRoots packageRoots = packages.get(packageName); if (packageRoots == null) { packageRoots = createPackageRoots(bundle, packageName, visited == null ? new ArrayList<ResolverBundle>(1) : visited); packages.put(packageName, packageRoots); } return packageRoots != null ? packageRoots : nullPackageRoots; }
public PackageRoots[][] isConsistent(ResolverBundle requiringBundle, GenericCapability matchingCapability) { String[] uses = matchingCapability.getUsesDirective(); if (uses == null) return null; ArrayList<PackageRoots[]> results = new ArrayList<PackageRoots[]>(0); for (String usedPackage : uses) { PackageRoots providingRoots = getPackageRoots(matchingCapability.getResolverBundle(), usedPackage, null); providingRoots.addConflicts(requiringBundle, usedPackage, null, results); } return results.size() == 0 ? null : results.toArray(new PackageRoots[results.size()][]); }
public PackageRoots[][] isDynamicConsistent(ResolverBundle importingBundle, ResolverExport matchingExport) { List<PackageRoots[]> results = isConsistentInternal(importingBundle, matchingExport, true, null); return results == null ? null : results.toArray(new PackageRoots[results.size()][]); }
groupingChecker.populateRoots(dynamicImport.getBundle()); while (dynamicImport.getSelectedSupplier() != null) { if (groupingChecker.isDynamicConsistent(dynamicImport.getBundle(), (ResolverExport) dynamicImport.getSelectedSupplier()) != null) { groupingChecker.populateRoots(dynamicImport.getBundle(), export);
groupingChecker.clear(); groupingChecker.clear(); for (GenericConstraint multiConstraint : multiRequirementWithMultiSuppliers) { VersionSupplier[] matchingSuppliers = multiConstraint.getMatchingCapabilities(); if (matchingSuppliers != null) { for (VersionSupplier supplier : matchingSuppliers) { if (groupingChecker.isConsistent(multiConstraint.getBundle(), (GenericCapability) supplier) != null) { multiConstraint.removePossibleSupplier(supplier); groupingChecker.clear(); return conflicts;
bundleMapping = new HashMap<BundleDescription, ResolverBundle>(); BundleDescription[] bundles = state.getBundles(); groupingChecker = new GroupingChecker();
for (int i = 0; i < requires.length; i++) { ResolverBundle selectedSupplier = (ResolverBundle) requires[i].getSelectedSupplier(); PackageRoots[][] conflict = selectedSupplier == null ? null : groupingChecker.isConsistent(bundle, selectedSupplier); if (conflict != null) { addConflictNames(conflict, packageConstraints, bundleConstraints); for (int i = 0; i < imports.length; i++) { ResolverExport selectedSupplier = (ResolverExport) imports[i].getSelectedSupplier(); PackageRoots[][] conflict = selectedSupplier == null ? null : groupingChecker.isConsistent(bundle, selectedSupplier); if (conflict != null) { addConflictNames(conflict, packageConstraints, bundleConstraints); continue; for (VersionSupplier supplier : suppliers) { PackageRoots[][] conflict = groupingChecker.isConsistent(bundle, (GenericCapability) supplier); if (conflict != null) { addConflictNames(conflict, packageConstraints, bundleConstraints);
public PackageRoots[][] isDynamicConsistent(ResolverBundle importingBundle, ResolverExport matchingExport) { List<PackageRoots[]> results = isConsistentInternal(importingBundle, matchingExport, true, null); return results == null ? null : results.toArray(new PackageRoots[results.size()][]); }
groupingChecker.populateRoots(dynamicImport.getBundle()); while (dynamicImport.getSelectedSupplier() != null) { if (groupingChecker.isDynamicConsistent(dynamicImport.getBundle(), (ResolverExport) dynamicImport.getSelectedSupplier()) != null) { groupingChecker.populateRoots(dynamicImport.getBundle(), export);
groupingChecker.clear(); groupingChecker.clear(); for (GenericConstraint multiConstraint : multiRequirementWithMultiSuppliers) { VersionSupplier[] matchingSuppliers = multiConstraint.getMatchingCapabilities(); if (matchingSuppliers != null) { for (VersionSupplier supplier : matchingSuppliers) { if (groupingChecker.isConsistent(multiConstraint.getBundle(), (GenericCapability) supplier) != null) { multiConstraint.removePossibleSupplier(supplier); groupingChecker.clear(); return conflicts;
bundleMapping = new HashMap<BundleDescription, ResolverBundle>(); BundleDescription[] bundles = state.getBundles(); groupingChecker = new GroupingChecker();
for (int i = 0; i < requires.length; i++) { ResolverBundle selectedSupplier = (ResolverBundle) requires[i].getSelectedSupplier(); PackageRoots[][] conflict = selectedSupplier == null ? null : groupingChecker.isConsistent(bundle, selectedSupplier); if (conflict != null) { addConflictNames(conflict, packageConstraints, bundleConstraints); for (int i = 0; i < imports.length; i++) { ResolverExport selectedSupplier = (ResolverExport) imports[i].getSelectedSupplier(); PackageRoots[][] conflict = selectedSupplier == null ? null : groupingChecker.isConsistent(bundle, selectedSupplier); if (conflict != null) { addConflictNames(conflict, packageConstraints, bundleConstraints); continue; for (VersionSupplier supplier : suppliers) { PackageRoots[][] conflict = groupingChecker.isConsistent(bundle, (GenericCapability) supplier); if (conflict != null) { addConflictNames(conflict, packageConstraints, bundleConstraints);
public PackageRoots[][] isConsistent(ResolverBundle requiringBundle, GenericCapability matchingCapability) { String[] uses = matchingCapability.getUsesDirective(); if (uses == null) return null; ArrayList<PackageRoots[]> results = new ArrayList<>(0); for (String usedPackage : uses) { PackageRoots providingRoots = getPackageRoots(matchingCapability.getResolverBundle(), usedPackage, null); providingRoots.addConflicts(requiringBundle, usedPackage, null, results); } return results.size() == 0 ? null : results.toArray(new PackageRoots[results.size()][]); }
public PackageRoots[][] isConsistent(ResolverBundle importingBundle, ResolverExport matchingExport) { List<PackageRoots[]> results = isConsistentInternal(importingBundle, matchingExport, false, null); return results == null ? null : results.toArray(new PackageRoots[results.size()][]); }
groupingChecker.populateRoots(dynamicImport.getBundle()); while (dynamicImport.getSelectedSupplier() != null) { if (groupingChecker.isDynamicConsistent(dynamicImport.getBundle(), (ResolverExport) dynamicImport.getSelectedSupplier()) != null) { groupingChecker.populateRoots(dynamicImport.getBundle(), export);
private List<ResolverConstraint> getConflicts(ResolverBundle[] bundles, Set<String> packageConstraints, Set<String> bundleConstraints, Collection<GenericConstraint> multiRequirementWithMultiSuppliers) { groupingChecker.clear(); List<ResolverConstraint> conflicts = null; for (int i = 0; i < bundles.length; i++) conflicts = addConflicts(bundles[i], packageConstraints, bundleConstraints, multiRequirementWithMultiSuppliers, conflicts); return conflicts; }
PackageRoots getPackageRoots(ResolverBundle bundle, String packageName, List<ResolverBundle> visited) { Map<String, PackageRoots> packages = bundles.get(bundle); if (packages == null) { packages = new HashMap<String, PackageRoots>(5); bundles.put(bundle, packages); } PackageRoots packageRoots = packages.get(packageName); if (packageRoots == null) { packageRoots = createPackageRoots(bundle, packageName, visited == null ? new ArrayList<ResolverBundle>(1) : visited); packages.put(packageName, packageRoots); } return packageRoots != null ? packageRoots : nullPackageRoots; }
bundleMapping = new HashMap<>(); BundleDescription[] bundles = state.getBundles(); groupingChecker = new GroupingChecker();
for (int i = 0; i < requires.length; i++) { ResolverBundle selectedSupplier = (ResolverBundle) requires[i].getSelectedSupplier(); PackageRoots[][] conflict = selectedSupplier == null ? null : groupingChecker.isConsistent(bundle, selectedSupplier); if (conflict != null) { addConflictNames(conflict, packageConstraints, bundleConstraints); for (int i = 0; i < imports.length; i++) { ResolverExport selectedSupplier = (ResolverExport) imports[i].getSelectedSupplier(); PackageRoots[][] conflict = selectedSupplier == null ? null : groupingChecker.isConsistent(bundle, selectedSupplier); if (conflict != null) { addConflictNames(conflict, packageConstraints, bundleConstraints); PackageRoots[][] conflict = groupingChecker.isConsistent(bundle, (GenericCapability) supplier); if (conflict != null) { if (capabilityConflicts == null)