private void initialize() { BundleDescription description = new BundleDescription(bundle.getHeaders()); List<BundleDescription.ImportPackage> imports = description.getExternalImports(); for (BundleDescription.ImportPackage packageImport : imports) { String packageName = packageImport.getName(); ExportedPackage[] exports = packageAdmin.getExportedPackages(packageName); Bundle wiredBundle = isWired(bundle, exports); if (wiredBundle != null) { wiredImportedPackageNames.add(packageName.replace('.', '/')); break; } } }
private void initialize() { BundleDescription description = new BundleDescription(bundle.getHeaders()); List<BundleDescription.ImportPackage> imports = description.getExternalImports(); for (BundleDescription.ImportPackage packageImport : imports) { String packageName = packageImport.getName(); ExportedPackage[] exports = packageAdmin.getExportedPackages(packageName); Bundle wiredBundle = isWired(bundle, exports); if (wiredBundle != null) { wiredImportedPackageNames.add(packageName.replace('.', '/')); break; } } }
private void initialize() { BundleDescription description = new BundleDescription(bundle.getHeaders()); List<BundleDescription.ImportPackage> imports = description.getExternalImports(); for (BundleDescription.ImportPackage packageImport : imports) { String packageName = packageImport.getName(); ExportedPackage[] exports = packageAdmin.getExportedPackages(packageName); Bundle wiredBundle = isWired(bundle, exports); if (wiredBundle != null) { wiredImportedPackageNames.add(packageName.replace('.', '/')); break; } } }
public static LinkedHashSet<Bundle> getWiredBundles(PackageAdmin packageAdmin, Bundle bundle) { BundleDescription description = new BundleDescription(bundle.getHeaders()); // handle static wire via Import-Package List<BundleDescription.ImportPackage> imports = description.getExternalImports(); LinkedHashSet<Bundle> wiredBundles = new LinkedHashSet<Bundle>(); for (BundleDescription.ImportPackage packageImport : imports) { ExportedPackage[] exports = packageAdmin.getExportedPackages(packageImport.getName()); Bundle wiredBundle = getWiredBundle(bundle, exports); if (wiredBundle != null) { wiredBundles.add(wiredBundle); } } // handle dynamic wire via DynamicImport-Package if (!description.getDynamicImportPackage().isEmpty()) { for (Bundle b : bundle.getBundleContext().getBundles()) { if (!wiredBundles.contains(b)) { ExportedPackage[] exports = packageAdmin.getExportedPackages(b); Bundle wiredBundle = getWiredBundle(bundle, exports); if (wiredBundle != null) { wiredBundles.add(wiredBundle); } } } } return wiredBundles; }
private void scanImportPackages(Collection<String> classes, Bundle host, Bundle fragment) { BundleDescription description = new BundleDescription(fragment.getHeaders()); List<BundleDescription.ImportPackage> imports = description.getExternalImports(); for (BundleDescription.ImportPackage packageImport : imports) { String packageName = packageImport.getName(); if (discoveryFilter.packageDiscoveryRequired(packageName)) { ExportedPackage[] exports = packageAdmin.getExportedPackages(packageName); Bundle wiredBundle = isWired(host, exports); if (wiredBundle != null) { Set<String> allClasses = findAllClasses(wiredBundle, packageName); classes.addAll(allClasses); } } } }