[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.modeling.gmf] Re: null pointer exception with draw2d

Hi Rene,

The stack trace indicates that the child you are creating returns null from its createFigure() method. AFAIK, no GMF generated edit parts exhibit this behavior, so please check if there is some hand-modified code (or use of custom templates).

Best regards,
Boris



Rene Ladan wrote:
Rene Ladan wrote:
Hi,

I'm getting the below null pointer exception when I first draw a model in a
generated GMF editor, alter the gmfgraph/gmfmap file, regenerate the gmfgen
file and the Java code, and then try to reload the model.  The ecore file is not
modified, so the model itself should still be valid.  I first thought that it
was caused by a small change in the representation of the Component element (see
the marked line, changing the Fill property from false to true) but that wasn't
the case.  I also deleted and recreated the gmfgen file, which didn't help
either.  All gmf* model files are validated ok.

Versions:
* Eclipse 3.4 Integration 20070921919
* EMF 2.3.1 20070925
* OCL 2.0.* 20070921
* GEF 3.4.0 20070919
* GMF SDK 2.0 20070903 (Integration)
* Apache Batik 1.6.0 200706111724

Upgrading to GMF 2.0.1 20070928 and regenerating the gmfgen and java files
doesn't help (same backtrace).  Could this be caused by an undetected
modeling error?

Any clues?

Thanks,
Rene

java.lang.NullPointerException
	at org.eclipse.draw2d.Figure.add(Figure.java:146)
	at org.eclipse.draw2d.Figure.add(Figure.java:179)
	at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addChildVisual(AbstractGraphicalEditPart.java:198)
	at meta.diagram.edit.parts.ComponentEditPart.addChildVisual(ComponentEditPart.java:135) <-- ?
	at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:197)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.addChild(GraphicalEditPart.java:1292)
	at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:727)
	at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:677)
	at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:564)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.access$3(GraphicalEditPart.java:1)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart$3.run(GraphicalEditPart.java:836)
	at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.runExclusive(TransactionalEditingDomainImpl.java:262)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.refresh(GraphicalEditPart.java:826)
	at org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:235)
	at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraphicalEditPart.java:212)
	at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:198)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.addChild(GraphicalEditPart.java:1292)
	at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:727)
	at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:677)
	at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:564)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.access$3(GraphicalEditPart.java:1)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart$3.run(GraphicalEditPart.java:836)
	at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.runExclusive(TransactionalEditingDomainImpl.java:262)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.refresh(GraphicalEditPart.java:826)
	at org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:235)
	at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraphicalEditPart.java:212)
	at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:198)
	at org.eclipse.gef.editparts.SimpleRootEditPart.setContents(SimpleRootEditPart.java:101)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:601)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalViewer.setContents(DiagramGraphicalViewer.java:378)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:610)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initializeGraphicalViewerContents(DiagramEditor.java:857)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initializeGraphicalViewer(DiagramEditor.java:850)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFlyOutPalette.initializeGraphicalViewer(DiagramEditorWithFlyOutPalette.java:112)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.createGraphicalViewer(DiagramEditor.java:794)
	at org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(GraphicalEditor.java:163)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.createPartControl(DiagramEditor.java:1548)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFlyOutPalette.createPartControl(DiagramEditorWithFlyOutPalette.java:310)
	at org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor.createPartControl(DiagramDocumentEditor.java:1459)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594)
	at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:263)
	at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1405)
	at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:939)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:124)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3719)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3356)
	at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:801)
	at org.eclipse.ui.internal.Workbench$25.runWithException(Workbench.java:1342)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:124)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3719)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3356)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
	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.equinox.launcher.Main.invokeFramework(Main.java:515)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:455)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1193)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1169)