/** * Caches the package capabilities that are needed for a set of interface classes * * @param classes interfaces we want to track */ private void cachePackageCapabilities(Class<?> ... classes) { BundleWiring ourWiring = bundleContext.getBundle().adapt(BundleWiring.class); Set<String> packageNames = new HashSet<String>(); for (Class<?> clazz: classes) { packageNames.add(clazz.getPackage().getName()); } List<BundleCapability> ourExports = ourWiring.getCapabilities(PACKAGE_NAMESPACE); for (BundleCapability ourExport : ourExports) { String ourPkgName = (String) ourExport.getAttributes().get(PACKAGE_NAMESPACE); if (packageNames.contains(ourPkgName)) { packageCapabilities.add(ourExport); } } }
@Override public Version getVersion() { Version version = (Version) bundleCapability.getAttributes().get(PackageNamespace.CAPABILITY_VERSION_ATTRIBUTE); return version == null ? Version.emptyVersion : version; }
public ExportedPackageImpl( Felix felix, BundleImpl exporter, BundleRevision revision, BundleCapability export) { m_felix = felix; m_exportingBundle = exporter; m_exportingRevision = revision; m_export = export; m_pkgName = (String) m_export.getAttributes().get(BundleRevision.PACKAGE_NAMESPACE); m_version = (!m_export.getAttributes().containsKey(BundleCapabilityImpl.VERSION_ATTR)) ? Version.emptyVersion : (Version) m_export.getAttributes().get(BundleCapabilityImpl.VERSION_ATTR); }
@Override public Version getVersion() { Version version = (Version) bundleCapability.getAttributes().get(PackageNamespace.CAPABILITY_VERSION_ATTRIBUTE); return version == null ? Version.emptyVersion : version; }
@Override public Version getVersion() { Version version = (Version) bundleCapability.getAttributes().get(PackageNamespace.CAPABILITY_VERSION_ATTRIBUTE); return version == null ? Version.emptyVersion : version; }
@Override public Version getVersion() { Version version = (Version) bundleCapability.getAttributes().get(PackageNamespace.CAPABILITY_VERSION_ATTRIBUTE); return version == null ? Version.emptyVersion : version; }
@Override public String getSymbolicName() { return (String) bundleCapability.getAttributes().get(BundleNamespace.BUNDLE_NAMESPACE); }
private static String getVersionFromCapability(BundleCapability c) { Object o = c.getAttributes().get(Constants.VERSION_ATTRIBUTE); if (o == null) { o = c.getAttributes().get(Constants.BUNDLE_VERSION_ATTRIBUTE); } return (o == null) ? "" : o.toString(); }
private static String getVersionFromCapability(BundleCapability c) { Object o = c.getAttributes().get(Constants.VERSION_ATTRIBUTE); if (o == null) { o = c.getAttributes().get(Constants.BUNDLE_VERSION_ATTRIBUTE); } return (o == null) ? "" : o.toString(); }
private static String getVersionFromCapability(BundleCapability c) { Object o = c.getAttributes().get(Constants.VERSION_ATTRIBUTE); if (o == null) { o = c.getAttributes().get(Constants.BUNDLE_VERSION_ATTRIBUTE); } return (o == null) ? "" : o.toString(); }
private static String getPermisionName(BundleCapability candidate) { Object name = candidate.getAttributes().get(candidate.getNamespace()); if (name instanceof String) { return (String) name; } if (name instanceof Collection) { Collection<?> names = (Collection<?>) name; return names.isEmpty() ? "unknown" : names.iterator().next().toString(); //$NON-NLS-1$ } return "unknown"; //$NON-NLS-1$ }
private static String getPermisionName(BundleCapability candidate) { Object name = candidate.getAttributes().get(candidate.getNamespace()); if (name instanceof String) { return (String) name; } if (name instanceof Collection) { Collection<?> names = (Collection<?>) name; return names.isEmpty() ? "unknown" : names.iterator().next().toString(); //$NON-NLS-1$ } return "unknown"; //$NON-NLS-1$ }
private static String getPermisionName(BundleCapability candidate) { Object name = candidate.getAttributes().get(candidate.getNamespace()); if (name instanceof String) { return (String) name; } if (name instanceof Collection) { Collection<?> names = (Collection<?>) name; return names.isEmpty() ? "unknown" : names.iterator().next().toString(); //$NON-NLS-1$ } return "unknown"; //$NON-NLS-1$ }
private static String getPermisionName(BundleCapability candidate) { Object name = candidate.getAttributes().get(candidate.getNamespace()); if (name instanceof String) { return (String) name; } if (name instanceof Collection) { Collection<?> names = (Collection<?>) name; return names.isEmpty() ? "unknown" : names.iterator().next().toString(); //$NON-NLS-1$ } return "unknown"; //$NON-NLS-1$ }
private String getCapabilityId(BundleCapability capability) { StringBuilder sb = new StringBuilder(64); sb.append(capability.getRevision().getBundle().getBundleId()); Object v = capability.getAttributes().get(Constants.VERSION_ATTRIBUTE); if (v != null) { sb.append("; version=").append(v.toString()); } return sb.toString(); } }
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 boolean matches(BundleCapability capability) { if (nameSpace.equals(capability.getNamespace())) { return null==filter ? true : filter.matches(capability.getAttributes()); } return false; }
private CapabilityDTO getCapabilityDTO(BundleCapability cap) { if (cap == null) { return null; } CapabilityDTO dto = new CapabilityDTO(); dto.id = identifier(cap); dto.namespace = cap.getNamespace(); dto.resource = getResourceId(cap.getRevision()); dto.attributes = newAttributesMapDTO(cap.getAttributes()); dto.directives = newDirectivesMapDTO(cap.getDirectives()); return dto; }
private CapabilityDTO getCapabilityDTO(BundleCapability cap) { if (cap == null) { return null; } CapabilityDTO dto = new CapabilityDTO(); dto.id = identifier(cap); dto.namespace = cap.getNamespace(); dto.resource = getResourceId(cap.getRevision()); dto.attributes = newAttributesMapDTO(cap.getAttributes()); dto.directives = newDirectivesMapDTO(cap.getDirectives()); return dto; }
private CapabilityDTO getCapabilityDTO(BundleCapability cap) { if (cap == null) { return null; } CapabilityDTO dto = new CapabilityDTO(); dto.id = identifier(cap); dto.namespace = cap.getNamespace(); dto.resource = getResourceId(cap.getRevision()); dto.attributes = newAttributesMapDTO(cap.getAttributes()); dto.directives = newDirectivesMapDTO(cap.getDirectives()); return dto; }