Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 89909

Summary: Java Model Exception deleting class and interface at the same time
Product: [Eclipse Project] JDT Reporter: Rafael Chaves <eclipse>
Component: UIAssignee: JDT-UI-Inbox <jdt-ui-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3    
Version: 3.1   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:

Description Rafael Chaves CLA 2005-03-31 17:55:05 EST
i200503310800

Deleting an interface and a class that implements it during the same operation
produces three error entries in the log.

Steps:
1 - create a new Java project
2 - create an empty interface A
3 - create an empty class B implementing A
4 - without closing the editors, select both interface and class and delete them
at the same time. The deletion will occur, but the following errors will be logged.


!ENTRY org.eclipse.jdt.ui 4 10001 2005-03-31 17:48:08.562
!MESSAGE Internal Error
!STACK 1
Java Model Exception: Java Model Status [B.java [in <default> [in <project root>
[in Simple]]] does not exist]
	at
org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:474)
	at
org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:90)
	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:203)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:487)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:231)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:217)
	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:172)
	at
org.eclipse.jdt.internal.core.JavaElement.getChildrenOfType(JavaElement.java:186)
	at org.eclipse.jdt.internal.core.CompilationUnit.getTypes(CompilationUnit.java:811)
	at
org.eclipse.jdt.internal.corext.refactoring.util.JavaElementUtil.getMainType(JavaElementUtil.java:85)
	at
org.eclipse.jdt.internal.corext.refactoring.RefactoringAvailabilityTester.isExtractInterfaceAvailable(RefactoringAvailabilityTester.java:279)
	at
org.eclipse.jdt.ui.actions.ExtractInterfaceAction.selectionChanged(ExtractInterfaceAction.java:86)
	at
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchSelectionChanged(SelectionDispatchAction.java:200)
	at
org.eclipse.jdt.ui.actions.SelectionDispatchAction.selectionChanged(SelectionDispatchAction.java:195)
	at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
	at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1021)
	at org.eclipse.core.runtime.Platform.run(Platform.java:757)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:40)
	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:1691)
	at
org.eclipse.jface.viewers.StructuredViewer.handleInvalidSelection(StructuredViewer.java:898)
	at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.handleInvalidSelection(PackageExplorerPart.java:398)
	at
org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1120)
	at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.preservingSelection(PackageExplorerPart.java:592)
	at
org.eclipse.jface.viewers.AbstractTreeViewer.remove(AbstractTreeViewer.java:1307)
	at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.remove(PackageExplorerPart.java:471)
	at
org.eclipse.jface.viewers.AbstractTreeViewer.remove(AbstractTreeViewer.java:1329)
	at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$5.run(PackageExplorerContentProvider.java:640)
	at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$7.run(PackageExplorerContentProvider.java:659)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:118)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2871)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2530)
	at
org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:153)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:303)
	at
org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:282)
	at
org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPerformFinish(RefactoringWizard.java:544)
	at
org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFinish(UserInputWizardPage.java:153)
	at
org.eclipse.jdt.internal.ui.refactoring.reorg.DeleteWizard$DeleteInputPage.performFinish(DeleteWizard.java:132)
	at
org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:610)
	at
org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.okPressed(RefactoringWizardDialog2.java:406)
	at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:409)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2894)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2527)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:803)
	at org.eclipse.jface.window.Window.open(Window.java:781)
	at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:125)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:138)
	at
org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.activate(RefactoringStarter.java:40)
	at
org.eclipse.jdt.internal.ui.refactoring.UserInterfaceStarter.activate(UserInterfaceStarter.java:56)
	at
org.eclipse.jdt.internal.ui.refactoring.reorg.DeleteAction.run(DeleteAction.java:90)
	at
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:212)
	at
org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:188)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:996)
	at org.eclipse.ui.actions.RetargetAction.runWithEvent(RetargetAction.java:216)
	at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:117)
	at org.eclipse.core.commands.Command.execute(Command.java:331)
	at
org.eclipse.core.commands.ParameterizedCommand.execute(ParameterizedCommand.java:396)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:452)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:741)
	at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:784)
	at
org.eclipse.ui.internal.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:76)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:866)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:851)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:879)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:875)
	at org.eclipse.swt.widgets.Widget.wmKeyDown(Widget.java:1454)
	at org.eclipse.swt.widgets.Control.WM_KEYDOWN(Control.java:3338)
	at org.eclipse.swt.widgets.Tree.WM_KEYDOWN(Tree.java:2453)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3058)
	at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:2360)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:3466)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1625)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2525)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1570)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1534)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:306)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:228)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:156)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:315)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:268)
	at org.eclipse.core.launcher.Main.run(Main.java:942)
	at org.eclipse.core.launcher.Main.main(Main.java:926)
!SUBENTRY 1 org.eclipse.jdt.core 4 969 2005-03-31 17:48:08.562
!MESSAGE B.java [in <default> [in <project root> [in Simple]]] does not exist
Comment 1 Dirk Baeumer CLA 2005-03-31 18:11:58 EST

*** This bug has been marked as a duplicate of 75894 ***