/** * create package from exported Packages * * @param bundleComponent the description of the bundle * @param bundleProject */ public void fillExportedPackages(Component bundleComponent, Object bundleProject) { if (bundleProject instanceof IBundleProjectDescription) { IPackageExportDescription[] packageExportDescription = ((IBundleProjectDescription) bundleProject).getPackageExports(); if (packageExportDescription != null) { ArrayList<EObject> exportedPackages = new ArrayList<EObject>(); for (int i = 0; i < packageExportDescription.length; i++) { Package UMLPackage = UMLFactory.eINSTANCE.createPackage(); UMLPackage.setName(packageExportDescription[i].getName()); bundleComponent.getPackagedElements().add(UMLPackage); Stereotype exportedPackageStereotype = UMLPackage.getApplicableStereotype( IADL4ECLIPSE_Stereotype.ECLIPSEEXPORTEDPACKAGE_STEREOTYPE); UMLPackage.applyStereotype(exportedPackageStereotype); UMLPackage.setValue( exportedPackageStereotype, IADL4ECLIPSE_Stereotype.ECLIPSEEXPORTEDPACKAGE_ISINTERNAL_ATT, !packageExportDescription[i].isApi()); if (packageExportDescription[i].getVersion() != null) { UMLPackage.setValue( exportedPackageStereotype, IOSGIStereotype.VERSIONRANGE_ATLEAST_ATT, packageExportDescription[i].getVersion().toString()); } exportedPackages.add(UMLPackage.getStereotypeApplication(exportedPackageStereotype)); } Stereotype pluginStereotype = bundleComponent.getAppliedStereotype(IADL4ECLIPSE_Stereotype.PLUGIN_STEREOTYPE); bundleComponent.setValue( pluginStereotype, IOSGIStereotype.BUNDLE_EXPORTPACKAGE_ATT, exportedPackages); } } }