private static Map<BundleRequirement, List<BundleWire>> aggregateRequirements( Pattern namespace, List<BundleWire> wires) { // Aggregate matching capabilities. Map<BundleRequirement, List<BundleWire>> map = new HashMap<>(); for (BundleWire wire : wires) { if (matchNamespace(namespace, wire.getRequirement().getNamespace())) { map.computeIfAbsent(wire.getRequirement(), k -> new ArrayList<>()).add(wire); } } return map; }
private static Map<BundleRequirement, List<BundleWire>> aggregateRequirements( Pattern namespace, List<BundleWire> wires) { // Aggregate matching capabilities. Map<BundleRequirement, List<BundleWire>> map = new HashMap<>(); for (BundleWire wire : wires) { if (matchNamespace(namespace, wire.getRequirement().getNamespace())) { map.computeIfAbsent(wire.getRequirement(), k -> new ArrayList<>()).add(wire); } } return map; }
private static Map<BundleRequirement, List<BundleWire>> aggregateRequirements( List<String> namespace, List<BundleWire> wires) { // Aggregate matching capabilities. Map<BundleRequirement, List<BundleWire>> map = new HashMap<>(); for (BundleWire wire : wires) { if (matchNamespace(namespace, wire.getRequirement().getNamespace())) { List<BundleWire> providers = map.get(wire.getRequirement()); if (providers == null) { providers = new ArrayList<>(); map.put(wire.getRequirement(), providers); } providers.add(wire); } } return map; }
private boolean hasWireMatchingFilter(List<BundleWire> wires, Map<String, ?> map) { for (BundleWire bundleWire : wires) { BundleRequirement requirement = bundleWire.getRequirement(); if (bundleContext .matchFilter(requirement.getDirectives().get(FILTER_DIRECTIVE), map)) { return true; } } return false; }
private boolean hasWireMatchingFilter(List<BundleWire> wires, Map<String, ?> map) { for (BundleWire bundleWire : wires) { BundleRequirement requirement = bundleWire.getRequirement(); if (bundleContext .matchFilter(requirement.getDirectives().get(FILTER_DIRECTIVE), map)) { return true; } } return false; }
BundleWires(Bundle bundle) { this.bundleId = bundle.getBundleId(); for (BundleWire wire : bundle.adapt(BundleWiring.class).getRequiredWires(null)) { String requirementId = getRequirementId(wire.getRequirement()); String capabilityId = getCapabilityId(wire.getCapability()); this.wiring.put(requirementId, capabilityId); } }
private static void addRequirers(Set<Bundle> requiring, BundleWiring providerWiring) { List<BundleWire> requirerWires = providerWiring.getProvidedWires(BundleNamespace.BUNDLE_NAMESPACE); if (requirerWires == null) { // we don't hold locks while checking the graph, just return if no longer isInUse return; } for (BundleWire requireBundleWire : requirerWires) { Bundle requirer = requireBundleWire.getRequirer().getBundle(); if (requiring.contains(requirer)) { continue; } requiring.add(requirer); String reExport = requireBundleWire.getRequirement().getDirectives().get(BundleNamespace.REQUIREMENT_VISIBILITY_DIRECTIVE); if (BundleNamespace.VISIBILITY_REEXPORT.equals(reExport)) { addRequirers(requiring, requireBundleWire.getRequirerWiring()); } } }
private static void addRequirers(Set<Bundle> requiring, BundleWiring providerWiring) { List<BundleWire> requirerWires = providerWiring.getProvidedWires(BundleNamespace.BUNDLE_NAMESPACE); if (requirerWires == null) { // we don't hold locks while checking the graph, just return if no longer isInUse return; } for (BundleWire requireBundleWire : requirerWires) { Bundle requirer = requireBundleWire.getRequirer().getBundle(); if (requiring.contains(requirer)) { continue; } requiring.add(requirer); String reExport = requireBundleWire.getRequirement().getDirectives().get(BundleNamespace.REQUIREMENT_VISIBILITY_DIRECTIVE); if (BundleNamespace.VISIBILITY_REEXPORT.equals(reExport)) { addRequirers(requiring, requireBundleWire.getRequirerWiring()); } } }
private static void addRequirers(Set<Bundle> requiring, BundleWiring providerWiring) { List<BundleWire> requirerWires = providerWiring.getProvidedWires(BundleNamespace.BUNDLE_NAMESPACE); if (requirerWires == null) { // we don't hold locks while checking the graph, just return if no longer isInUse return; } for (BundleWire requireBundleWire : requirerWires) { Bundle requirer = requireBundleWire.getRequirer().getBundle(); if (requiring.contains(requirer)) { continue; } requiring.add(requirer); String reExport = requireBundleWire.getRequirement().getDirectives().get(BundleNamespace.REQUIREMENT_VISIBILITY_DIRECTIVE); if (BundleNamespace.VISIBILITY_REEXPORT.equals(reExport)) { addRequirers(requiring, requireBundleWire.getRequirerWiring()); } } }
private static void addRequirers(Set<Bundle> requiring, BundleWiring providerWiring) { List<BundleWire> requirerWires = providerWiring.getProvidedWires(BundleNamespace.BUNDLE_NAMESPACE); if (requirerWires == null) { // we don't hold locks while checking the graph, just return if no longer isInUse return; } for (BundleWire requireBundleWire : requirerWires) { Bundle requirer = requireBundleWire.getRequirer().getBundle(); if (requiring.contains(requirer)) { continue; } requiring.add(requirer); String reExport = requireBundleWire.getRequirement().getDirectives().get(BundleNamespace.REQUIREMENT_VISIBILITY_DIRECTIVE); if (BundleNamespace.VISIBILITY_REEXPORT.equals(reExport)) { addRequirers(requiring, requireBundleWire.getRequirerWiring()); } } }
private static void addRequirers(Set<Bundle> requiring, BundleWiring providerWiring) { List<BundleWire> requirerWires = providerWiring.getProvidedWires(BundleNamespace.BUNDLE_NAMESPACE); if (requirerWires == null) { // we don't hold locks while checking the graph, just return if no longer isInUse return; } for (BundleWire requireBundleWire : requirerWires) { Bundle requirer = requireBundleWire.getRequirer().getBundle(); if (requiring.contains(requirer)) { continue; } requiring.add(requirer); String reExport = requireBundleWire.getRequirement().getDirectives().get(BundleNamespace.REQUIREMENT_VISIBILITY_DIRECTIVE); if (BundleNamespace.VISIBILITY_REEXPORT.equals(reExport)) { addRequirers(requiring, requireBundleWire.getRequirerWiring()); } } }
private static void addRequirers(Set<Bundle> requiring, BundleWiring providerWiring) { List<BundleWire> requirerWires = providerWiring.getProvidedWires(BundleNamespace.BUNDLE_NAMESPACE); if (requirerWires == null) { // we don't hold locks while checking the graph, just return if no longer isInUse return; } for (BundleWire requireBundleWire : requirerWires) { Bundle requirer = requireBundleWire.getRequirer().getBundle(); if (requiring.contains(requirer)) { continue; } requiring.add(requirer); String reExport = requireBundleWire.getRequirement().getDirectives().get(BundleNamespace.REQUIREMENT_VISIBILITY_DIRECTIVE); if (BundleNamespace.VISIBILITY_REEXPORT.equals(reExport)) { addRequirers(requiring, requireBundleWire.getRequirerWiring()); } } }
private String getHeaderFromBundleOrFragment(Bundle bundle, String headerName, String matchString) { String val = bundle.getHeaders().get(headerName); if (matches(val, matchString)) return val; BundleRevision rev = bundle.adapt(BundleRevision.class); if (rev != null) { BundleWiring wiring = rev.getWiring(); if (wiring != null) { for (BundleWire wire : wiring.getProvidedWires("osgi.wiring.host")) { Bundle fragment = wire.getRequirement().getRevision().getBundle(); val = fragment.getHeaders().get(headerName); if (matches(val, matchString)) { return val; } } } } return null; }
private String getHeaderFromBundleOrFragment(Bundle bundle, String headerName, String matchString) { String val = bundle.getHeaders().get(headerName); if (matches(val, matchString)) return val; BundleRevision rev = bundle.adapt(BundleRevision.class); if (rev != null) { BundleWiring wiring = rev.getWiring(); if (wiring != null) { for (BundleWire wire : wiring.getProvidedWires("osgi.wiring.host")) { Bundle fragment = wire.getRequirement().getRevision().getBundle(); val = fragment.getHeaders().get(headerName); if (matches(val, matchString)) { return val; } } } } return null; }
private BundleWireDTO getBundleWireDTO(BundleWire wire) { if (wire == null) { return null; } BundleWireDTO dto = new BundleWireDTO(); dto.capability = getCapabilityRefDTO(wire.getCapability()); dto.requirement = getRequirementRefDTO(wire.getRequirement()); dto.provider = getResourceId(wire.getProvider()); dto.requirer = getResourceId(wire.getRequirer()); dto.providerWiring = getWiringId(wire.getProviderWiring()); dto.requirerWiring = getWiringId(wire.getRequirerWiring()); return dto; }
private BundleWireDTO getBundleWireDTO(BundleWire wire) { if (wire == null) { return null; } BundleWireDTO dto = new BundleWireDTO(); dto.capability = getCapabilityRefDTO(wire.getCapability()); dto.requirement = getRequirementRefDTO(wire.getRequirement()); dto.provider = getResourceId(wire.getProvider()); dto.requirer = getResourceId(wire.getRequirer()); dto.providerWiring = getWiringId(wire.getProviderWiring()); dto.requirerWiring = getWiringId(wire.getRequirerWiring()); return dto; }
private BundleWireDTO getBundleWireDTO(BundleWire wire) { if (wire == null) { return null; } BundleWireDTO dto = new BundleWireDTO(); dto.capability = getCapabilityRefDTO(wire.getCapability()); dto.requirement = getRequirementRefDTO(wire.getRequirement()); dto.provider = getResourceId(wire.getProvider()); dto.requirer = getResourceId(wire.getRequirer()); dto.providerWiring = getWiringId(wire.getProviderWiring()); dto.requirerWiring = getWiringId(wire.getRequirerWiring()); return dto; }
private BundleWireDTO getBundleWireDTO(BundleWire wire) { if (wire == null) { return null; } BundleWireDTO dto = new BundleWireDTO(); dto.capability = getCapabilityRefDTO(wire.getCapability()); dto.requirement = getRequirementRefDTO(wire.getRequirement()); dto.provider = getResourceId(wire.getProvider()); dto.requirer = getResourceId(wire.getRequirer()); dto.providerWiring = getWiringId(wire.getProviderWiring()); dto.requirerWiring = getWiringId(wire.getRequirerWiring()); return dto; }
private BundleWireDTO getBundleWireDTO(BundleWire wire) { if (wire == null) { return null; } BundleWireDTO dto = new BundleWireDTO(); dto.capability = getCapabilityRefDTO(wire.getCapability()); dto.requirement = getRequirementRefDTO(wire.getRequirement()); dto.provider = getResourceId(wire.getProvider()); dto.requirer = getResourceId(wire.getRequirer()); dto.providerWiring = getWiringId(wire.getProviderWiring()); dto.requirerWiring = getWiringId(wire.getRequirerWiring()); return dto; }
private BundleWireDTO getBundleWireDTO(BundleWire wire) { if (wire == null) { return null; } BundleWireDTO dto = new BundleWireDTO(); dto.capability = getCapabilityRefDTO(wire.getCapability()); dto.requirement = getRequirementRefDTO(wire.getRequirement()); dto.provider = getResourceId(wire.getProvider()); dto.requirer = getResourceId(wire.getRequirer()); dto.providerWiring = getWiringId(wire.getProviderWiring()); dto.requirerWiring = getWiringId(wire.getRequirerWiring()); return dto; }