@Override void addPossibleSupplier(VersionSupplier supplier) { // if there is a supplier with uses constraints then we no longer allow multiples supplierHasUses |= ((GenericCapability) supplier).getUsesDirective() != null; super.addPossibleSupplier(supplier); }
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; }
public void detachFromHosts() { if (!isFragment()) { return; } VersionSupplier[] hosts = getHost().getPossibleSuppliers(); if (hosts == null) { return; } for (VersionSupplier possibleHost : hosts) { ((ResolverBundle) possibleHost).detachFragment(this, null); } }
boolean isSatisfiedBy(VersionSupplier vs) { if (vs.getResolverBundle().isUninstalled() || !bundle.getResolver().getPermissionChecker().checkPermission(constraint, vs.getBaseDescription())) return false; return vs.getSubstitute() == null && constraint.isSatisfiedBy(vs.getBaseDescription()); }
void clearWires() { ResolverImport[] allImports = getImportPackages(); for (int i = 0; i < allImports.length; i++) allImports[i].clearPossibleSuppliers(); if (host != null) host.clearPossibleSuppliers(); BundleConstraint[] allRequires = getRequires(); for (int i = 0; i < allRequires.length; i++) allRequires[i].clearPossibleSuppliers(); GenericConstraint[] allGenericRequires = getGenericRequires(); for (int i = 0; i < allGenericRequires.length; i++) allGenericRequires[i].clearPossibleSuppliers(); ResolverExport[] allExports = getExportPackages(); for (int i = 0; i < allExports.length; i++) allExports[i].setSubstitute(null); }
private void resolveFragment(ResolverBundle fragment) { if (!fragment.isFragment()) return; if (fragment.getHost().getNumPossibleSuppliers() > 0) if (!developmentMode || state.getResolverErrors(fragment.getBundleDescription()).length == 0) setBundleResolved(fragment); }
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()][]); }
boolean isSatisfiedBy(VersionSupplier vs) { if (vs.getResolverBundle().isUninstalled() || !bundle.getResolver().getPermissionChecker().checkPermission(constraint, vs.getBaseDescription())) return false; return vs.getSubstitute() == null && constraint.isSatisfiedBy(vs.getBaseDescription()); }
private void resolveFragment(ResolverBundle fragment) { if (!fragment.isFragment()) return; if (fragment.getHost().getNumPossibleSuppliers() > 0) if (!developmentMode || state.getResolverErrors(fragment.getBundleDescription()).length == 0) setBundleResolved(fragment); }
public void detachFromHosts() { if (!isFragment()) { return; } VersionSupplier[] hosts = getHost().getPossibleSuppliers(); if (hosts == null) { return; } for (VersionSupplier possibleHost : hosts) { ((ResolverBundle) possibleHost).detachFragment(this, null); } }
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()][]); }
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; }
@Override void addPossibleSupplier(VersionSupplier supplier) { // if there is a supplier with uses constraints then we no longer allow multiples supplierHasUses |= ((GenericCapability) supplier).getUsesDirective() != null; super.addPossibleSupplier(supplier); }
boolean isSatisfiedBy(VersionSupplier vs) { if (vs.getResolverBundle().isUninstalled() || !bundle.getResolver().getPermissionChecker().checkPermission(constraint, vs.getBaseDescription())) return false; return vs.getSubstitute() == null && constraint.isSatisfiedBy(vs.getBaseDescription()); }
private void resolveFragment(ResolverBundle fragment) { if (!fragment.isFragment()) return; if (fragment.getHost().getNumPossibleSuppliers() > 0) if (!developmentMode || state.getResolverErrors(fragment.getBundleDescription()).length == 0) setBundleResolved(fragment); }
private List<ResolverConstraint> getConflicts(ResolverBundle[] bundles, Set<String> packageConstraints, Set<String> bundleConstraints) { groupingChecker.clear(); List<ResolverConstraint> conflicts = null; for (int i = 0; i < bundles.length; i++) conflicts = addConflicts(bundles[i], packageConstraints, bundleConstraints, conflicts); return conflicts; }
boolean isSatisfiedBy(VersionSupplier vs) { if (vs.getResolverBundle().isUninstalled() || !bundle.getResolver().getPermissionChecker().checkPermission(constraint, vs.getBaseDescription())) return false; return vs.getSubstitute() == null && constraint.isSatisfiedBy(vs.getBaseDescription()); }
private List<ResolverConstraint> getConflicts(ResolverBundle[] bundles, Set<String> packageConstraints, Set<String> bundleConstraints) { groupingChecker.clear(); List<ResolverConstraint> conflicts = null; for (int i = 0; i < bundles.length; i++) conflicts = addConflicts(bundles[i], packageConstraints, bundleConstraints, conflicts); return conflicts; }