public static List<ContextComputationStrategy> readContextComputationStrategies() { List<ContextComputationStrategy> strategies = new ArrayList<ContextComputationStrategy>(); IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(STRATEGIES_EXTENSION_POINT_ID); IExtension[] extensions = extensionPoint.getExtensions(); for (IExtension extension : extensions) { IConfigurationElement[] configurationElements = extension.getConfigurationElements(); for (IConfigurationElement element : configurationElements) { if (element.getName().equals(CONTEXT_COMPUTATION_STRATEGY)) { try { ContextComputationStrategy strategy = (ContextComputationStrategy) element.createExecutableExtension(ATTRIBUTE_CLASS); strategies.add(strategy); } catch (Throwable t) { StatusHandler.log( new Status( IStatus.ERROR, ContextCorePlugin.ID_PLUGIN, NLS.bind( "Cannot instantiate {0} from bundle {1}: {2}", //$NON-NLS-1$ new Object[] { element.getAttribute(ATTRIBUTE_CLASS), extension.getContributor().getName(), t.getMessage() }), t)); } } } } return strategies; }
void processingExtensionPointByHand() { String xpid = "net.refractions.udig.project.ui.tool"; IExtensionRegistry registry = Platform.getExtensionRegistry(); IExtensionPoint extensionPoint = registry.getExtensionPoint(xpid); if (extensionPoint == null) { throw new NullPointerException("Could not find extensionPoint:" + xpid); } for (IExtension extension : extensionPoint.getExtensions()) { for (IConfigurationElement element : extension.getConfigurationElements()) { String name = element.getName(); System.out.println(name); if ("modalTool".equals(name)) { try { ModalTool tool = (ModalTool) element.createExecutableExtension("class"); System.out.println(tool); } catch (CoreException e) { // Perhaps an error in the constructor? String message = "Could not create Modal tool " + element.getAttribute("class"); Status status = new Status(IStatus.ERROR, extension.getContributor().getName(), message, e); Activator.getDefault().getLog().log(status); } } } } }
private static void dumpExtensions(final IExtension[] extensions, final int depth) { for (final IExtension extension : extensions) { System.out.println( indent(0) + "uid=" + extension.getUniqueIdentifier() + " bundle=" //$NON-NLS-1$ //$NON-NLS-2$ + extension.getContributor().getName() + " "); //$NON-NLS-1$ dumpConfigurationElements(1, depth, extension.getConfigurationElements()); } }
public Image getImage() { if (pageImage == null) { String imageName = fConfigElement.getAttribute(ATT_ICON); if (imageName != null) { IExtension extension = fConfigElement.getDeclaringExtension(); String plugin = extension.getContributor().getName(); Image image = getImageFromPlugin(plugin, imageName); pageImage = image; } } return pageImage; }
private static void getExtensionsPaths( final Set<String> result, final String path, final IExtension[] extensions) { for (final IExtension extension : extensions) { final String subPath = path + "uid=" + extension.getUniqueIdentifier() + " bundle=" //$NON-NLS-1$ //$NON-NLS-2$ + extension.getContributor().getName() + " "; //$NON-NLS-1$ getConfigurationElementsPaths(result, subPath, extension.getConfigurationElements()); } }
/** * Process extension. * * @param extension the extension * @return the collection */ private Collection<ModelTemplateDescription> processExtension(IExtension extension) { List<ModelTemplateDescription> templates = new ArrayList<ModelTemplateDescription>(); for (IConfigurationElement configElement : extension.getConfigurationElements()) { ModelTemplateDescription template = new ModelTemplateDescription( configElement.getAttribute(ATTRIBUTE_NAME), extension.getContributor().getName(), configElement.getAttribute(ATTRIBUTE_UML_FILE), configElement.getAttribute(ATTRIBUTE_NOTATION_FILE), configElement.getAttribute(ATTRIBUTE_DI_FILE)); template.setLanguage(configElement.getAttribute(ATTRIBUTE_LANGUAGE)); templates.add(template); } return templates; }
/** * return the list of EPackage declared in the given list of bundles. * * @param bundles a collection of bundles. * @return the list of EPackage declarations made through the plugin.xml of those bundles. */ protected Collection<EPackageLoadingCallback.EPackageDeclarationSource> getEPackagesDeclaredInBundles(Collection<String> bundles) { Collection<EPackageLoadingCallback.EPackageDeclarationSource> result = Lists.newArrayList(); if (EMFPlugin.IS_ECLIPSE_RUNNING) { final IExtensionRegistry reg = Platform.getExtensionRegistry(); Multimap<String, EPackageDeclaration> contributions = HashMultimap.create(); final IExtensionPoint ep = reg.getExtensionPoint(EMF_GENERATED_PACKAGE_EXTENSIONPOINT); for (final IExtension ext : ep.getExtensions()) { final IConfigurationElement[] ce = ext.getConfigurationElements(); String contributorName = ext.getContributor().getName(); if (bundles.contains(contributorName)) { for (IConfigurationElement element : ce) { String nsURI = element.getAttribute("uri"); // $NON-NLS-1$ String className = element.getAttribute("class"); // $NON-NLS-1$ String genModel = element.getAttribute("genModel"); // $NON-NLS-1$ if (nsURI != null && className != null) { contributions.put( contributorName, new EPackageDeclaration(nsURI, className, genModel)); } else { DslCommonPlugin.getDefault() .warning( MessageFormat.format( Messages.BundleClassLoading_ignoredEPackageDeclaration, contributorName), new IllegalArgumentException()); } } } } for (String contributor : contributions.keySet()) { Collection<EPackageDeclaration> declarations = contributions.get(contributor); if (declarations.size() > 0) { result.add( new EPackageLoadingCallback.EPackageDeclarationSource( contributor, declarations, true)); } } } return result; }
/** * Acede aos pontos de extensão que implementam a interface SearchProvider e adiciona-os a uma * lista */ private void getProviders() { IExtensionRegistry reg = Platform.getExtensionRegistry(); IExtensionPoint extensionPoint = reg.getExtensionPoint("pa.iscde.filtersearch.SearchProvider"); IExtension[] extensions = extensionPoint.getExtensions(); SearchProvider p = null; String iconName = null; for (IExtension ext : extensions) { for (IConfigurationElement configurationElement : ext.getConfigurationElements()) { try { p = (SearchProvider) configurationElement.createExecutableExtension("SearchProvider"); iconName = configurationElement.getAttribute("iconName"); } catch (CoreException e) { e.printStackTrace(); } providerAndImageMap.put(p, new ExternalImage(iconName, ext.getContributor().getName())); } } }
public static IFormFieldExtension[] getFormFieldExtensions() { ArrayList<IFormFieldExtension> formFieldExtensionList = new ArrayList<IFormFieldExtension>(); IExtensionRegistry reg = Platform.getExtensionRegistry(); IExtensionPoint xp = reg.getExtensionPoint(Activator.PLUGIN_ID, "formfields"); IExtension[] extensions = xp.getExtensions(); for (IExtension extension : extensions) { IConfigurationElement[] elements = extension.getConfigurationElements(); for (IConfigurationElement element : elements) { String name = element.getAttribute("name"); boolean active = "true".equalsIgnoreCase(element.getAttribute("active")); FormFieldExtension formFieldExt = new FormFieldExtension(name); formFieldExt.setContibuterBundleId(extension.getContributor().getName()); formFieldExt.setActive(active); formFieldExt.setScope(getScopePriority(element.getAttribute("scope"))); formFieldExt.setModelClassName(element.getAttribute("modelClass")); formFieldExt.setFactoryClassName(getClassName(element.getChildren("factory"), "class")); formFieldExt.setUiClassName(getClassName(element.getChildren("uiClass"), "class")); formFieldExtensionList.add(formFieldExt); } } return formFieldExtensionList.toArray(new IFormFieldExtension[formFieldExtensionList.size()]); }
UIExtensionManifest(IExtension dataSourceExtn) throws OdaException { // first process the dataSourceUI element IConfigurationElement dataSourceElement = UIManifestExplorer.getNamedElement(dataSourceExtn, DATA_SOURCE_ELEMENT_NAME); assert (dataSourceElement != null); m_namespace = dataSourceExtn.getContributor().getName(); // first cache the data source element's attributes m_dataSourceElementId = dataSourceElement.getAttribute("id"); // $NON-NLS-1$ assert (m_dataSourceElementId != null && m_dataSourceElementId.length() > 0); // newDataSourceWizard element associated with dataSourceUI IConfigurationElement[] newWizardElements = dataSourceElement.getChildren(DATA_SOURCE_WIZARD_ELEMENT_NAME); if (newWizardElements.length < 1) // expects one element throw new OdaException( Messages.bind(Messages.manifest_missingAttributeValue, DATA_SOURCE_WIZARD_ELEMENT_NAME)); m_dataSourceWizardInfo = new DataSourceWizardInfo(newWizardElements[0]); // data set UI definition elements in the same extension m_dataSetUIElements = getDataSetUIElements(dataSourceExtn); }
public void initialize() { // if (_isInitalized) { return; } // set initialized _isInitalized = true; // _extensionInstances = new LinkedList<T>(); _extensionBundleNamespaces = new LinkedList<String>(); // get the extension registry IExtensionRegistry registry = RegistryFactory.getRegistry(); // get the extension points IExtensionPoint extensionPoint = registry.getExtensionPoint(_extensionPointId); // get the extension tracker _tracker = new ExtensionTracker(registry); // for (IExtension extension : extensionPoint.getExtensions()) { // _extensionBundleNamespaces.add(extension.getContributor().getName()); // addExtension(_tracker, extension); } // register IExtensionChangeHandler _tracker.registerHandler(this, ExtensionTracker.createExtensionPointFilter(extensionPoint)); }