BundleConstraint getRequire(String name) { BundleConstraint[] allRequires = getRequires(); for (int i = 0; i < allRequires.length; i++) if (allRequires[i].getVersionConstraint().getName().equals(name)) return allRequires[i]; return null; }
BundleConstraint getRequire(String name) { BundleConstraint[] allRequires = getRequires(); for (int i = 0; i < allRequires.length; i++) if (allRequires[i].getVersionConstraint().getName().equals(name)) return allRequires[i]; return null; }
BundleConstraint getRequire(String name) { BundleConstraint[] allRequires = getRequires(); for (int i = 0; i < allRequires.length; i++) if (allRequires[i].getVersionConstraint().getName().equals(name)) return allRequires[i]; return null; }
BundleConstraint getRequire(String name) { BundleConstraint[] allRequires = getRequires(); for (int i = 0; i < allRequires.length; i++) if (allRequires[i].getVersionConstraint().getName().equals(name)) return allRequires[i]; return null; }
private void rewireBundle(ResolverBundle rb, List<ResolverBundle> visited) { if (visited.contains(rb)) return; visited.add(rb); // Wire requires to bundles BundleConstraint[] requires = rb.getRequires(); for (int i = 0; i < requires.length; i++) { rewireRequire(requires[i], visited); } // Wire imports to exports ResolverImport[] imports = rb.getImportPackages(); for (int i = 0; i < imports.length; i++) { rewireImport(imports[i], visited); } // Wire generics GenericConstraint[] genericRequires = rb.getGenericRequires(); for (int i = 0; i < genericRequires.length; i++) rewireGeneric(genericRequires[i], visited); }
private void rewireBundle(ResolverBundle rb, List<ResolverBundle> visited) { if (visited.contains(rb)) return; visited.add(rb); // Wire requires to bundles BundleConstraint[] requires = rb.getRequires(); for (int i = 0; i < requires.length; i++) { rewireRequire(requires[i], visited); } // Wire imports to exports ResolverImport[] imports = rb.getImportPackages(); for (int i = 0; i < imports.length; i++) { rewireImport(imports[i], visited); } // Wire generics GenericConstraint[] genericRequires = rb.getGenericRequires(); for (int i = 0; i < genericRequires.length; i++) rewireGeneric(genericRequires[i], visited); }
private void rewireBundle(ResolverBundle rb, List<ResolverBundle> visited) { if (visited.contains(rb)) return; visited.add(rb); // Wire requires to bundles BundleConstraint[] requires = rb.getRequires(); for (int i = 0; i < requires.length; i++) { rewireRequire(requires[i], visited); } // Wire imports to exports ResolverImport[] imports = rb.getImportPackages(); for (int i = 0; i < imports.length; i++) { rewireImport(imports[i], visited); } // Wire generics GenericConstraint[] genericRequires = rb.getGenericRequires(); for (int i = 0; i < genericRequires.length; i++) rewireGeneric(genericRequires[i], visited); }
private void rewireBundle(ResolverBundle rb, List<ResolverBundle> visited) { if (visited.contains(rb)) return; visited.add(rb); // Wire requires to bundles BundleConstraint[] requires = rb.getRequires(); for (int i = 0; i < requires.length; i++) { rewireRequire(requires[i], visited); } // Wire imports to exports ResolverImport[] imports = rb.getImportPackages(); for (int i = 0; i < imports.length; i++) { rewireImport(imports[i], visited); } // Wire generics GenericConstraint[] genericRequires = rb.getGenericRequires(); for (int i = 0; i < genericRequires.length; i++) rewireGeneric(genericRequires[i], visited); }
private boolean resolveOptionalConstraints(ResolverBundle bundle) { BundleConstraint[] requires = bundle.getRequires(); List<ResolverBundle> cycle = new ArrayList<>(); boolean resolvedOptional = false; for (int i = 0; i < requires.length; i++) if (requires[i].isOptional() && requires[i].getSelectedSupplier() == null) { cycle.clear(); resolveRequire(requires[i], cycle); if (requires[i].getSelectedSupplier() != null) resolvedOptional = true; } ResolverImport[] imports = bundle.getImportPackages(); for (int i = 0; i < imports.length; i++) if (imports[i].isOptional() && imports[i].getSelectedSupplier() == null) { cycle.clear(); resolveImport(imports[i], cycle); if (imports[i].getSelectedSupplier() != null) resolvedOptional = true; } return resolvedOptional; }
private boolean resolveOptionalConstraints(ResolverBundle bundle) { BundleConstraint[] requires = bundle.getRequires(); List<ResolverBundle> cycle = new ArrayList<ResolverBundle>(); boolean resolvedOptional = false; for (int i = 0; i < requires.length; i++) if (requires[i].isOptional() && requires[i].getSelectedSupplier() == null) { cycle.clear(); resolveRequire(requires[i], cycle); if (requires[i].getSelectedSupplier() != null) resolvedOptional = true; } ResolverImport[] imports = bundle.getImportPackages(); for (int i = 0; i < imports.length; i++) if (imports[i].isOptional() && imports[i].getSelectedSupplier() == null) { cycle.clear(); resolveImport(imports[i], cycle); if (imports[i].getSelectedSupplier() != null) resolvedOptional = true; } return resolvedOptional; }
private boolean resolveOptionalConstraints(ResolverBundle bundle) { BundleConstraint[] requires = bundle.getRequires(); List<ResolverBundle> cycle = new ArrayList<ResolverBundle>(); boolean resolvedOptional = false; for (int i = 0; i < requires.length; i++) if (requires[i].isOptional() && requires[i].getSelectedSupplier() == null) { cycle.clear(); resolveRequire(requires[i], cycle); if (requires[i].getSelectedSupplier() != null) resolvedOptional = true; } ResolverImport[] imports = bundle.getImportPackages(); for (int i = 0; i < imports.length; i++) if (imports[i].isOptional() && imports[i].getSelectedSupplier() == null) { cycle.clear(); resolveImport(imports[i], cycle); if (imports[i].getSelectedSupplier() != null) resolvedOptional = true; } return resolvedOptional; }
private List<PackageRoots[]> isConsistentInternal(ResolverBundle requiringBundle, ResolverBundle matchingBundle, List<ResolverBundle> visited, boolean dynamicImport, List<PackageRoots[]> results) { // needed to prevent endless cycles if (visited.contains(matchingBundle)) return results; visited.add(matchingBundle); // check that the packages exported by the matching bundle are consistent ResolverExport[] matchingExports = matchingBundle.getExportPackages(); for (int i = 0; i < matchingExports.length; i++) { ResolverExport matchingExport = matchingExports[i]; if (matchingExports[i].getSubstitute() != null) matchingExport = (ResolverExport) matchingExports[i].getSubstitute(); results = isConsistentInternal(requiringBundle, matchingExport, dynamicImport, results); } // check that the packages from reexported bundles are consistent BundleConstraint[] supplierRequires = matchingBundle.getRequires(); for (int j = 0; j < supplierRequires.length; j++) { ResolverBundle reexported = (ResolverBundle) supplierRequires[j].getSelectedSupplier(); if (reexported == null || !((BundleSpecification) supplierRequires[j].getVersionConstraint()).isExported()) continue; results = isConsistentInternal(requiringBundle, reexported, visited, dynamicImport, results); } return results; }
public void populateRoots(ResolverBundle bundle) { if (bundles.containsKey(bundle)) // only do the full populate the first time (bug 337272) return; // process all requires BundleConstraint[] requires = bundle.getRequires(); for (int j = 0; j < requires.length; j++) { ResolverBundle selectedSupplier = (ResolverBundle) requires[j].getSelectedSupplier(); if (selectedSupplier != null) isConsistentInternal(bundle, selectedSupplier, new ArrayList<ResolverBundle>(1), true, null); } // process all imports // must check resolved imports to get any dynamically resolved imports ExportPackageDescription[] imports = bundle.getBundleDescription().getResolvedImports(); for (ExportPackageDescription importPkg : imports) { List<ResolverExport> exports = bundle.getResolver().getResolverExports().get(importPkg.getName()); for (ResolverExport export : exports) { if (export.getExportPackageDescription() == importPkg) isConsistentInternal(bundle, export, true, null); } } }
public void populateRoots(ResolverBundle bundle) { if (bundles.containsKey(bundle)) // only do the full populate the first time (bug 337272) return; // process all requires BundleConstraint[] requires = bundle.getRequires(); for (int j = 0; j < requires.length; j++) { ResolverBundle selectedSupplier = (ResolverBundle) requires[j].getSelectedSupplier(); if (selectedSupplier != null) isConsistentInternal(bundle, selectedSupplier, new ArrayList<ResolverBundle>(1), true, null); } // process all imports // must check resolved imports to get any dynamically resolved imports ExportPackageDescription[] imports = bundle.getBundleDescription().getResolvedImports(); for (ExportPackageDescription importPkg : imports) { List<ResolverExport> exports = bundle.getResolver().getResolverExports().get(importPkg.getName()); for (ResolverExport export : exports) { if (export.getExportPackageDescription() == importPkg) isConsistentInternal(bundle, export, true, null); } } }
public void populateRoots(ResolverBundle bundle) { if (bundles.containsKey(bundle)) // only do the full populate the first time (bug 337272) return; // process all requires BundleConstraint[] requires = bundle.getRequires(); for (int j = 0; j < requires.length; j++) { ResolverBundle selectedSupplier = (ResolverBundle) requires[j].getSelectedSupplier(); if (selectedSupplier != null) isConsistentInternal(bundle, selectedSupplier, new ArrayList<ResolverBundle>(1), true, null); } // process all imports // must check resolved imports to get any dynamically resolved imports ExportPackageDescription[] imports = bundle.getBundleDescription().getResolvedImports(); for (ExportPackageDescription importPkg : imports) { List<ResolverExport> exports = bundle.getResolver().getResolverExports().get(importPkg.getName()); for (ResolverExport export : exports) { if (export.getExportPackageDescription() == importPkg) isConsistentInternal(bundle, export, true, null); } } }
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); }
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); }
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); }
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 stateResolveConstraints(ResolverBundle rb) { ResolverImport[] imports = rb.getImportPackages(); for (int i = 0; i < imports.length; i++) { ResolverExport export = (ResolverExport) imports[i].getSelectedSupplier(); BaseDescription supplier = export == null ? null : export.getExportPackageDescription(); state.resolveConstraint(imports[i].getVersionConstraint(), supplier); } BundleConstraint[] requires = rb.getRequires(); for (int i = 0; i < requires.length; i++) { ResolverBundle bundle = (ResolverBundle) requires[i].getSelectedSupplier(); BaseDescription supplier = bundle == null ? null : bundle.getBundleDescription(); state.resolveConstraint(requires[i].getVersionConstraint(), supplier); } GenericConstraint[] genericRequires = rb.getGenericRequires(); for (int i = 0; i < genericRequires.length; i++) { VersionSupplier[] matchingCapabilities = genericRequires[i].getMatchingCapabilities(); if (matchingCapabilities == null) state.resolveConstraint(genericRequires[i].getVersionConstraint(), null); else for (int j = 0; j < matchingCapabilities.length; j++) state.resolveConstraint(genericRequires[i].getVersionConstraint(), matchingCapabilities[j].getBaseDescription()); } }