import org.osgi.framework.*;
import org.osgi.service.packageadmin.PackageAdmin;
public class PackageAdminExample {
public static void main(String[] args) {
BundleContext context = FrameworkUtil.getBundle(PackageAdminExample.class).getBundleContext();
PackageAdmin packageAdmin = context.getService(
context.getServiceReference(PackageAdmin.class));
Bundle bundle = context.getBundle();
ExportedPackage[] importedPackages = packageAdmin.getExportedPackages(bundle);
for (ExportedPackage importedPackage : importedPackages) {
System.out.println("Imported package: " + importedPackage.getName());
}
Bundle[] users = packageAdmin.getImportingBundles(exportedPackage);
for (Bundle user : users) {
System.out.println("Package " + exportedPackage.getName() + " is used by bundle " + user.getSymbolicName());
}
packageAdmin.importPackage(bundle, "com.example.package");
packageAdmin.unexportPackage(exportedPackage);
}
}