public synchronized void addDependent(BundleWire bw) { BundleRevision provider = bw.getProvider(); Map<BundleCapability, Set<BundleWire>> caps = m_dependentsMap.get(provider); if (caps == null) { caps = new HashMap<BundleCapability, Set<BundleWire>>(); m_dependentsMap.put(provider, caps); } Set<BundleWire> dependents = caps.get(bw.getCapability()); if (dependents == null) { dependents = new HashSet<BundleWire>(); caps.put(bw.getCapability(), dependents); } dependents.add(bw); }
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 void printCapability(String prepend, BundleCapability capability, BundleWire wire, String versionKey) { Map<String, Object> exportAttrs = capability.getAttributes(); System.out.print(prepend); System.out.print(exportAttrs.get(capability.getNamespace())); if (versionKey != null) { System.out.print("; " + versionKey + "=\""); //$NON-NLS-1$ System.out.print(exportAttrs.get(versionKey)); System.out.print("\""); //$NON-NLS-1$ } Bundle exporter = wire == null ? capability.getRevision().getBundle() : wire.getProvider().getBundle(); if (exporter != null) { System.out.print(" <"); //$NON-NLS-1$ System.out.print(exporter); System.out.println(">"); //$NON-NLS-1$ } else { System.out.print(" <"); //$NON-NLS-1$ System.out.print(ConsoleMsg.CONSOLE_STALE_MESSAGE); System.out.println(">"); //$NON-NLS-1$ } }
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; }
m_dependentsMap.get(bw.getProvider()); if (caps != null) m_dependentsMap.remove(bw.getProvider());
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; }
throw new IllegalStateException("No org.apache.felix.scr bundle found!"); //$NON-NLS-1$ scr = required.get(0).getProvider().getBundle(); if (!"org.apache.felix.scr".equals(scr.getSymbolicName())) { //$NON-NLS-1$ throw new IllegalStateException("Required wrong bundle: " + scr); //$NON-NLS-1$
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; }
BundleRevision br = cand.getRevision(); if ((br.getTypes() & BundleRevision.TYPE_FRAGMENT) != 0) { br = br.getWiring().getRequiredWires(null).get(0).getProvider();
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 Set<Bundle> addUninstalled(Bundle bundle, Set<Bundle> refreshCandidates) { refreshCandidates.add(bundle); // Add this bundle first, so that it gets refreshed first BundleRevisions bundleRevisions = bundle.adapt(BundleRevisions.class); if (bundleRevisions != null) { for (BundleRevision br : bundleRevisions.getRevisions()) { BundleWiring bw = br.getWiring(); if (bw != null) { for (BundleWire wire : bw.getRequiredWires(null)) { Bundle b = wire.getProvider().getBundle(); if (b.getState() == Bundle.UNINSTALLED && !refreshCandidates.contains(b)) refreshCandidates = addUninstalled(b, refreshCandidates); } } } } Set<Bundle> dependent = populateDependentGraph(bundle, new HashSet<Bundle>()); for (Bundle b : dependent) { if (b.getState() == Bundle.UNINSTALLED && !refreshCandidates.contains(b)) { refreshCandidates = addUninstalled(b, refreshCandidates); } } return refreshCandidates; }
for (BundleWire hostWire : hostWires) { System.out.print(" "); //$NON-NLS-1$ System.out.println(hostWire.getProvider().getBundle()); System.out.println(requiredBundle.getProvider());
BundleRevision rev = wire.getProvider(); Bundle provider = rev.getBundle(); if (toRefresh.containsKey(provider)) {
wire.getCapability().getAttributes().get( ExtenderNamespace.EXTENDER_NAMESPACE ) ) ) if ( !m_bundle.adapt( BundleRevision.class ).equals( wire.getProvider() ) ) bundle, wire.getProvider().getBundle());
result.add(bw.getProvider().getBundle());
wire.getCapability().getAttributes().get( ExtenderNamespace.EXTENDER_NAMESPACE ) ) ) if ( !m_bundle.adapt( BundleRevision.class ).equals( wire.getProvider() ) ) bundle, wire.getProvider().getBundle());
@Override public ServiceName createModuleService(XBundleRevision brev, List<BundleWire> wires) { Deployment deployment = brev.getBundle().adapt(Deployment.class); DeploymentUnit depUnit = deployment.getAttachment(BundleDeploymentProcessor.DEPLOYMENT_UNIT_KEY); // Add a dependency on the parent module if we have one List<ModuleDependency> dependencies = new ArrayList<ModuleDependency>(); if (depUnit != null && depUnit.getParent() != null) { String parentName = depUnit.getParent().getName(); ModuleIdentifier depId = ModuleIdentifier.create(MODULE_PREFIX + parentName); dependencies.add(new ModuleDependency(null, depId, false, false, false, false)); } // Add dependencies on all modules this brev has a wire to for (BundleWire wire : wires) { XBundleRevision provider = (XBundleRevision) wire.getProvider(); ModuleIdentifier providerid = provider.getModuleIdentifier(); dependencies.add(new ModuleDependency(null, providerid, false, false, false, false)); } ModuleIdentifier identifier = brev.getModuleIdentifier(); return ModuleLoadService.install(serviceTarget, identifier, dependencies); }
@Override public ServiceName createModuleService(XBundleRevision brev, List<BundleWire> wires) { Deployment deployment = brev.getBundle().adapt(Deployment.class); DeploymentUnit depUnit = deployment.getAttachment(DeploymentUnit.class); // Add a dependency on the parent module if we have one List<ModuleDependency> dependencies = new ArrayList<ModuleDependency>(); if (depUnit != null && depUnit.getParent() != null) { String parentName = depUnit.getParent().getName(); ModuleIdentifier depId = ModuleIdentifier.create(MODULE_PREFIX + parentName); dependencies.add(new ModuleDependency(null, depId, false, false, false, false)); } // Add dependencies on all modules this brev has a wire to for (BundleWire wire : wires) { XBundleRevision provider = (XBundleRevision) wire.getProvider(); ModuleIdentifier providerid = provider.getModuleIdentifier(); dependencies.add(new ModuleDependency(null, providerid, false, false, false, false)); } ModuleIdentifier identifier = brev.getModuleIdentifier(); return ModuleLoadService.install(serviceTarget, identifier, dependencies); }