Bug 21941 - NotPresentException in TestSuite wizard [JUnit]
Summary: NotPresentException in TestSuite wizard [JUnit]
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 2.0.1   Edit
Assignee: Erich Gamma CLA
QA Contact:
URL:
Whiteboard:
Keywords: investigate
Depends on:
Blocks:
 
Reported: 2002-07-26 08:39 EDT by Dirk Baeumer CLA
Modified: 2002-08-22 04:56 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Baeumer CLA 2002-07-26 08:39:28 EDT
2.0

This is from bug 

Its seems that while typing in a package name we try to find that package or 
some content in that package but don't consider the case that package doesn't 
exist. There a four stack traces for 

  o com.idsscheer.ppm.adapter.xmldocimport.common.t
  o com.idsscheer.ppm.adapter.xmldocimport.common.te
  o com.idsscheer.ppm.adapter.xmldocimport.common.tes
  o com.idsscheer.ppm.adapter.xmldocimport.common.test 

which looks like that we are doing that stuff during typing.

One stack trace is 

Java Model Exception: Java Model Status
[com.idsscheer.ppm.adapter.xmldocimport.common.test does not exist.]
	at
org.eclipse.jdt.internal.core.JavaElement.newNotPresentException
(JavaElement.java:500)
	at
org.eclipse.jdt.internal.core.PackageFragment.getUnderlyingResource
(PackageFragment.java:260)
	at org.eclipse.jdt.internal.core.Openable.getCorrespondingResource
(Openable.java:230)
	at org.eclipse.jdt.internal.core.Openable.openWhenClosed
(Openable.java:399)
	at org.eclipse.jdt.internal.core.JavaElement.openHierarchy
(JavaElement.java:521)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo
(JavaElement.java:308)
	at org.eclipse.jdt.internal.core.JavaElement.getChildren
(JavaElement.java:264)
	at org.eclipse.jdt.internal.core.JavaElement.getChildrenOfType
(JavaElement.java:273)
	at
org.eclipse.jdt.internal.core.PackageFragment.getCompilationUnits
(PackageFragment.java:188)
	at
org.eclipse.jdt.internal.junit.wizards.NewTestSuiteCreationWizardPage$ClassesInS
uitContentProvider.getElements(NewTestSuiteCreationWizardPage.java:298)
	at
org.eclipse.jface.viewers.StructuredViewer.getRawChildren
(StructuredViewer.java:397)
	at
org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren
(StructuredViewer.java:346)
	at
org.eclipse.jface.viewers.StructuredViewer.getSortedChildren
(StructuredViewer.java:447)
	at org.eclipse.jface.viewers.TableViewer.internalRefresh
(TableViewer.java:424)
	at org.eclipse.jface.viewers.TableViewer.internalRefresh
(TableViewer.java:408)
	at org.eclipse.jface.viewers.StructuredViewer$4.run
(StructuredViewer.java:748)
	at
org.eclipse.jface.viewers.StructuredViewer.preservingSelection
(StructuredViewer.java:688)
	at
org.eclipse.jface.viewers.CheckboxTableViewer.preservingSelection
(CheckboxTableViewer.java:264)
	at org.eclipse.jface.viewers.StructuredViewer.refresh
(StructuredViewer.java:746)
	at org.eclipse.jface.viewers.StructuredViewer.refresh
(StructuredViewer.java:708)
	at org.eclipse.jface.viewers.TableViewer.inputChanged
(TableViewer.java:375)
	at org.eclipse.jface.viewers.ContentViewer.setInput
(ContentViewer.java:234)
	at org.eclipse.jface.viewers.StructuredViewer.setInput
(StructuredViewer.java:875)
	at
org.eclipse.jdt.internal.junit.wizards.NewTestSuiteCreationWizardPage.updateClas
sesInSuiteTable(NewTestSuiteCreationWizardPage.java:212)
	at
org.eclipse.jdt.internal.junit.wizards.NewTestSuiteCreationWizardPage.handleFiel
dChanged(NewTestSuiteCreationWizardPage.java:165)
	at
org.eclipse.jdt.ui.wizards.NewTypeWizardPage.typePageDialogFieldChanged
(NewTypeWizardPage.java:606)
	at org.eclipse.jdt.ui.wizards.NewTypeWizardPage.access$2
(NewTypeWizardPage.java:558)
	at
org.eclipse.jdt.ui.wizards.NewTypeWizardPage$TypeFieldsAdapter.dialogFieldChange
d(NewTypeWizardPage.java:525)
	at
org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField.dialogFieldChanged
(DialogField.java:61)
	at
org.eclipse.jdt.internal.ui.wizards.dialogfields.StringDialogField.doModifyText
(StringDialogField.java:105)
	at
org.eclipse.jdt.internal.ui.wizards.dialogfields.StringDialogField.access$0
(StringDialogField.java:101)
	at
org.eclipse.jdt.internal.ui.wizards.dialogfields.StringDialogField$1.modifyText
(StringDialogField.java:86)
	at org.eclipse.swt.widgets.TypedListener.handleEvent
(TypedListener.java:181)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:848)
	at org.eclipse.swt.widgets.Text.wmCommandChild(Text.java:1779)
	at org.eclipse.swt.widgets.Control.WM_COMMAND(Control.java:2812)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:2667)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:1992)
	at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1154)
	at org.eclipse.swt.widgets.Text.callWindowProc(Text.java:93)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:2738)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:1992)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1221)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1289)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:557)
	at org.eclipse.jface.window.Window.open(Window.java:537)
	at org.eclipse.ui.actions.NewWizardAction.run(NewWizardAction.java:88)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:749)
	at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:407)
	at
org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent
(ActionContributionItem.java:361)
	at
org.eclipse.jface.action.ActionContributionItem.access$0
(ActionContributionItem.java:352)
	at
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java:47)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:827)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1529)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1291)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1177)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1160)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:775)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:248)
	at org.eclipse.core.launcher.Main.run(Main.java:698)
	at org.eclipse.core.launcher.Main.main(Main.java:534)
Comment 1 Dirk Baeumer CLA 2002-07-26 08:41:54 EDT
2.0.1 candidate
Comment 2 Dirk Baeumer CLA 2002-08-06 05:36:13 EDT
Fix is simple. Currently the code calls 				
	ICompilationUnit[] cuArray= pack.getCompilationUnits();
on a pack that doesn't exist on the file system. Before doing so we should do 
an existence test or we should handle NotPresentException in a different way.
Comment 3 Erich Gamma CLA 2002-08-07 05:13:20 EDT
fix released in 2.0.1
Comment 4 Erich Gamma CLA 2002-08-07 05:27:31 EDT
reviewed by Andre released to 2.0.1
Comment 5 Adam Kiezun CLA 2002-08-22 04:56:45 EDT
verified on 2.0.1 build 20020821