Community
Participate
Working Groups
Build 20030304 1. Create simple project Test 2. Create file Test/X.java Observe: When the Java editor opens you get the following stack trace in the log: Java Model Exception: Java Model Status [Test does not exist.] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException (JavaElement.java:475) at org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence (JavaModelManager.java:964) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1454) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1439) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:298) at org.eclipse.jdt.internal.core.WorkingCopy.getElementInfo (WorkingCopy.java:169) at org.eclipse.jdt.internal.core.JavaElement.getChildren (JavaElement.java:252) at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ChildrenProvider.getChild ren(JavaOutlinePage.java:257) at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ChildrenProvider.getEleme nts(JavaOutlinePage.java:283) at org.eclipse.jface.viewers.StructuredViewer.getRawChildren (StructuredViewer.java:505) at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren (AbstractTreeViewer.java:642) at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren (StructuredViewer.java:454) at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren (StructuredViewer.java:555) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run (AbstractTreeViewer.java:299) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:65) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren (AbstractTreeViewer.java:287) at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel (AbstractTreeViewer.java:824) at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$JavaOutlineViewer.interna lExpandToLevel(JavaOutlinePage.java:395) at org.eclipse.jface.viewers.AbstractTreeViewer$5.run (AbstractTreeViewer.java:719) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection (StructuredViewer.java:798) at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged (AbstractTreeViewer.java:710) at org.eclipse.jface.viewers.ContentViewer.setInput (ContentViewer.java:232) at org.eclipse.jface.viewers.StructuredViewer.setInput (StructuredViewer.java:988) at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage.createControl (JavaOutlinePage.java:950) at org.eclipse.ui.views.contentoutline.ContentOutline.doCreatePage (ContentOutline.java:125) at org.eclipse.ui.part.PageBookView.createPage(PageBookView.java:306) at org.eclipse.ui.part.PageBookView.partActivated(PageBookView.java:561) at org.eclipse.ui.views.contentoutline.ContentOutline.partBroughtToTop (ContentOutline.java:191) at org.eclipse.ui.internal.PartListenerList$2.run (PartListenerList.java:63) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:867) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.ui.internal.PartListenerList.firePartBroughtToTop (PartListenerList.java:61) at org.eclipse.ui.internal.WorkbenchPage.firePartBroughtToTop (WorkbenchPage.java:1188) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor (WorkbenchPage.java:2056) at org.eclipse.ui.internal.WorkbenchPage.access$6 (WorkbenchPage.java:1978) at org.eclipse.ui.internal.WorkbenchPage$8.run(WorkbenchPage.java:1965) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:65) at org.eclipse.ui.internal.WorkbenchPage.openEditor (WorkbenchPage.java:1960) at org.eclipse.ui.internal.WorkbenchPage.openEditor (WorkbenchPage.java:1865) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor (EditorUtility.java:129) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor (EditorUtility.java:102) at org.eclipse.jdt.internal.ui.actions.OpenActionUtil.open (OpenActionUtil.java:47) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:158) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:147) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun (SelectionDispatchAction.java:191) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run (SelectionDispatchAction.java:169) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen (PackageExplorerActionGroup.java:323) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$3.open (PackageExplorerPart.java:318) at org.eclipse.jface.viewers.StructuredViewer$2.run (StructuredViewer.java:397) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:867) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.jface.viewers.StructuredViewer.fireOpen (StructuredViewer.java:395) at org.eclipse.jface.viewers.StructuredViewer.handleOpen (StructuredViewer.java:602) at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen (StructuredViewer.java:691) at org.eclipse.jface.util.OpenStrategy.fireOpenEvent (OpenStrategy.java:203) at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:198) at org.eclipse.jface.util.OpenStrategy$1.mouseSelectItem (OpenStrategy.java:337) at org.eclipse.jface.util.OpenStrategy$1.handleEvent (OpenStrategy.java:305) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:836) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1775) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1483) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1271) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1254) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:845) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) 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:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:247) at org.eclipse.core.launcher.Main.run(Main.java:703) at org.eclipse.core.launcher.Main.main(Main.java:539)
This is a consequence of fixing bug 31799. Since no per project info is incorrectly cached any longer, then this issue is now detected. Must fix to preserve special opening rules for working copies outside the classpath.
Added catch block in JavaElement.getElementInfo() to handle projects that don't have the Java nature and added regression test WorkingCopyNotInClasspathTests.testSimpleProject()
Verified.