public static TreeSet<String> getProductNameSet() { TreeSet<String> result = new TreeSet<>(); IExtension[] extensions = PDECore.getDefault().getExtensionsRegistry().findExtensions("org.eclipse.core.runtime.products", true); //$NON-NLS-1$ for (int i = 0; i < extensions.length; i++) { IConfigurationElement[] elements = extensions[i].getConfigurationElements(); if (elements.length != 1) continue; if (!"product".equals(elements[0].getName())) //$NON-NLS-1$ continue; String id = extensions[i].getUniqueIdentifier(); if (id != null && id.trim().length() > 0) result.add(id); } return result; }
public PDEState(URL[] workspace, URL[] target, boolean resolve, IProgressMonitor monitor) { long start = System.currentTimeMillis(); fExtensionRegistry = new PDEExtensionRegistry(); fAuxiliaryState = new PDEAuxiliaryState(); if (resolve) { readTargetState(target, monitor); } else { createNewTargetState(resolve, target, monitor); fExtensionRegistry.createExtensionDocument(fState); } createTargetModels(fState.getBundles()); if (resolve && workspace.length > 0 && !fNewState && !"true".equals(System.getProperty("pde.nocache"))) //$NON-NLS-1$ //$NON-NLS-2$ readWorkspaceState(workspace); fExtensionRegistry.clear(); fAuxiliaryState.clear(); if (DEBUG) System.out.println("Time to create state: " + (System.currentTimeMillis() - start) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$ }
@Override public IPluginModelBase[] getMatchingModels() { if (fInput == null) return new IPluginModelBase[0]; String pointId = fInput.getSearchString(); PDEExtensionRegistry registry = PDECore.getDefault().getExtensionsRegistry(); IPluginModelBase[] models = null; if (fInput.getSearchLimit() == PluginSearchInput.LIMIT_REFERENCES) { models = registry.findExtensionPlugins(pointId, false); } else { IPluginModelBase base = registry.findExtensionPointPlugin(pointId); models = (base == null) ? new IPluginModelBase[0] : new IPluginModelBase[] {base}; } return addRelevantModels(models); }
@Override public void linkActivated(HyperlinkEvent e) { String extPoint = "org.eclipse.ui." + e.getHref().toString(); //$NON-NLS-1$ IPluginExtensionPoint point = PDECore.getDefault().getExtensionsRegistry().findExtensionPoint(extPoint); if (point != null) new ShowDescriptionAction(point, true).run(); } }
public synchronized PDEExtensionRegistry getExtensionsRegistry() { if (fExtensionRegistry == null) { fExtensionRegistry = new PDEExtensionRegistry(); } return fExtensionRegistry; }
private void findReferences(CompositeChange compositeChange, IProgressMonitor monitor) { String pointId = getId(); IPluginModelBase[] bases = PDECore.getDefault().getExtensionsRegistry().findExtensionPlugins(pointId, true); SubMonitor subMonitor = SubMonitor.convert(monitor, bases.length); for (int i = 0; i < bases.length; i++) { IFile file = getModificationFile(bases[i]); if (file != null) { compositeChange.addAll(PDEModelUtility.changesForModelModication(getExtensionModification(file), subMonitor.split(1))); } subMonitor.setWorkRemaining(bases.length - i); } }
public void stop() { if (fRegistry != null) fRegistry.stop(fMasterKey); dispose(); }
protected void saveExtensions(State state, File dir) { try { File file = new File(dir, CACHE_EXTENSION); //$NON-NLS-1$ XMLPrintHandler.writeFile(createExtensionDocument(state), file); } catch (IOException e) { } }
protected synchronized IExtensionRegistry getRegistry() { if (fRegistry == null) { fRegistry = createRegistry(); for (ListIterator<IRegistryChangeListener> li = fListeners.listIterator(); li.hasNext();) fRegistry.addRegistryChangeListener(li.next()); } return fRegistry; }
@Override protected void createClient(Section section, FormToolkit toolkit) { section.setText(PDEUIMessages.ProductInfoSection_title); section.setDescription(PDEUIMessages.ProductInfoSection_desc); section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1)); TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB); data.colspan = 2; section.setLayoutData(data); Composite client = toolkit.createComposite(section); client.setLayout(FormLayoutFactory.createSectionClientGridLayout(false, NUM_COLUMNS)); IActionBars actionBars = getPage().getPDEEditor().getEditorSite().getActionBars(); // product section createProductEntry(client, toolkit, actionBars); createApplicationEntry(client, toolkit, actionBars); createConfigurationOption(client, toolkit); toolkit.paintBordersFor(client); section.setClient(client); getModel().addModelChangedListener(this); PDECore.getDefault().getExtensionsRegistry().addListener(this); PDECore.getDefault().getModelManager().addStateDeltaListener(this); }
@Override public void linkActivated(HyperlinkEvent e) { String extPoint = Platform.PI_RUNTIME + "." + e.getHref().toString(); //$NON-NLS-1$ IPluginExtensionPoint point = PDECore.getDefault().getExtensionsRegistry().findExtensionPoint(extPoint); if (point != null) new ShowDescriptionAction(point, true).run(); }
public PDEState(PDEState state) { super(state); fTargetModels = new ArrayList(state.fTargetModels); fCombined = false; fTargetTimestamp = state.fTargetTimestamp; fAuxiliaryState = new PDEAuxiliaryState(state.fAuxiliaryState); if (fAuxiliaryState.fPluginInfos.isEmpty()) fAuxiliaryState.readPluginInfoCache(new File(DIR, Long.toString(fTargetTimestamp) + ".target")); //$NON-NLS-1$ fExtensionRegistry = new PDEExtensionRegistry(state.fExtensionRegistry); }
private TreeSet<String> getCurrentIntroIds() { String introId; TreeSet<String> result = new TreeSet<>(); IExtension[] extensions = PDECore.getDefault().getExtensionsRegistry().findExtensions("org.eclipse.ui.intro", true); //$NON-NLS-1$ for (IExtension extension : extensions) { IConfigurationElement[] children = extension.getConfigurationElements(); for (IConfigurationElement element : children) { if ("intro".equals(element.getName())) {//$NON-NLS-1$ introId = element.getAttribute("id"); //$NON-NLS-1$ if (introId != null) result.add(introId); } } } return result; }
public void setInput(String fullPointID) { // Ensure point ID is defined if (fullPointID == null) { fSchema = null; fFullPointID = PDEUIMessages.OpenSchemaAction_msgUnknown; return; } fFullPointID = fullPointID; // Find the corresponding extension point IPluginExtensionPoint point = PDECore.getDefault().getExtensionsRegistry().findExtensionPoint(fFullPointID); // Ensure the extension point is defined if (point == null) { fSchema = null; return; } // Find the schema fSchema = findSchema(point); }
public static Set<String> getApplicationNameSet() { TreeSet<String> result = new TreeSet<>(); IExtension[] extensions = PDECore.getDefault().getExtensionsRegistry().findExtensions("org.eclipse.core.runtime.applications", true); //$NON-NLS-1$ for (int i = 0; i < extensions.length; i++) { String id = extensions[i].getUniqueIdentifier(); IConfigurationElement[] elements = extensions[i].getConfigurationElements(); if (elements.length != 1) continue; String visiblity = elements[0].getAttribute("visible"); //$NON-NLS-1$ boolean visible = visiblity == null ? true : Boolean.valueOf(visiblity).booleanValue(); if (id != null && visible) { result.add(id); } } result.add("org.eclipse.ui.ide.workbench"); //$NON-NLS-1$ return result; }
public ISchema getSchema(String extPointID) { IPluginExtensionPoint point = PDECore.getDefault().getExtensionsRegistry().findExtensionPoint(extPointID); if (point == null) { // if there is an old schema associated with this extension point, release it. if (fRegistry.containsKey(extPointID)) fRegistry.remove(extPointID); return null; } URL url = getSchemaURL(point); if (url == null) return null; ISchemaDescriptor desc = getExistingDescriptor(extPointID, url); if (desc == null) { desc = new SchemaDescriptor(extPointID, url); fRegistry.put(extPointID, desc); } return desc.getSchema(true); }
private static void getApplicationRequirements(String application, Collection requiredIds) { PDEExtensionRegistry registry = PDECore.getDefault().getExtensionsRegistry(); IExtension[] extensions = registry.findExtensions("org.eclipse.core.runtime.applications", true); //$NON-NLS-1$ for (int i = 0; i < extensions.length; i++) { if (application.equals(extensions[i].getUniqueIdentifier()) || application.equals(extensions[i].getSimpleIdentifier())) { requiredIds.add(extensions[i].getNamespaceIdentifier()); // Only one extension should match the application so break out of the looop break; } } } }
public void setInput(IPluginExtension extension) { // Ensure the extension is defined if (extension == null) { fSchema = null; fFullPointID = PDEUIMessages.OpenSchemaAction_msgUnknown; return; } // Get the full extension point ID fFullPointID = extension.getPoint(); // Find the corresponding extension point IPluginExtensionPoint point = PDECore.getDefault().getExtensionsRegistry().findExtensionPoint(fFullPointID); // Ensure the extension point is defined if (point == null) { fSchema = null; return; } // Find the schema fSchema = findSchema(point); }
private static void getProductRequirements(String product, Collection requiredIds) { PDEExtensionRegistry registry = PDECore.getDefault().getExtensionsRegistry(); IExtension[] extensions = registry.findExtensions("org.eclipse.core.runtime.products", true); //$NON-NLS-1$ for (int i = 0; i < extensions.length; i++) { if (product.equals(extensions[i].getUniqueIdentifier()) || product.equals(extensions[i].getSimpleIdentifier())) { requiredIds.add(extensions[i].getNamespaceIdentifier()); IConfigurationElement[] elements = extensions[i].getConfigurationElements(); for (int j = 0; j < elements.length; j++) { String application = elements[j].getAttribute("application"); //$NON-NLS-1$ if (application != null && application.length() > 0) { getApplicationRequirements(application, requiredIds); } } // Only one extension should match the product so break out of the looop break; } } }
private void addShowDescriptionAction(Object object, IMenuManager menu) { if (object instanceof IPluginExtensionPoint) { IPluginExtensionPoint extPoint = (IPluginExtensionPoint) object; String pointID = extPoint.getFullId(); if (pointID.indexOf('.') == -1) { // Point ID is not fully qualified pointID = fullyQualifyPointID(pointID); } menu.add(new ShowDescriptionAction(extPoint, pointID)); } else if (object instanceof IPluginExtension) { String point = ((IPluginExtension) object).getPoint(); IPluginExtensionPoint extPoint = PDECore.getDefault().getExtensionsRegistry().findExtensionPoint(point); if (extPoint != null) menu.add(new ShowDescriptionAction(extPoint)); } }