Community
Participate
Working Groups
1. Create plugin project 2. Add it to some project set; enable working sets view in project explorer (optional?) 3. Launch runtime workbench 4. Import this project in runtime workspace; do not copy 5. Add it to some project set as on step 2 only in runtime workbench 6. Close runtime workbench 7. Delete project with contents 8. Relaunch runtime workbench => Project is closed; internal errors are in log whenever I click on the project; it's not possible to delete it; the only way to get rid of it is to remove it from project set. Java Model Exception: Java Model Status [org.eclipse.gmf.graphdef.draw2dx.editor does not exist] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:478) at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:328) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:235) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:498) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:242) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:228) at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:183) at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:1811) at org.eclipse.jdt.internal.corext.refactoring.RefactoringAvailabilityTester.isInferTypeArgumentsAvailable(RefactoringAvailabilityTester.java:381) at org.eclipse.jdt.internal.corext.refactoring.RefactoringAvailabilityTester.isInferTypeArgumentsAvailable(RefactoringAvailabilityTester.java:408) at org.eclipse.jdt.ui.actions.InferTypeArgumentsAction.selectionChanged(InferTypeArgumentsAction.java:97) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchSelectionChanged(SelectionDispatchAction.java:237) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.selectionChanged(SelectionDispatchAction.java:232) at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:785) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148) at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160) at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:1784) at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1027) at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1053) at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:210) at org.eclipse.jface.util.OpenStrategy.access$3(OpenStrategy.java:205) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:365) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:914) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3285) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2905) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1762) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1726) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:397) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:106) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:109) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:379) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338) at org.eclipse.core.launcher.Main.basicRun(Main.java:282) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952)
I filed bug 122619 for the exception log (different issue). The problem is that when Eclipse starts up and can't find a project because it was deleted while Eclipse was closed it shows the project as a closed IProject. Problem is JavaWorkingSetUpdater.checkElementExistence remove= (project != null ? project.isOpen() : true) && !jElement.exists(); Project is not open so it will not be removed. Why is this checked? Isn't 'not exists' enough reason to remove it? Note, project can't be null here.
The check is so "complicated" to avoid that elements below a project in a working set get removed when the project is closed (in this case they don't exist anymore).
Fixed in build >= I20060110.
*** Bug 101475 has been marked as a duplicate of this bug. ***