public RequiredBundle[] getRequiredBundles(String symbolicName) { String filter = "(" + BundleNamespace.BUNDLE_NAMESPACE + "=" + (symbolicName == null ? "*" : symbolicName) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$ Map<String, String> directives = Collections.<String, String> singletonMap(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter); Map<String, Boolean> attributes = Collections.singletonMap(Capabilities.SYNTHETIC_REQUIREMENT, Boolean.TRUE); Requirement bundleReq = ModuleContainer.createRequirement(BundleNamespace.BUNDLE_NAMESPACE, directives, attributes); Collection<BundleCapability> bundleCaps = container.getFrameworkWiring().findProviders(bundleReq); InternalUtils.filterCapabilityPermissions(bundleCaps); Collection<RequiredBundle> result = new ArrayList<RequiredBundle>(); for (BundleCapability capability : bundleCaps) { BundleWiring wiring = capability.getRevision().getWiring(); if (wiring != null) { result.add(new RequiredBundleImpl(capability, wiring)); } } return result.isEmpty() ? null : result.toArray(new RequiredBundle[result.size()]); }
public RequiredBundle[] getRequiredBundles(String symbolicName) { String filter = "(" + BundleNamespace.BUNDLE_NAMESPACE + "=" + (symbolicName == null ? "*" : symbolicName) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$ Map<String, String> directives = Collections.<String, String> singletonMap(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter); Map<String, Boolean> attributes = Collections.singletonMap(Capabilities.SYNTHETIC_REQUIREMENT, Boolean.TRUE); Requirement bundleReq = ModuleContainer.createRequirement(BundleNamespace.BUNDLE_NAMESPACE, directives, attributes); Collection<BundleCapability> bundleCaps = container.getFrameworkWiring().findProviders(bundleReq); InternalUtils.filterCapabilityPermissions(bundleCaps); Collection<RequiredBundle> result = new ArrayList<RequiredBundle>(); for (BundleCapability capability : bundleCaps) { BundleWiring wiring = capability.getRevision().getWiring(); if (wiring != null) { result.add(new RequiredBundleImpl(capability, wiring)); } } return result.isEmpty() ? null : result.toArray(new RequiredBundle[result.size()]); }
public RequiredBundle[] getRequiredBundles(String symbolicName) { String filter = "(" + BundleNamespace.BUNDLE_NAMESPACE + "=" + (symbolicName == null ? "*" : symbolicName) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$ Map<String, String> directives = Collections.<String, String> singletonMap(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter); Map<String, Boolean> attributes = Collections.singletonMap(Capabilities.SYNTHETIC_REQUIREMENT, Boolean.TRUE); Requirement bundleReq = ModuleContainer.createRequirement(BundleNamespace.BUNDLE_NAMESPACE, directives, attributes); Collection<BundleCapability> bundleCaps = container.getFrameworkWiring().findProviders(bundleReq); InternalUtils.filterCapabilityPermissions(bundleCaps); Collection<RequiredBundle> result = new ArrayList<>(); for (BundleCapability capability : bundleCaps) { BundleWiring wiring = capability.getRevision().getWiring(); if (wiring != null) { result.add(new RequiredBundleImpl(capability, wiring)); } } return result.isEmpty() ? null : result.toArray(new RequiredBundle[result.size()]); }
public RequiredBundle[] getRequiredBundles(String symbolicName) { String filter = "(" + BundleNamespace.BUNDLE_NAMESPACE + "=" + (symbolicName == null ? "*" : symbolicName) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$ Map<String, String> directives = Collections.<String, String> singletonMap(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter); Map<String, Boolean> attributes = Collections.singletonMap(Capabilities.SYNTHETIC_REQUIREMENT, Boolean.TRUE); Requirement bundleReq = ModuleContainer.createRequirement(BundleNamespace.BUNDLE_NAMESPACE, directives, attributes); Collection<BundleCapability> bundleCaps = container.getFrameworkWiring().findProviders(bundleReq); InternalUtils.filterCapabilityPermissions(bundleCaps); Collection<RequiredBundle> result = new ArrayList<RequiredBundle>(); for (BundleCapability capability : bundleCaps) { BundleWiring wiring = capability.getRevision().getWiring(); if (wiring != null) { result.add(new RequiredBundleImpl(capability, wiring)); } } return result.isEmpty() ? null : result.toArray(new RequiredBundle[result.size()]); }
public RequiredBundle[] getRequiredBundles(String symbolicName) { String filter = "(" + BundleNamespace.BUNDLE_NAMESPACE + "=" + (symbolicName == null ? "*" : symbolicName) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$ Map<String, String> directives = Collections.<String, String> singletonMap(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter); Map<String, Boolean> attributes = Collections.singletonMap(Capabilities.SYNTHETIC_REQUIREMENT, Boolean.TRUE); Requirement bundleReq = ModuleContainer.createRequirement(BundleNamespace.BUNDLE_NAMESPACE, directives, attributes); Collection<BundleCapability> bundleCaps = container.getFrameworkWiring().findProviders(bundleReq); InternalUtils.filterCapabilityPermissions(bundleCaps); Collection<RequiredBundle> result = new ArrayList<>(); for (BundleCapability capability : bundleCaps) { BundleWiring wiring = capability.getRevision().getWiring(); if (wiring != null) { result.add(new RequiredBundleImpl(capability, wiring)); } } return result.isEmpty() ? null : result.toArray(new RequiredBundle[result.size()]); }
public RequiredBundle[] getRequiredBundles(String symbolicName) { String filter = "(" + BundleNamespace.BUNDLE_NAMESPACE + "=" + (symbolicName == null ? "*" : symbolicName) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$ Map<String, String> directives = Collections.<String, String> singletonMap(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter); Map<String, Boolean> attributes = Collections.singletonMap(Capabilities.SYNTHETIC_REQUIREMENT, Boolean.TRUE); Requirement bundleReq = ModuleContainer.createRequirement(BundleNamespace.BUNDLE_NAMESPACE, directives, attributes); Collection<BundleCapability> bundleCaps = container.getFrameworkWiring().findProviders(bundleReq); InternalUtils.filterCapabilityPermissions(bundleCaps); Collection<RequiredBundle> result = new ArrayList<RequiredBundle>(); for (BundleCapability capability : bundleCaps) { BundleWiring wiring = capability.getRevision().getWiring(); if (wiring != null) { result.add(new RequiredBundleImpl(capability, wiring)); } } return result.isEmpty() ? null : result.toArray(new RequiredBundle[result.size()]); }
public ExportedPackage[] getExportedPackages(String name) { String filter = "(" + PackageNamespace.PACKAGE_NAMESPACE + "=" + (name == null ? "*" : name) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$ Map<String, String> directives = Collections.<String, String> singletonMap(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter); Map<String, Boolean> attributes = Collections.singletonMap(Capabilities.SYNTHETIC_REQUIREMENT, Boolean.TRUE); Requirement packageReq = ModuleContainer.createRequirement(PackageNamespace.PACKAGE_NAMESPACE, directives, attributes); Collection<BundleCapability> packageCaps = container.getFrameworkWiring().findProviders(packageReq); InternalUtils.filterCapabilityPermissions(packageCaps); List<ExportedPackage> result = new ArrayList<ExportedPackage>(); for (BundleCapability capability : packageCaps) { ModuleWiring wiring = (ModuleWiring) capability.getRevision().getWiring(); if (wiring != null) { if (!wiring.getSubstitutedNames().contains(capability.getAttributes().get(PackageNamespace.PACKAGE_NAMESPACE))) { result.add(new ExportedPackageImpl((ModuleCapability) capability, wiring)); } } } return (result.size() == 0 ? null : result.toArray(new ExportedPackage[result.size()])); }
private ModuleWiring createNewWiring(ModuleRevision revision, Map<ModuleRevision, Map<ModuleCapability, List<ModuleWire>>> provided, Map<ModuleRevision, List<ModuleWire>> required) { Map<ModuleCapability, List<ModuleWire>> providedWireMap = provided.get(revision); if (providedWireMap == null) providedWireMap = Collections.emptyMap(); List<ModuleWire> requiredWires = required.get(revision); if (requiredWires == null) requiredWires = Collections.emptyList(); List<ModuleCapability> capabilities = new ArrayList<>(revision.getModuleCapabilities(null)); ListIterator<ModuleCapability> iCapabilities = capabilities.listIterator(capabilities.size()); List<ModuleRequirement> requirements = new ArrayList<>(revision.getModuleRequirements(null)); ListIterator<ModuleRequirement> iRequirements = requirements.listIterator(requirements.size()); // if revision is a fragment remove payload requirements and capabilities if ((BundleRevision.TYPE_FRAGMENT & revision.getTypes()) != 0) { removePayloadContent(iCapabilities, iRequirements); } else { // add fragment capabilities and requirements List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); if (hostCapability != null) { addPayloadContent(providedWireMap.get(hostCapability), iCapabilities, iRequirements); } } removeNonEffectiveCapabilities(iCapabilities); removeNonEffectiveRequirements(iRequirements, requiredWires); Collection<String> substituted = removeSubstitutedCapabilities(iCapabilities, requiredWires); List<ModuleWire> providedWires = new ArrayList<>(); addProvidedWires(providedWireMap, providedWires, capabilities); InternalUtils.filterCapabilityPermissions(capabilities); return new ModuleWiring(revision, capabilities, requirements, providedWires, requiredWires, substituted); }
private ModuleWiring createNewWiring(ModuleRevision revision, Map<ModuleRevision, Map<ModuleCapability, List<ModuleWire>>> provided, Map<ModuleRevision, List<ModuleWire>> required) { Map<ModuleCapability, List<ModuleWire>> providedWireMap = provided.get(revision); if (providedWireMap == null) providedWireMap = Collections.emptyMap(); List<ModuleWire> requiredWires = required.get(revision); if (requiredWires == null) requiredWires = Collections.emptyList(); List<ModuleCapability> capabilities = new ArrayList<ModuleCapability>(revision.getModuleCapabilities(null)); ListIterator<ModuleCapability> iCapabilities = capabilities.listIterator(capabilities.size()); List<ModuleRequirement> requirements = new ArrayList<ModuleRequirement>(revision.getModuleRequirements(null)); ListIterator<ModuleRequirement> iRequirements = requirements.listIterator(requirements.size()); // if revision is a fragment remove payload requirements and capabilities if ((BundleRevision.TYPE_FRAGMENT & revision.getTypes()) != 0) { removePayloadContent(iCapabilities, iRequirements); } else { // add fragment capabilities and requirements List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); if (hostCapability != null) { addPayloadContent(providedWireMap.get(hostCapability), iCapabilities, iRequirements); } } removeNonEffectiveCapabilities(iCapabilities); removeNonEffectiveRequirements(iRequirements, requiredWires); Collection<String> substituted = removeSubstitutedCapabilities(iCapabilities, requiredWires); List<ModuleWire> providedWires = new ArrayList<ModuleWire>(); addProvidedWires(providedWireMap, providedWires, capabilities); InternalUtils.filterCapabilityPermissions(capabilities); return new ModuleWiring(revision, capabilities, requirements, providedWires, requiredWires, substituted); }
private ModuleWiring createNewWiring(ModuleRevision revision, Map<ModuleRevision, Map<ModuleCapability, List<ModuleWire>>> provided, Map<ModuleRevision, List<ModuleWire>> required) { Map<ModuleCapability, List<ModuleWire>> providedWireMap = provided.get(revision); if (providedWireMap == null) providedWireMap = Collections.emptyMap(); List<ModuleWire> requiredWires = required.get(revision); if (requiredWires == null) requiredWires = Collections.emptyList(); List<ModuleCapability> capabilities = new ArrayList<ModuleCapability>(revision.getModuleCapabilities(null)); ListIterator<ModuleCapability> iCapabilities = capabilities.listIterator(capabilities.size()); List<ModuleRequirement> requirements = new ArrayList<ModuleRequirement>(revision.getModuleRequirements(null)); ListIterator<ModuleRequirement> iRequirements = requirements.listIterator(requirements.size()); // if revision is a fragment remove payload requirements and capabilities if ((BundleRevision.TYPE_FRAGMENT & revision.getTypes()) != 0) { removePayloadContent(iCapabilities, iRequirements); } else { // add fragment capabilities and requirements List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); if (hostCapability != null) { addPayloadContent(providedWireMap.get(hostCapability), iCapabilities, iRequirements); } } removeNonEffectiveCapabilities(iCapabilities); removeNonEffectiveRequirements(iRequirements, requiredWires); Collection<String> substituted = removeSubstitutedCapabilities(iCapabilities, requiredWires); List<ModuleWire> providedWires = new ArrayList<ModuleWire>(); addProvidedWires(providedWireMap, providedWires, capabilities); InternalUtils.filterCapabilityPermissions(capabilities); return new ModuleWiring(revision, capabilities, requirements, providedWires, requiredWires, substituted); }
private ModuleWiring createNewWiring(ModuleRevision revision, Map<ModuleRevision, Map<ModuleCapability, List<ModuleWire>>> provided, Map<ModuleRevision, List<ModuleWire>> required) { Map<ModuleCapability, List<ModuleWire>> providedWireMap = provided.get(revision); if (providedWireMap == null) providedWireMap = Collections.emptyMap(); List<ModuleWire> requiredWires = required.get(revision); if (requiredWires == null) requiredWires = Collections.emptyList(); List<ModuleCapability> capabilities = new ArrayList<>(revision.getModuleCapabilities(null)); ListIterator<ModuleCapability> iCapabilities = capabilities.listIterator(capabilities.size()); List<ModuleRequirement> requirements = new ArrayList<>(revision.getModuleRequirements(null)); ListIterator<ModuleRequirement> iRequirements = requirements.listIterator(requirements.size()); // if revision is a fragment remove payload requirements and capabilities if ((BundleRevision.TYPE_FRAGMENT & revision.getTypes()) != 0) { removePayloadContent(iCapabilities, iRequirements); } else { // add fragment capabilities and requirements List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); if (hostCapability != null) { addPayloadContent(providedWireMap.get(hostCapability), iCapabilities, iRequirements); } } removeNonEffectiveCapabilities(iCapabilities); removeNonEffectiveRequirements(iRequirements, requiredWires); Collection<String> substituted = removeSubstitutedCapabilities(iCapabilities, requiredWires); List<ModuleWire> providedWires = new ArrayList<>(); addProvidedWires(providedWireMap, providedWires, capabilities); InternalUtils.filterCapabilityPermissions(capabilities); return new ModuleWiring(revision, capabilities, requirements, providedWires, requiredWires, substituted); }
private ModuleWiring createNewWiring(ModuleRevision revision, Map<ModuleRevision, Map<ModuleCapability, List<ModuleWire>>> provided, Map<ModuleRevision, List<ModuleWire>> required) { Map<ModuleCapability, List<ModuleWire>> providedWireMap = provided.get(revision); if (providedWireMap == null) providedWireMap = Collections.emptyMap(); List<ModuleWire> requiredWires = required.get(revision); if (requiredWires == null) requiredWires = Collections.emptyList(); List<ModuleCapability> capabilities = new ArrayList<ModuleCapability>(revision.getModuleCapabilities(null)); ListIterator<ModuleCapability> iCapabilities = capabilities.listIterator(capabilities.size()); List<ModuleRequirement> requirements = new ArrayList<ModuleRequirement>(revision.getModuleRequirements(null)); ListIterator<ModuleRequirement> iRequirements = requirements.listIterator(requirements.size()); // if revision is a fragment remove payload requirements and capabilities if ((BundleRevision.TYPE_FRAGMENT & revision.getTypes()) != 0) { removePayloadContent(iCapabilities, iRequirements); } else { // add fragment capabilities and requirements List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); if (hostCapability != null) { addPayloadContent(providedWireMap.get(hostCapability), iCapabilities, iRequirements); } } removeNonEffectiveCapabilities(iCapabilities); removeNonEffectiveRequirements(iRequirements, requiredWires); Collection<String> substituted = removeSubstitutedCapabilities(iCapabilities, requiredWires); List<ModuleWire> providedWires = new ArrayList<ModuleWire>(); addProvidedWires(providedWireMap, providedWires, capabilities); InternalUtils.filterCapabilityPermissions(capabilities); return new ModuleWiring(revision, capabilities, requirements, providedWires, requiredWires, substituted); }
private ModuleWiring createNewWiring(ModuleRevision revision, Map<ModuleRevision, Map<ModuleCapability, List<ModuleWire>>> provided, Map<ModuleRevision, List<ModuleWire>> required) { Map<ModuleCapability, List<ModuleWire>> providedWireMap = provided.get(revision); if (providedWireMap == null) providedWireMap = Collections.emptyMap(); List<ModuleWire> requiredWires = required.get(revision); if (requiredWires == null) requiredWires = Collections.emptyList(); List<ModuleCapability> capabilities = new ArrayList<ModuleCapability>(revision.getModuleCapabilities(null)); ListIterator<ModuleCapability> iCapabilities = capabilities.listIterator(capabilities.size()); List<ModuleRequirement> requirements = new ArrayList<ModuleRequirement>(revision.getModuleRequirements(null)); ListIterator<ModuleRequirement> iRequirements = requirements.listIterator(requirements.size()); // if revision is a fragment remove payload requirements and capabilities if ((BundleRevision.TYPE_FRAGMENT & revision.getTypes()) != 0) { removePayloadContent(iCapabilities, iRequirements); } else { // add fragment capabilities and requirements List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); if (hostCapability != null) { addPayloadContent(providedWireMap.get(hostCapability), iCapabilities, iRequirements); } } removeNonEffectiveCapabilities(iCapabilities); removeNonEffectiveRequirements(iRequirements, requiredWires); Collection<String> substituted = removeSubstitutedCapabilities(iCapabilities, requiredWires); List<ModuleWire> providedWires = new ArrayList<ModuleWire>(); addProvidedWires(providedWireMap, providedWires, capabilities); InternalUtils.filterCapabilityPermissions(capabilities); return new ModuleWiring(revision, capabilities, requirements, providedWires, requiredWires, substituted); }
Requirement packageReq = ModuleContainer.createRequirement(PackageNamespace.PACKAGE_NAMESPACE, directives, attributes); Collection<BundleCapability> packageCaps = container.getFrameworkWiring().findProviders(packageReq); InternalUtils.filterCapabilityPermissions(packageCaps); List<ExportedPackage> result = new ArrayList<>(); for (BundleCapability capability : packageCaps) {
private static ModuleWiring createWiringDelta(ModuleRevision revision, ModuleWiring existingWiring, Map<ModuleCapability, List<ModuleWire>> providedWireMap, List<ModuleWire> requiredWires) { // No null checks are done here on the wires since this is a copy. List<ModuleWire> existingProvidedWires = existingWiring.getProvidedModuleWires(null); List<ModuleCapability> existingCapabilities = existingWiring.getModuleCapabilities(null); List<ModuleWire> existingRequiredWires = existingWiring.getRequiredModuleWires(null); List<ModuleRequirement> existingRequirements = existingWiring.getModuleRequirements(null); // First, add newly resolved fragment capabilities and requirements if (providedWireMap != null) { List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); List<ModuleWire> newHostWires = hostCapability == null ? null : providedWireMap.get(hostCapability); if (newHostWires != null) { addPayloadContent(newHostWires, existingCapabilities.listIterator(), existingRequirements.listIterator()); } } // Create a ModuleWiring that only contains the new ordered list of provided wires addProvidedWires(providedWireMap, existingProvidedWires, existingCapabilities); // Also need to include any new required wires that may have be added for fragment hosts // Also will be needed for dynamic imports addRequiredWires(requiredWires, existingRequiredWires, existingRequirements); InternalUtils.filterCapabilityPermissions(existingCapabilities); return new ModuleWiring(revision, existingCapabilities, existingRequirements, existingProvidedWires, existingRequiredWires, Collections.EMPTY_LIST); }
private static ModuleWiring createWiringDelta(ModuleRevision revision, ModuleWiring existingWiring, Map<ModuleCapability, List<ModuleWire>> providedWireMap, List<ModuleWire> requiredWires) { // No null checks are done here on the wires since this is a copy. // Create a ModuleWiring that only contains the new ordered list of provided wires List<ModuleWire> existingProvidedWires = existingWiring.getProvidedModuleWires(null); List<ModuleCapability> existingCapabilities = existingWiring.getModuleCapabilities(null); addProvidedWires(providedWireMap, existingProvidedWires, existingCapabilities); // Also need to include any new required wires that may have be added for fragment hosts // Also will be needed for dynamic imports List<ModuleWire> existingRequiredWires = existingWiring.getRequiredModuleWires(null); List<ModuleRequirement> existingRequirements = existingWiring.getModuleRequirements(null); addRequiredWires(requiredWires, existingRequiredWires, existingRequirements); // add newly resolved fragment capabilities and requirements if (providedWireMap != null) { List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); List<ModuleWire> newHostWires = hostCapability == null ? null : providedWireMap.get(hostCapability); if (newHostWires != null) { addPayloadContent(newHostWires, existingCapabilities.listIterator(), existingRequirements.listIterator()); } } InternalUtils.filterCapabilityPermissions(existingCapabilities); return new ModuleWiring(revision, existingCapabilities, existingRequirements, existingProvidedWires, existingRequiredWires, Collections.EMPTY_LIST); }
private static ModuleWiring createWiringDelta(ModuleRevision revision, ModuleWiring existingWiring, Map<ModuleCapability, List<ModuleWire>> providedWireMap, List<ModuleWire> requiredWires) { // No null checks are done here on the wires since this is a copy. // Create a ModuleWiring that only contains the new ordered list of provided wires List<ModuleWire> existingProvidedWires = existingWiring.getProvidedModuleWires(null); List<ModuleCapability> existingCapabilities = existingWiring.getModuleCapabilities(null); addProvidedWires(providedWireMap, existingProvidedWires, existingCapabilities); // Also need to include any new required wires that may have be added for fragment hosts // Also will be needed for dynamic imports List<ModuleWire> existingRequiredWires = existingWiring.getRequiredModuleWires(null); List<ModuleRequirement> existingRequirements = existingWiring.getModuleRequirements(null); addRequiredWires(requiredWires, existingRequiredWires, existingRequirements); // add newly resolved fragment capabilities and requirements if (providedWireMap != null) { List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); List<ModuleWire> newHostWires = hostCapability == null ? null : providedWireMap.get(hostCapability); if (newHostWires != null) { addPayloadContent(newHostWires, existingCapabilities.listIterator(), existingRequirements.listIterator()); } } InternalUtils.filterCapabilityPermissions(existingCapabilities); return new ModuleWiring(revision, existingCapabilities, existingRequirements, existingProvidedWires, existingRequiredWires, Collections.EMPTY_LIST); }
private static ModuleWiring createWiringDelta(ModuleRevision revision, ModuleWiring existingWiring, Map<ModuleCapability, List<ModuleWire>> providedWireMap, List<ModuleWire> requiredWires) { // No null checks are done here on the wires since this is a copy. List<ModuleWire> existingProvidedWires = existingWiring.getProvidedModuleWires(null); List<ModuleCapability> existingCapabilities = existingWiring.getModuleCapabilities(null); List<ModuleWire> existingRequiredWires = existingWiring.getRequiredModuleWires(null); List<ModuleRequirement> existingRequirements = existingWiring.getModuleRequirements(null); // First, add newly resolved fragment capabilities and requirements if (providedWireMap != null) { List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); List<ModuleWire> newHostWires = hostCapability == null ? null : providedWireMap.get(hostCapability); if (newHostWires != null) { addPayloadContent(newHostWires, existingCapabilities.listIterator(), existingRequirements.listIterator()); } } // Create a ModuleWiring that only contains the new ordered list of provided wires addProvidedWires(providedWireMap, existingProvidedWires, existingCapabilities); // Also need to include any new required wires that may have be added for fragment hosts // Also will be needed for dynamic imports addRequiredWires(requiredWires, existingRequiredWires, existingRequirements); InternalUtils.filterCapabilityPermissions(existingCapabilities); return new ModuleWiring(revision, existingCapabilities, existingRequirements, existingProvidedWires, existingRequiredWires, Collections.EMPTY_LIST); }
private static ModuleWiring createWiringDelta(ModuleRevision revision, ModuleWiring existingWiring, Map<ModuleCapability, List<ModuleWire>> providedWireMap, List<ModuleWire> requiredWires) { // No null checks are done here on the wires since this is a copy. List<ModuleWire> existingProvidedWires = existingWiring.getProvidedModuleWires(null); List<ModuleCapability> existingCapabilities = existingWiring.getModuleCapabilities(null); List<ModuleWire> existingRequiredWires = existingWiring.getRequiredModuleWires(null); List<ModuleRequirement> existingRequirements = existingWiring.getModuleRequirements(null); // First, add newly resolved fragment capabilities and requirements if (providedWireMap != null) { List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); List<ModuleWire> newHostWires = hostCapability == null ? null : providedWireMap.get(hostCapability); if (newHostWires != null) { addPayloadContent(newHostWires, existingCapabilities.listIterator(), existingRequirements.listIterator()); } } // Create a ModuleWiring that only contains the new ordered list of provided wires addProvidedWires(providedWireMap, existingProvidedWires, existingCapabilities); // Also need to include any new required wires that may have be added for fragment hosts // Also will be needed for dynamic imports addRequiredWires(requiredWires, existingRequiredWires, existingRequirements); InternalUtils.filterCapabilityPermissions(existingCapabilities); return new ModuleWiring(revision, existingCapabilities, existingRequirements, existingProvidedWires, existingRequiredWires, Collections.EMPTY_LIST); }
private static ModuleWiring createWiringDelta(ModuleRevision revision, ModuleWiring existingWiring, Map<ModuleCapability, List<ModuleWire>> providedWireMap, List<ModuleWire> requiredWires) { // No null checks are done here on the wires since this is a copy. List<ModuleWire> existingProvidedWires = existingWiring.getProvidedModuleWires(null); List<ModuleCapability> existingCapabilities = existingWiring.getModuleCapabilities(null); List<ModuleWire> existingRequiredWires = existingWiring.getRequiredModuleWires(null); List<ModuleRequirement> existingRequirements = existingWiring.getModuleRequirements(null); // First, add newly resolved fragment capabilities and requirements if (providedWireMap != null) { List<ModuleCapability> hostCapabilities = revision.getModuleCapabilities(HostNamespace.HOST_NAMESPACE); ModuleCapability hostCapability = hostCapabilities.isEmpty() ? null : hostCapabilities.get(0); List<ModuleWire> newHostWires = hostCapability == null ? null : providedWireMap.get(hostCapability); if (newHostWires != null) { addPayloadContent(newHostWires, existingCapabilities.listIterator(), existingRequirements.listIterator()); } } // Create a ModuleWiring that only contains the new ordered list of provided wires addProvidedWires(providedWireMap, existingProvidedWires, existingCapabilities); // Also need to include any new required wires that may have be added for fragment hosts // Also will be needed for dynamic imports addRequiredWires(requiredWires, existingRequiredWires, existingRequirements); InternalUtils.filterCapabilityPermissions(existingCapabilities); return new ModuleWiring(revision, existingCapabilities, existingRequirements, existingProvidedWires, existingRequiredWires, Collections.EMPTY_LIST); }