final PackageSource createExportPackageSource( ExportPackageDescription export, KeyedHashSet visited) { BundleLoaderProxy exportProxy = getLoaderProxy(export.getExporter()); if (exportProxy == null) // TODO log error!! return null; PackageSource requiredSource = exportProxy.getBundleLoader().findRequiredSource(export.getName(), visited); PackageSource exportSource = exportProxy.createPackageSource(export, false); if (requiredSource == null) return exportSource; return createMultiSource(export.getName(), new PackageSource[] {requiredSource, exportSource}); }
/** * This will iterate over the "Export-Package" manifest header of the given bundle and search a * bundle corresponding to the given qualified class name. * * <p>For example, if the qualified name we're given is "org.eclipse.acceleo.sample.Test", we'll * search for a bundle exporting the package "org.eclipse.acceleo.sample". * * @param model The bundle model that is to be checked. * @param qualifiedName Qualified name of the class we search the exported package of. * @return <code>true</code> iff <code>model</code> has an entry for a package corresponding to * <code>qualifiedName</code>. */ private static boolean hasCorrespondingExportPackage( IPluginModelBase model, String qualifiedName) { String packageName = ""; // $NON-NLS-1$ final int end = qualifiedName.lastIndexOf('.'); if (end != -1) { packageName = qualifiedName.substring(0, end); } for (ExportPackageDescription exported : model.getBundleDescription().getExportPackages()) { if (packageName.startsWith(exported.getName())) { return true; } } return false; }
public void checkWiringState_6() { ExportPackageDescription[] exports = bundle_6.getResolvedImports(); assertNotNull("export array is unexpectedly null", exports); assertTrue("export array is unexpectedly empty", exports.length > 0); for (int i = 0; i < exports.length; i++) { ExportPackageDescription exp = exports[i]; String exportPackageName = exp.getName(); assertNotNull("package name is null", exportPackageName); if (exportPackageName.equals("org.w3c.dom")) { assertNotNull("Package [org.w3c.dom] is not wired when it should be ", exp.getExporter()); assertEquals("Package [org.w3c.dom] is wired incorrectly ", exp.getExporter(), bundle_4); } else if (exportPackageName.equals("org.xml.sax")) { assertNotNull("Package [org.xml.sax] is not wired when it should be ", exp.getExporter()); assertEquals("Package [org.xml.sax] is wired incorrectly ", exp.getExporter(), bundle_3); } } // end for } // end method
public ExportPackageInfo(ExportPackageDescription exportPackageDescription) { name = exportPackageDescription.getName(); version = exportPackageDescription.getVersion().toString(); attributes = exportPackageDescription.getAttributes(); directives = exportPackageDescription.getDirectives(); }