private boolean isInterestingProject(IJavaProject jProject) { IProject project = jProject.getProject(); return WorkspaceModelManager.isPluginProject(project) && !WorkspaceModelManager.isBinaryProject(project) && !project.exists(ICoreConstants.MANIFEST_PATH); }
protected Object removeModel(IProject project) { Object model = fModels != null ? fModels.remove(project) : null; addChange(model, IModelProviderEvent.MODELS_REMOVED); return model; }
protected synchronized void initialize() { if (fModels != null) return; fModels = Collections.synchronizedMap(new HashMap<IProject, IModel>()); IProject[] projects = PDECore.getWorkspace().getRoot().getProjects(); for (int i = 0; i < projects.length; i++) { if (isInterestingProject(projects[i])) createModel(projects[i], false); } addListeners(); }
/** * Returns <code>false</code> if the given element is a binary plug-in/feature project, * and <code>true</code> otherwise. * * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ @Override public boolean select(Viewer viewer, Object parentElement, Object element) { IProject project = null; if (element instanceof IJavaProject) { project = ((IJavaProject) element).getProject(); } else if (element instanceof IProject) { project = (IProject) element; } if (project != null) { if (WorkspaceModelManager.isPluginProject(project) || WorkspaceModelManager.isFeatureProject(project)) { return !WorkspaceModelManager.isBinaryProject(project); } } return true; }
public void resourceChanged(IResourceChangeEvent event) { switch (event.getType()) { case IResourceChangeEvent.POST_CHANGE: handleResourceDelta(event.getDelta()); processModelChanges(); break; case IResourceChangeEvent.PRE_CLOSE: removeModel((IProject)event.getResource()); processModelChanges(); break; } }
case IResource.PROJECT : { IProject project = (IProject) resource; if (isInterestingProject(project) && (delta.getKind() == IResourceDelta.ADDED || (delta.getFlags() & IResourceDelta.OPEN) != 0)) { createModel(project, true); return false; } else if (delta.getKind() == IResourceDelta.REMOVED) { removeModel(project); return false; return isInterestingFolder((IFolder) resource); case IResource.FILE : if (isContentChange(delta)) { handleFileDelta(delta); return false;
private static void handleUseDefault(String launcherTimeStamp, ArrayList projects) { IProject[] projs = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (int i = 0; i < projs.length; i++) { if (!WorkspaceModelManager.isPluginProject(projs[i])) continue; String timestamp = getTimeStamp(projs[i]); if (timestamp.compareTo(launcherTimeStamp) > 0 && shouldAdd(projs[i], launcherTimeStamp, timestamp)) projects.add(projs[i]); } }
public static boolean isBinaryProject(IProject project) { return org.eclipse.pde.internal.core.WorkspaceModelManager.isBinaryProject(project); }
private void handleExistingUnshared() { ArrayList<Object> result = new ArrayList<>(); for (IPluginModelBase model : fModels) { String id = model.getPluginBase().getId(); IProject project = (IProject) PDEPlugin.getWorkspace().getRoot().findMember(id); if (project != null && WorkspaceModelManager.isUnsharedProject(project) && WorkspaceModelManager.isPluginProject(project)) { result.add(model); } } handleSetImportSelection(result); }
protected Object getModel(IProject project) { initialize(); return fModels.get(project); }
protected void createAndFireEvent(String eventId, int type, Collection<IModel> added, Collection<IModel> removed, Collection<IModel> changed) { if (eventId.equals("org.eclipse.pde.core.IModelProviderEvent")) { //$NON-NLS-1$ final ModelProviderEvent event = new ModelProviderEvent(this, type, added.toArray(new IModel[added.size()]), removed.toArray(new IModel[removed.size()]), changed.toArray(new IModel[changed.size()])); fireModelProviderEvent(event); } } }
case IResource.PROJECT: { IProject project = (IProject) resource; if (isInterestingProject(project) && (delta.getKind() == IResourceDelta.ADDED || (delta .getFlags() & IResourceDelta.OPEN) != 0)) { createModel(project, true); return false; } else if (delta.getKind() == IResourceDelta.REMOVED) { removeModel(project); return false; return isInterestingFolder((IFolder) resource); case IResource.FILE: if( isContentChange(delta) ) { handleFileDelta(delta); return false;
private static void handleDeselectedPlugins(ILaunchConfiguration config, String launcherTimeStamp, ArrayList projects) throws CoreException { Map deSelectedPlugins = BundleLauncherHelper.getWorkspaceBundleMap(config, null, IPDELauncherConstants.DESELECTED_WORKSPACE_PLUGINS); IProject[] projs = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (int i = 0; i < projs.length; i++) { if (!WorkspaceModelManager.isPluginProject(projs[i])) continue; IPluginModelBase base = PluginRegistry.findModel(projs[i]); if (base == null || deSelectedPlugins.containsKey(base)) continue; String timestamp = getTimeStamp(projs[i]); if (timestamp.compareTo(launcherTimeStamp) > 0 && shouldAdd(projs[i], launcherTimeStamp, timestamp)) projects.add(projs[i]); } }
public static boolean isUnsharedProject(IProject project) { return RepositoryProvider.getProvider(project) == null || isBinaryProject(project); }
@Override public void resourceChanged(IResourceChangeEvent event) { switch (event.getType()) { case IResourceChangeEvent.POST_CHANGE : handleResourceDelta(event.getDelta()); processModelChanges(); break; case IResourceChangeEvent.PRE_CLOSE : removeModel((IProject) event.getResource()); processModelChanges(); break; } }
protected Object getModel(IProject project) { initialize(); return fModels.get(project); }
(IModel[])removed.toArray(new IModel[removed.size()]), (IModel[])changed.toArray(new IModel[changed.size()])); fireModelProviderEvent(event);
private void touchProject(IProject project) { if (WorkspaceModelManager.isPluginProject(project) && !WorkspaceModelManager.isBinaryProject(project)) { try { // set session property on project // to be read and reset in ManifestConsistencyChecker project.setSessionProperty(PDECore.TOUCH_PROJECT, Boolean.TRUE); // touch project so that ManifestConsistencyChecker#build(..) gets invoked project.touch(new NullProgressMonitor()); } catch (CoreException e) { PDECore.log(e); } } }
@Override protected boolean initialize(Object element) { if (element instanceof IResource) { IProject project = ((IResource) element).getProject(); if (WorkspaceModelManager.isPluginProject(project)) { fProject = project; fElements = new HashMap<>(); fElements.put(element, getNewName(getArguments().getDestination(), element)); return true; } } return false; }
public static boolean isUnsharedProject(IProject project) { return RepositoryProvider.getProvider(project) == null || isBinaryProject(project); }