private List<String> getExports(Bundle bundle) throws Exception { List<String> exports = new ArrayList<>(); BundleRevision rev = bundle.adapt(BundleRevision.class); List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE); for (BundleCapability cap : caps) { Map<String, Object> attr = cap.getAttributes(); String packageName = (String)attr.get(BundleRevision.PACKAGE_NAMESPACE); exports.add(packageName); } return exports; }
@Override public List<String> getExports(long bundleId) { Bundle bundle = bundleContext.getBundle(bundleId); BundleRevision rev = bundle.adapt(BundleRevision.class); List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE); List<String> exports = new ArrayList<>(); for (BundleCapability cap : caps) { Map<String, Object> attr = cap.getAttributes(); String packageName = (String)attr.get(BundleRevision.PACKAGE_NAMESPACE); exports.add(packageName); } return exports; }
private List<String> getExports(Bundle bundle) throws Exception { List<String> exports = new ArrayList<>(); BundleRevision rev = bundle.adapt(BundleRevision.class); List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE); for (BundleCapability cap : caps) { Map<String, Object> attr = cap.getAttributes(); String packageName = (String)attr.get(BundleRevision.PACKAGE_NAMESPACE); exports.add(packageName); } return exports; }
@Override public List<String> getExports(long bundleId) { Bundle bundle = bundleContext.getBundle(bundleId); BundleRevision rev = bundle.adapt(BundleRevision.class); List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE); List<String> exports = new ArrayList<>(); for (BundleCapability cap : caps) { Map<String, Object> attr = cap.getAttributes(); String packageName = (String)attr.get(BundleRevision.PACKAGE_NAMESPACE); exports.add(packageName); } return exports; }
private boolean isBundleLazyActivationPolicyUsed(BundleContext context) { if (context.getBundle().adapt(BundleStartLevel.class).isActivationPolicyUsed()) { // checking for lazy capability; NOTE this is equinox specific // but we fall back to header lookup for other frameworks List<BundleCapability> moduleData = context.getBundle().adapt(BundleRevision.class).getDeclaredCapabilities("equinox.module.data"); //$NON-NLS-1$ String activationPolicy = null; if (moduleData.isEmpty()) { activationPolicy = context.getBundle().getHeaders("").get(Constants.BUNDLE_ACTIVATIONPOLICY); //$NON-NLS-1$ } else { activationPolicy = (String) moduleData.get(0).getAttributes().get("activation.policy"); //$NON-NLS-1$ } return activationPolicy == null ? false : activationPolicy.startsWith(Constants.ACTIVATION_LAZY); } return false; }
private boolean checkResolveAble(BundleRequirement req) { Bundle[] bundles = bundleContext.getBundles(); for (Bundle bundle : bundles) { BundleRevision rev = bundle.adapt(BundleRevision.class); if (rev != null) { List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE); for (BundleCapability cap : caps) { if (req.matches(cap)) { return true; } } } } return false; }
private boolean checkResolveAble(BundleRequirement req) { Bundle[] bundles = bundleContext.getBundles(); for (Bundle bundle : bundles) { BundleRevision rev = bundle.adapt(BundleRevision.class); if (rev != null) { List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE); for (BundleCapability cap : caps) { if (req.matches(cap)) { return true; } } } } return false; }
/** * Returns true if the specified bundle revision is a singleton * (i.e., directive singleton:=true in Bundle-SymbolicName). * * @param revision the revision to check for singleton status. * @return true if the revision is a singleton, false otherwise. **/ public static boolean isSingleton(BundleRevision revision) { final List<BundleCapability> caps = revision.getDeclaredCapabilities(null); for (BundleCapability cap : caps) { // Find the bundle capability and check its directives. if (cap.getNamespace().equals(BundleRevision.BUNDLE_NAMESPACE)) { for (Entry<String, String> entry : cap.getDirectives().entrySet()) { if (entry.getKey().equalsIgnoreCase(Constants.SINGLETON_DIRECTIVE)) { return Boolean.valueOf(entry.getValue()); } } // Can only have one bundle capability, so break. break; } } return false; }
private synchronized void deindexCapabilities(BundleRevision br) { // We only need be concerned with declared capabilities here, // because resolved capabilities will be a subset, since fragment // capabilities are not considered to be part of the host. List<BundleCapability> caps = br.getDeclaredCapabilities(null); if (caps != null) { for (BundleCapability cap : caps) { CapabilitySet capSet = m_capSets.get(cap.getNamespace()); if (capSet != null) { capSet.removeCapability(cap); } } } }
public WrappingTransformer(ClassTransformer delegate, ServiceReference<?> persistenceProvider) { validate(delegate, persistenceProvider); this.delegate = delegate; Object packages = persistenceProvider.getProperty("org.apache.aries.jpa.container.weaving.packages"); if (packages instanceof String[]) { for (String s : (String[])packages) { packageImportsToAdd.add(s); } } else { Bundle provider = persistenceProvider.getBundle(); String suffix = ";" + Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE + "=" + provider.getSymbolicName() + ";" + Constants.BUNDLE_VERSION_ATTRIBUTE + "=" + provider.getVersion(); BundleRevision br = provider.adapt(BundleWiring.class).getRevision(); for (BundleCapability bc : br.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE)) { packageImportsToAdd.add(bc.getAttributes().get(BundleRevision.PACKAGE_NAMESPACE) + suffix); } } }
public List<PackageVersion> getExports() { Bundle[] bundles = bundleContext.getBundles(); SortedMap<String, PackageVersion> packageVersionMap = new TreeMap<>(); for (Bundle bundle : bundles) { BundleRevision rev = bundle.adapt(BundleRevision.class); if (rev != null) { List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE); for (BundleCapability cap : caps) { Map<String, Object> attr = cap.getAttributes(); String packageName = (String)attr.get(BundleRevision.PACKAGE_NAMESPACE); Version version = (Version)attr.get("version"); String key = packageName + ":" + version.toString(); PackageVersion pVer = packageVersionMap.computeIfAbsent(key, k -> new PackageVersion(packageName, version)); pVer.addBundle(bundle); } } } return new ArrayList<>(packageVersionMap.values()); }
public List<PackageVersion> getExports() { Bundle[] bundles = bundleContext.getBundles(); SortedMap<String, PackageVersion> packageVersionMap = new TreeMap<>(); for (Bundle bundle : bundles) { BundleRevision rev = bundle.adapt(BundleRevision.class); if (rev != null) { List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE); for (BundleCapability cap : caps) { Map<String, Object> attr = cap.getAttributes(); String packageName = (String)attr.get(BundleRevision.PACKAGE_NAMESPACE); Version version = (Version)attr.get("version"); String key = packageName + ":" + version.toString(); PackageVersion pVer = packageVersionMap.computeIfAbsent(key, k -> new PackageVersion(packageName, version)); pVer.addBundle(bundle); } } } return new ArrayList<>(packageVersionMap.values()); }
private SortedMap<String, PackageVersion> getDuplicatePackages(Bundle[] bundles) { SortedMap<String, PackageVersion> packageVersionMap = new TreeMap<>(); for (Bundle bundle : bundles) { BundleRevision rev = bundle.adapt(BundleRevision.class); if (rev != null) { List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE); for (BundleCapability cap : caps) { Map<String, Object> attr = cap.getAttributes(); String packageName = (String)attr.get(BundleRevision.PACKAGE_NAMESPACE); Version version = (Version)attr.get("version"); String key = packageName + ":" + version.toString(); PackageVersion pVer = packageVersionMap.computeIfAbsent(key, k -> new PackageVersion(packageName, version)); pVer.addBundle(bundle); } } } return packageVersionMap; } }
private SortedMap<String, PackageVersion> getDuplicatePackages(Bundle[] bundles) { SortedMap<String, PackageVersion> packageVersionMap = new TreeMap<>(); for (Bundle bundle : bundles) { BundleRevision rev = bundle.adapt(BundleRevision.class); if (rev != null) { List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE); for (BundleCapability cap : caps) { Map<String, Object> attr = cap.getAttributes(); String packageName = (String)attr.get(BundleRevision.PACKAGE_NAMESPACE); Version version = (Version)attr.get("version"); String key = packageName + ":" + version.toString(); PackageVersion pVer = packageVersionMap.computeIfAbsent(key, k -> new PackageVersion(packageName, version)); pVer.addBundle(bundle); } } } return packageVersionMap; } }
private BundleRevisionDTO getBundleRevisionDTO(BundleRevision revision) { if (revision == null) { return null; } BundleRevisionDTO dto = resources.get(revision); if (dto != null) { return dto; } dto = new BundleRevisionDTO(); dto.id = identifier(revision); resources.put(revision, dto); dto.bundle = revision.getBundle().getBundleId(); dto.symbolicName = revision.getSymbolicName(); dto.type = revision.getTypes(); dto.version = revision.getVersion().toString(); dto.capabilities = getListCapabilityDTO(revision.getDeclaredCapabilities(null)); dto.requirements = getListRequirementDTO(revision.getDeclaredRequirements(null)); return dto; }
private BundleRevisionDTO getBundleRevisionDTO(BundleRevision revision) { if (revision == null) { return null; } BundleRevisionDTO dto = resources.get(revision); if (dto != null) { return dto; } dto = new BundleRevisionDTO(); dto.id = identifier(revision); resources.put(revision, dto); dto.bundle = revision.getBundle().getBundleId(); dto.symbolicName = revision.getSymbolicName(); dto.type = revision.getTypes(); dto.version = revision.getVersion().toString(); dto.capabilities = getListCapabilityDTO(revision.getDeclaredCapabilities(null)); dto.requirements = getListRequirementDTO(revision.getDeclaredRequirements(null)); return dto; }
private BundleRevisionDTO getBundleRevisionDTO(BundleRevision revision) { if (revision == null) { return null; } BundleRevisionDTO dto = resources.get(revision); if (dto != null) { return dto; } dto = new BundleRevisionDTO(); dto.id = identifier(revision); resources.put(revision, dto); dto.bundle = revision.getBundle().getBundleId(); dto.symbolicName = revision.getSymbolicName(); dto.type = revision.getTypes(); dto.version = revision.getVersion().toString(); dto.capabilities = getListCapabilityDTO(revision.getDeclaredCapabilities(null)); dto.requirements = getListRequirementDTO(revision.getDeclaredRequirements(null)); return dto; }
private BundleRevisionDTO getBundleRevisionDTO(BundleRevision revision) { if (revision == null) { return null; } BundleRevisionDTO dto = resources.get(revision); if (dto != null) { return dto; } dto = new BundleRevisionDTO(); dto.id = identifier(revision); resources.put(revision, dto); dto.bundle = revision.getBundle().getBundleId(); dto.symbolicName = revision.getSymbolicName(); dto.type = revision.getTypes(); dto.version = revision.getVersion().toString(); dto.capabilities = getListCapabilityDTO(revision.getDeclaredCapabilities(null)); dto.requirements = getListRequirementDTO(revision.getDeclaredRequirements(null)); return dto; }
private BundleRevisionDTO getBundleRevisionDTO(BundleRevision revision) { if (revision == null) { return null; } BundleRevisionDTO dto = resources.get(revision); if (dto != null) { return dto; } dto = new BundleRevisionDTO(); dto.id = identifier(revision); resources.put(revision, dto); dto.bundle = revision.getBundle().getBundleId(); dto.symbolicName = revision.getSymbolicName(); dto.type = revision.getTypes(); dto.version = revision.getVersion().toString(); dto.capabilities = getListCapabilityDTO(revision.getDeclaredCapabilities(null)); dto.requirements = getListRequirementDTO(revision.getDeclaredRequirements(null)); return dto; }
private BundleRevisionDTO getBundleRevisionDTO(BundleRevision revision) { if (revision == null) { return null; } BundleRevisionDTO dto = resources.get(revision); if (dto != null) { return dto; } dto = new BundleRevisionDTO(); dto.id = identifier(revision); resources.put(revision, dto); dto.bundle = revision.getBundle().getBundleId(); dto.symbolicName = revision.getSymbolicName(); dto.type = revision.getTypes(); dto.version = revision.getVersion().toString(); dto.capabilities = getListCapabilityDTO(revision.getDeclaredCapabilities(null)); dto.requirements = getListRequirementDTO(revision.getDeclaredRequirements(null)); return dto; }