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

Bug 320770

Summary: NPE when a Query artifact is created in a class diagram.
Product: [Technology] Tigerstripe Reporter: Navid Mehregani <nmehrega>
Component: UIAssignee: Project Inbox <tigerstripe.ui-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: rcraddoc
Version: unspecified   
Target Milestone: 0.5M0   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Attachments:
Description Flags
Patch none

Description Navid Mehregani CLA 2010-07-23 16:33:36 EDT
Build Identifier: 

Daemon Thread [Thread-0] (Suspended (exception java.lang.NullPointerException))	
	org.eclipse.tigerstripe.workbench.internal.refactor.ModelChangeDeltaFactory.RETURNS() line: 113	
	org.eclipse.tigerstripe.workbench.internal.refactor.ModelRefactorCommandFactory.createDeltas(org.eclipse.tigerstripe.workbench.model.deprecated_.IAbstractArtifact, java.util.Map<java.lang.String,org.eclipse.tigerstripe.workbench.refactor.ModelRefactorRequest>) line: 259	
	org.eclipse.tigerstripe.workbench.internal.refactor.ModelRefactorCommandFactory.getCommand(org.eclipse.tigerstripe.workbench.refactor.ModelRefactorRequest, org.eclipse.core.runtime.IProgressMonitor) line: 145	
	org.eclipse.tigerstripe.workbench.refactor.ModelRefactorRequest.getCommand(org.eclipse.core.runtime.IProgressMonitor) line: 133	
	org.eclipse.tigerstripe.workbench.ui.internal.wizards.refactoring.RenameModelArtifactWizard$RefactorRunnable.run(org.eclipse.core.runtime.IProgressMonitor) line: 66	
	org.eclipse.jface.operation.ModalContext.runInCurrentThread(org.eclipse.jface.operation.IRunnableWithProgress, org.eclipse.core.runtime.IProgressMonitor) line: 464	
	org.eclipse.jface.operation.ModalContext.run(org.eclipse.jface.operation.IRunnableWithProgress, boolean, org.eclipse.core.runtime.IProgressMonitor, org.eclipse.swt.widgets.Display) line: 372	
	org.eclipse.jface.wizard.WizardDialog.run(boolean, boolean, org.eclipse.jface.operation.IRunnableWithProgress) line: 944	
	org.eclipse.tigerstripe.workbench.ui.internal.wizards.refactoring.RenameModelArtifactWizard.performFinish() line: 179	
	org.eclipse.jface.wizard.WizardDialog.finishPressed() line: 752	
	org.eclipse.jface.wizard.WizardDialog.buttonPressed(int) line: 373	
	org.eclipse.jface.dialogs.Dialog$2.widgetSelected(org.eclipse.swt.events.SelectionEvent) line: 624	
	org.eclipse.swt.widgets.TypedListener.handleEvent(org.eclipse.swt.widgets.Event) line: 228	
	org.eclipse.swt.widgets.EventTable.sendEvent(org.eclipse.swt.widgets.Event) line: 84	
	org.eclipse.swt.widgets.Display.sendEvent(org.eclipse.swt.widgets.EventTable, org.eclipse.swt.widgets.Event) line: 3543	
	org.eclipse.swt.widgets.Button(org.eclipse.swt.widgets.Widget).sendEvent(org.eclipse.swt.widgets.Event) line: 1250	
	org.eclipse.swt.widgets.Button(org.eclipse.swt.widgets.Widget).sendEvent(int, org.eclipse.swt.widgets.Event, boolean) line: 1273	
	org.eclipse.swt.widgets.Button(org.eclipse.swt.widgets.Widget).sendEvent(int, org.eclipse.swt.widgets.Event) line: 1258	
	org.eclipse.swt.widgets.Button(org.eclipse.swt.widgets.Widget).notifyListeners(int, org.eclipse.swt.widgets.Event) line: 1079	
	org.eclipse.swt.widgets.Display.runDeferredEvents() line: 3441	
	org.eclipse.swt.widgets.Display.readAndDispatch() line: 3100	
	org.eclipse.jface.wizard.WizardDialog(org.eclipse.jface.window.Window).runEventLoop(org.eclipse.swt.widgets.Shell) line: 825	
	org.eclipse.jface.wizard.WizardDialog(org.eclipse.jface.window.Window).open() line: 801	
	org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.parts.NamedQueryArtifactNamePackageEditPart.performDirectEditRequest(org.eclipse.gef.Request) line: 437	
	org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.parts.NamedQueryArtifactNamePackageEditPart(org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart).performRequest(org.eclipse.gef.Request) line: 1119	
	org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.parts.NamedQueryArtifactEditPart(org.eclipse.gmf.runtime.diagram.ui.editparts.TopGraphicEditPart).performDirectEditRequest(org.eclipse.gef.Request) line: 133	
	org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.parts.NamedQueryArtifactEditPart(org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart).performRequest(org.eclipse.gef.Request) line: 1119	
	org.eclipse.gmf.runtime.diagram.ui.tools.CreationTool$1.run() line: 169	
	org.eclipse.swt.widgets.RunnableLock.run() line: 35	
	org.eclipse.ui.internal.UISynchronizer(org.eclipse.swt.widgets.Synchronizer).runAsyncMessages(boolean) line: 134	
	org.eclipse.swt.widgets.Display.runAsyncMessages(boolean) line: 3405	
	org.eclipse.swt.widgets.Display.readAndDispatch() line: 3102	
	org.eclipse.ui.internal.Workbench.runEventLoop(org.eclipse.jface.window.Window$IExceptionHandler, org.eclipse.swt.widgets.Display) line: 2405	
	org.eclipse.ui.internal.Workbench.runUI() line: 2369	
	org.eclipse.ui.internal.Workbench.access$4(org.eclipse.ui.internal.Workbench) line: 2221	
	org.eclipse.ui.internal.Workbench$5.run() line: 500	
	org.eclipse.core.databinding.observable.Realm.runWithDefault(org.eclipse.core.databinding.observable.Realm, java.lang.Runnable) line: 332	
	org.eclipse.ui.internal.Workbench.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 493	
	org.eclipse.ui.PlatformUI.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 149	
	org.eclipse.ui.internal.ide.application.IDEApplication.start(org.eclipse.equinox.app.IApplicationContext) line: 113	
	org.eclipse.equinox.internal.app.EclipseAppHandle.run(java.lang.Object) line: 194	
	org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(java.lang.Object) line: 110	
	org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(java.lang.Object) line: 79	
	org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.Object) line: 368	
	org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.String[], java.lang.Runnable) line: 179	
	sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method]	
	sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 39	
	sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25	
	java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 597	
	org.eclipse.equinox.launcher.Main.invokeFramework(java.lang.String[], java.net.URL[]) line: 559	
	org.eclipse.equinox.launcher.Main.basicRun(java.lang.String[]) line: 514	
	org.eclipse.equinox.launcher.Main.run(java.lang.String[]) line: 1311	
	org.eclipse.equinox.launcher.Main.main(java.lang.String[]) line: 1287	


Reproducible: Always

Steps to Reproduce:
1. Create a class diagram
2. Create a new Query artifact in class diagram
3. Change the name and click on Finish
4. Query artifact doesn't yet have a return type, but we still query its return type assuming that it does.  This leads to the above NPE.
Comment 1 Navid Mehregani CLA 2010-07-23 16:36:08 EDT
Created attachment 175104 [details]
Patch
Comment 2 Richard Craddock CLA 2010-08-03 14:57:34 EDT
Applied patch from Navid