private static ExportPackageDescription[] getExportsWiredTo(ResolverBundle rb, Map<String, List<StateWire>> stateWires) { // Gather exports that have been wired to ResolverImport[] imports = rb.getImportPackages(); List<ExportPackageDescription> exportsWiredTo = new ArrayList<ExportPackageDescription>(imports.length); List<StateWire> importWires = new ArrayList<StateWire>(imports.length); for (int i = 0; i < imports.length; i++) if (imports[i].getSelectedSupplier() != null) { ExportPackageDescription supplier = (ExportPackageDescription) imports[i].getSelectedSupplier().getBaseDescription(); exportsWiredTo.add(supplier); StateWire wire = newStateWire(rb.getBundleDescription(), imports[i].getVersionConstraint(), supplier.getExporter(), supplier); importWires.add(wire); } if (stateWires != null && !importWires.isEmpty()) stateWires.put(BundleRevision.PACKAGE_NAMESPACE, importWires); return exportsWiredTo.toArray(new ExportPackageDescription[exportsWiredTo.size()]); }
private static ExportPackageDescription[] getExportsWiredTo(ResolverBundle rb, Map<String, List<StateWire>> stateWires) { // Gather exports that have been wired to ResolverImport[] imports = rb.getImportPackages(); List<ExportPackageDescription> exportsWiredTo = new ArrayList<>(imports.length); List<StateWire> importWires = new ArrayList<>(imports.length); for (int i = 0; i < imports.length; i++) if (imports[i].getSelectedSupplier() != null) { ExportPackageDescription supplier = (ExportPackageDescription) imports[i].getSelectedSupplier().getBaseDescription(); exportsWiredTo.add(supplier); StateWire wire = newStateWire(rb.getBundleDescription(), imports[i].getVersionConstraint(), supplier.getExporter(), supplier); importWires.add(wire); } if (stateWires != null && !importWires.isEmpty()) stateWires.put(BundleRevision.PACKAGE_NAMESPACE, importWires); return exportsWiredTo.toArray(new ExportPackageDescription[exportsWiredTo.size()]); }
private static ExportPackageDescription[] getExportsWiredTo(ResolverBundle rb, Map<String, List<StateWire>> stateWires) { // Gather exports that have been wired to ResolverImport[] imports = rb.getImportPackages(); List<ExportPackageDescription> exportsWiredTo = new ArrayList<ExportPackageDescription>(imports.length); List<StateWire> importWires = new ArrayList<StateWire>(imports.length); for (int i = 0; i < imports.length; i++) if (imports[i].getSelectedSupplier() != null) { ExportPackageDescription supplier = (ExportPackageDescription) imports[i].getSelectedSupplier().getBaseDescription(); exportsWiredTo.add(supplier); StateWire wire = newStateWire(rb.getBundleDescription(), imports[i].getVersionConstraint(), supplier.getExporter(), supplier); importWires.add(wire); } if (stateWires != null && !importWires.isEmpty()) stateWires.put(BundleRevision.PACKAGE_NAMESPACE, importWires); return exportsWiredTo.toArray(new ExportPackageDescription[exportsWiredTo.size()]); }
private static ExportPackageDescription[] getExportsWiredTo(ResolverBundle rb, Map<String, List<StateWire>> stateWires) { // Gather exports that have been wired to ResolverImport[] imports = rb.getImportPackages(); List<ExportPackageDescription> exportsWiredTo = new ArrayList<ExportPackageDescription>(imports.length); List<StateWire> importWires = new ArrayList<StateWire>(imports.length); for (int i = 0; i < imports.length; i++) if (imports[i].getSelectedSupplier() != null) { ExportPackageDescription supplier = (ExportPackageDescription) imports[i].getSelectedSupplier().getBaseDescription(); exportsWiredTo.add(supplier); StateWire wire = newStateWire(rb.getBundleDescription(), imports[i].getVersionConstraint(), supplier.getExporter(), supplier); importWires.add(wire); } if (stateWires != null && !importWires.isEmpty()) stateWires.put(BundleRevision.PACKAGE_NAMESPACE, importWires); return exportsWiredTo.toArray(new ExportPackageDescription[exportsWiredTo.size()]); }
state.addResolverError(imports[j].getVersionConstraint().getBundle(), ResolverError.MISSING_IMPORT_PACKAGE, imports[j].getVersionConstraint().toString(), imports[j].getVersionConstraint()); iCycle.remove(); continue cycleLoop;
private void rewireImport(ResolverImport imp, List<ResolverBundle> visited) { if (imp.isDynamic() || imp.getSelectedSupplier() != null) return; // Re-wire 'imp' ResolverExport matchingExport = null; ExportPackageDescription importSupplier = (ExportPackageDescription) imp.getVersionConstraint().getSupplier(); ResolverBundle exporter = importSupplier == null ? null : (ResolverBundle) bundleMapping.get(importSupplier.getExporter()); List<ResolverExport> matches = resolverExports.get(imp.getName()); for (ResolverExport export : matches) { if (export.getExporter() == exporter && importSupplier == export.getExportPackageDescription()) { matchingExport = export; break; } } imp.addPossibleSupplier(matchingExport); // If we still have a null wire and it's not optional, then we have an error if (imp.getSelectedSupplier() == null && !imp.isOptional()) { System.err.println("Could not find matching export for " + imp.getVersionConstraint()); //$NON-NLS-1$ // TODO log error!! } if (imp.getSelectedSupplier() != null) { rewireBundle(((ResolverExport) imp.getSelectedSupplier()).getExporter(), visited); } }
private void rewireImport(ResolverImport imp, List<ResolverBundle> visited) { if (imp.isDynamic() || imp.getSelectedSupplier() != null) return; // Re-wire 'imp' ResolverExport matchingExport = null; ExportPackageDescription importSupplier = (ExportPackageDescription) imp.getVersionConstraint().getSupplier(); ResolverBundle exporter = importSupplier == null ? null : (ResolverBundle) bundleMapping.get(importSupplier.getExporter()); List<ResolverExport> matches = resolverExports.get(imp.getName()); for (ResolverExport export : matches) { if (export.getExporter() == exporter && importSupplier == export.getExportPackageDescription()) { matchingExport = export; break; } } imp.addPossibleSupplier(matchingExport); // If we still have a null wire and it's not optional, then we have an error if (imp.getSelectedSupplier() == null && !imp.isOptional()) { System.err.println("Could not find matching export for " + imp.getVersionConstraint()); //$NON-NLS-1$ // TODO log error!! } if (imp.getSelectedSupplier() != null) { rewireBundle(((ResolverExport) imp.getSelectedSupplier()).getExporter(), visited); } }
private void rewireImport(ResolverImport imp, List<ResolverBundle> visited) { if (imp.isDynamic() || imp.getSelectedSupplier() != null) return; // Re-wire 'imp' ResolverExport matchingExport = null; ExportPackageDescription importSupplier = (ExportPackageDescription) imp.getVersionConstraint().getSupplier(); ResolverBundle exporter = importSupplier == null ? null : (ResolverBundle) bundleMapping.get(importSupplier.getExporter()); List<ResolverExport> matches = resolverExports.get(imp.getName()); for (ResolverExport export : matches) { if (export.getExporter() == exporter && importSupplier == export.getExportPackageDescription()) { matchingExport = export; break; } } imp.addPossibleSupplier(matchingExport); // If we still have a null wire and it's not optional, then we have an error if (imp.getSelectedSupplier() == null && !imp.isOptional()) { System.err.println("Could not find matching export for " + imp.getVersionConstraint()); //$NON-NLS-1$ // TODO log error!! } if (imp.getSelectedSupplier() != null) { rewireBundle(((ResolverExport) imp.getSelectedSupplier()).getExporter(), visited); } }
private void rewireImport(ResolverImport imp, List<ResolverBundle> visited) { if (imp.isDynamic() || imp.getSelectedSupplier() != null) return; // Re-wire 'imp' ResolverExport matchingExport = null; ExportPackageDescription importSupplier = (ExportPackageDescription) imp.getVersionConstraint().getSupplier(); ResolverBundle exporter = importSupplier == null ? null : (ResolverBundle) bundleMapping.get(importSupplier.getExporter()); List<ResolverExport> matches = resolverExports.get(imp.getName()); for (ResolverExport export : matches) { if (export.getExporter() == exporter && importSupplier == export.getExportPackageDescription()) { matchingExport = export; break; } } imp.addPossibleSupplier(matchingExport); // If we still have a null wire and it's not optional, then we have an error if (imp.getSelectedSupplier() == null && !imp.isOptional()) { System.err.println("Could not find matching export for " + imp.getVersionConstraint()); //$NON-NLS-1$ // TODO log error!! } if (imp.getSelectedSupplier() != null) { rewireBundle(((ResolverExport) imp.getSelectedSupplier()).getExporter(), visited); } }
if (oldImports[i].getVersionConstraint().getBundle() != detachedFragment.getBundleDescription()) continue; // the constraint is not from the detached fragment for (int j = 0; j < remainingFragImports.length; j++) {
addStateWire(dynamicImport.getBundleDescription(), dynamicImport.getVersionConstraint(), supplier.getExporter(), supplier); return supplier;
if (oldImports[i].getVersionConstraint().getBundle() != detachedFragment.getBundleDescription()) continue; // the constraint is not from the detached fragment for (int j = 0; j < remainingFragImports.length; j++) {
if (oldImports[i].getVersionConstraint().getBundle() != detachedFragment.getBundleDescription()) continue; // the constraint is not from the detached fragment for (int j = 0; j < remainingFragImports.length; j++) {
if (oldImports[i].getVersionConstraint().getBundle() != detachedFragment.getBundleDescription()) continue; // the constraint is not from the detached fragment for (int j = 0; j < remainingFragImports.length; j++) {
addStateWire(dynamicImport.getBundleDescription(), dynamicImport.getVersionConstraint(), supplier.getExporter(), supplier); return supplier;
addStateWire(dynamicImport.getBundleDescription(), dynamicImport.getVersionConstraint(), supplier.getExporter(), supplier); return supplier;
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()); } }
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()); } }
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()); } }
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()); } }