private void resetContainer() { IJavaProject jProject = getProxyProject(); try { if (jProject != null) { JavaCore.setClasspathContainer(PDECore.JAVA_SEARCH_CONTAINER_PATH, new IJavaProject[] {jProject}, new IClasspathContainer[] {new ExternalJavaSearchClasspathContainer()}, null); saveStates(); } } catch (JavaModelException e) { } }
public synchronized SearchablePluginsManager getSearchablePluginsManager() { if (fSearchablePluginsManager == null) { fSearchablePluginsManager = new SearchablePluginsManager(); } return fSearchablePluginsManager; }
@Override public void run(IProgressMonitor monitor) throws InvocationTargetException { try { SearchablePluginsManager manager = PDECore.getDefault().getSearchablePluginsManager(); if (fAdd) manager.addToJavaSearch(fModels); else manager.removeFromJavaSearch(fModels); } finally { monitor.done(); } }
public void removeAllFromJavaSearch() { if (fPluginIdSet.size() > 0) { PluginModelDelta delta = new PluginModelDelta(); for (Iterator<String> iterator = fPluginIdSet.iterator(); iterator.hasNext();) { String id = iterator.next(); ModelEntry entry = PluginRegistry.findEntry(id); if (entry != null) { delta.addEntry(entry, PluginModelDelta.CHANGED); } } fPluginIdSet.clear(); resetContainer(); fireDelta(delta); } }
public static void openClass(String pluginId, String clazz) { IPluginModelBase model = PluginRegistry.findModel(pluginId); IResource resource = model != null ? model.getUnderlyingResource() : null; IJavaProject project = null; // if we don't find a model if (model == null) { MessageDialog.openError(Display.getCurrent().getActiveShell(), PDERuntimeMessages.SpyIDEUtil_noSourceFound_title, NLS.bind(PDERuntimeMessages.SpyIDEUtil_noSourceFound_message, new Object[] {clazz})); return; } if (resource != null) { // project is open in workspace project = JavaCore.create(resource.getProject()); } else { SearchablePluginsManager manager = PDECore.getDefault().getSearchablePluginsManager(); try { manager.createProxyProject(new NullProgressMonitor()); manager.addToJavaSearch(new IPluginModelBase[] {model}); project = manager.getProxyProject(); } catch (CoreException e) { // ignore } } if (project != null) openInEditor(project, clazz); }
private void resetContainer() { IJavaProject jProject = getProxyProject(); try { if (jProject != null) { JavaCore.setClasspathContainer( PDECore.JAVA_SEARCH_CONTAINER_PATH, new IJavaProject[] {jProject}, new IClasspathContainer[]{new ExternalJavaSearchClasspathContainer()}, null); } } catch (JavaModelException e) { } }
public void addToJavaSearch(IPluginModelBase[] models) { checkForProxyProject(); PluginModelDelta delta = new PluginModelDelta(); int size = fPluginIdSet.size(); for (int i = 0; i < models.length; i++) { String id = models[i].getPluginBase().getId(); if (fPluginIdSet.add(id)) { ModelEntry entry = PluginRegistry.findEntry(id); if (entry != null) delta.addEntry(entry, PluginModelDelta.CHANGED); } } if (fPluginIdSet.size() > size) { resetContainer(); fireDelta(delta); } }
manager.removeAllFromJavaSearch(); manager.addToJavaSearch(fBundles); } else { if (fBundles != null) { manager.removeFromJavaSearch(fBundles); } else { manager.removeAllFromJavaSearch();
public void modelsChanged(PluginModelDelta delta) { ModelEntry[] entries = delta.getRemovedEntries(); for (int i = 0; i < entries.length; i++) { if (fPluginIdSet.contains(entries[i].getId())) { fPluginIdSet.remove(entries[i].getId()); } } resetContainer(); }
@Override public Object createAdapterChild(FileAdapter parent, File file) { if (!file.isDirectory()) { if (file.isFile()) { IPackageFragmentRoot root = findPackageFragmentRoot(new Path(file.getAbsolutePath())); if (root != null) return root; } } return new FileAdapter(parent, file, this); }
public IClasspathEntry[] getClasspathEntries() { if (fEntries == null) { try { SearchablePluginsManager manager = PDECore.getDefault().getSearchablePluginsManager(); fEntries = manager.computeContainerClasspathEntries(); } catch (CoreException e) { PDECore.logException(e); } } return fEntries; }
fSearchablePluginsManager.shutdown(); fSearchablePluginsManager = null;
private void checkForProxyProject() { IWorkspaceRoot root = PDECore.getWorkspace().getRoot(); try { IProject project = root.getProject(SearchablePluginsManager.PROXY_PROJECT_NAME); if (!project.exists()) createProxyProject(new NullProgressMonitor()); } catch (CoreException e) { } }
public static IProject[] getAffectedProjects(ILaunchConfiguration config) throws CoreException { // if restarting, no need to check projects for errors if (config.getAttribute(IPDEConstants.RESTART, false)) return new IProject[0]; ArrayList projects = new ArrayList(); IPluginModelBase[] models = getSelectedWorkspacePlugins(config); for (int i = 0; i < models.length; i++) { IProject project = models[i].getUnderlyingResource().getProject(); if (project.hasNature(JavaCore.NATURE_ID)) projects.add(project); } // add fake "Java Search" project SearchablePluginsManager manager = PDECore.getDefault().getSearchablePluginsManager(); IJavaProject proxy = manager.getProxyProject(); if (proxy != null) { projects.add(proxy.getProject()); } return (IProject[]) projects.toArray(new IProject[projects.size()]); }
public void removeFromJavaSearch(IPluginModelBase[] models) { PluginModelDelta delta = new PluginModelDelta(); int size = fPluginIdSet.size(); for (int i = 0; i < models.length; i++) { String id = models[i].getPluginBase().getId(); if (fPluginIdSet.remove(id)) { ModelEntry entry = PluginRegistry.findEntry(id); if (entry != null) { delta.addEntry(entry, PluginModelDelta.CHANGED); } } } if (fPluginIdSet.size() < size) { resetContainer(); fireDelta(delta); } }
@Override public void modelsChanged(PluginModelDelta delta) { ModelEntry[] entries = delta.getRemovedEntries(); for (int i = 0; i < entries.length; i++) { if (fPluginIdSet.contains(entries[i].getId())) { fPluginIdSet.remove(entries[i].getId()); } } resetContainer(); }
public Object createAdapterChild(FileAdapter parent, File file) { if (!file.isDirectory()) { String name = file.getName().toLowerCase(Locale.ENGLISH); try { if (name.endsWith(".jar")) { //$NON-NLS-1$ IPackageFragmentRoot root = findPackageFragmentRoot(new Path(file.getAbsolutePath())); if (root != null) return root; } } catch (CoreException e) { PDECore.log(e); } } return new FileAdapter(parent, file, this); }
@Override public IClasspathEntry[] getClasspathEntries() { if (fEntries == null) { try { SearchablePluginsManager manager = PDECore.getDefault().getSearchablePluginsManager(); fEntries = manager.computeContainerClasspathEntries(); } catch (CoreException e) { PDECore.logException(e); } } return fEntries; }
public void stop(BundleContext context) throws CoreException { PDECore.getDefault().savePluginPreferences(); fJavaElementChangeListener.shutdown(); fPluginRebuilder.stop(); fFeatureRebuilder.stop(); if (fSchemaRegistry != null) { fSchemaRegistry.shutdown(); fSchemaRegistry = null; } if (fTargetProfileManager != null) { fTargetProfileManager.shutdown(); fTargetProfileManager = null; } if (fSearchablePluginsManager != null) { getWorkspace().removeSaveParticipant(inst); fSearchablePluginsManager.shutdown(); fSearchablePluginsManager = null; } if (fFeatureModelManager != null) { fFeatureModelManager.shutdown(); fFeatureModelManager = null; } if (fModelManager != null) { fModelManager.shutdown(); fModelManager = null; } } }
private IPackageFragmentRoot findPackageFragmentRoot(IPath jarPath) { IJavaProject jProject = getProxyProject(); if (jProject != null) { try {