Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » NPE in ComposedAdapterFactory.adapt
NPE in ComposedAdapterFactory.adapt [message #132161] Tue, 13 January 2009 01:34 Go to next message
Andrew H is currently offline Andrew HFriend
Messages: 117
Registered: July 2009
Senior Member
We are having a lot of troubles with the ecore diagrams. We are using them
heavily as they are so useful - i.e. we use them almost exclusively to
develop our models.

Unfortuately they are extremely brittle. Our model is evolving heavily and
we keep breaking the diagrams. The worst part is not simply that they
break but that they break leaving no clue as to how to fix it. This is
because we tend to get these NPE's. If this was trapped and a useful
message given then we could modify the xml for the diagram and fix the
problem (in theory at least).

This would be very valuable until such a time as proper refactoring
support is built into the diagrams.

Is there any advice as to how to determine the cause of breaks such as
these?

Also, how long before we have a way to evolve the ecore models that
doesn't break the diagrams?

The NPE is

java.lang.NullPointerException
at
org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:340)
at
org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:277)
at
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.getLabelText(EAttributeEditPart.java:233)
at
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshLabel(EAttributeEditPart.java:415)
at
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshVisuals(EAttributeEditPart.java:404)
at
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:676)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
at
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
at
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
at
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
at
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
at
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
at
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
at
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
at
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
at
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
at
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
at
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
at
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
at
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
at
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
at
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
at
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
at
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
at
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
at
org.eclipse.gef.editparts.SimpleRootEditPart.setContents(Sim pleRootEditPart.java:101)
at
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:601)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalVie wer.setContents(DiagramGraphicalViewer.java:378)
at
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:610)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewerContents(DiagramEditor.java:870)
at
org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewerContents(EcoreDiagramEditor.java:448 )
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewer(DiagramEditor.java:863)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.initializeGraphicalViewer(DiagramEditorWithFlyOu tPalette.java:116)
at
org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewer(EcoreDiagramEditor.java:335)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat eGraphicalViewer(DiagramEditor.java:807)
at
org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(G raphicalEditor.java:163)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat ePartControl(DiagramEditor.java:1555)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.createPartControl(DiagramEditorWithFlyOutPalette .java:328)
at
org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor.createPartControl(DiagramDocumentEditor. java:1459)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:661)
at
org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:428)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:594)
at
org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:266)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2820)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2729)
at
org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2721)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2673)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2668)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2652)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2643)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
at
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:318)
at
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:160)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:22 8)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:20 7)
at
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchR un(SelectionDispatchAction.java:274)
at
org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selec tionDispatchAction.java:250)
at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActio nGroup.handleOpen(PackageExplorerActionGroup.java:363)
at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$ 5.open(PackageExplorerPart.java:603)
at
org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredV iewer.java:820)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:17 5)
at
org.eclipse.jface.viewers.StructuredViewer.fireOpen(Structur edViewer.java:818)
at
org.eclipse.jface.viewers.StructuredViewer.handleOpen(Struct uredViewer.java:1079)
at
org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Stru cturedViewer.java:1183)
at
org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrate gy.java:263)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.ja va:257)
at
org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrate gy.java:297)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3033)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Re: [EcoreTools] NPE in ComposedAdapterFactory.adapt [message #132175 is a reply to message #132161] Tue, 13 January 2009 10:45 Go to previous messageGo to next message
Benjamin Cabé is currently offline Benjamin CabéFriend
Messages: 201
Registered: July 2009
Location: Toulouse, France
Senior Member

Hi Andrew,

Can you please open a bug [1] against EcoreTools with your NPE's stack
trace (and, if possible, steps to reproduce)?

Thanks!
Benjamin

[1] https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EMFT

Andrew H a écrit :
> We are having a lot of troubles with the ecore diagrams. We are using
> them heavily as they are so useful - i.e. we use them almost exclusively
> to develop our models.
>
> Unfortuately they are extremely brittle. Our model is evolving heavily
> and we keep breaking the diagrams. The worst part is not simply that
> they break but that they break leaving no clue as to how to fix it. This
> is because we tend to get these NPE's. If this was trapped and a useful
> message given then we could modify the xml for the diagram and fix the
> problem (in theory at least).
>
> This would be very valuable until such a time as proper refactoring
> support is built into the diagrams.
>
> Is there any advice as to how to determine the cause of breaks such as
> these?
>
> Also, how long before we have a way to evolve the ecore models that
> doesn't break the diagrams?
>
> The NPE is
>
> java.lang.NullPointerException
> at
> org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:340)
>
> at
> org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:277)
>
> at
> org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.getLabelText(EAttributeEditPart.java:233)
>
> at
> org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshLabel(EAttributeEditPart.java:415)
>
> at
> org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshVisuals(EAttributeEditPart.java:404)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:676)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>
> at
> org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>
> at
> org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>
> at
> org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>
> at
> org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>
> at
> org.eclipse.gef.editparts.SimpleRootEditPart.setContents(Sim pleRootEditPart.java:101)
>
> at
> org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:601)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalVie wer.setContents(DiagramGraphicalViewer.java:378)
>
> at
> org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:610)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewerContents(DiagramEditor.java:870)
>
> at
> org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewerContents(EcoreDiagramEditor.java:448 )
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewer(DiagramEditor.java:863)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.initializeGraphicalViewer(DiagramEditorWithFlyOu tPalette.java:116)
>
> at
> org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewer(EcoreDiagramEditor.java:335)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat eGraphicalViewer(DiagramEditor.java:807)
>
> at
> org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(G raphicalEditor.java:163)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat ePartControl(DiagramEditor.java:1555)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.createPartControl(DiagramEditorWithFlyOutPalette .java:328)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor.createPartControl(DiagramDocumentEditor. java:1459)
>
> at
> org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:661)
>
> at
> org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:428)
>
> at
> org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:594)
>
> at
> org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:266)
> at
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2820)
>
> at
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2729)
>
> at
> org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2721)
> at
> org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2673)
> at
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
> at
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2668)
> at
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2652)
> at
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2643)
> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
> at
> org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:318)
>
> at
> org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:160)
>
> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:22 8)
> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:20 7)
> at
> org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchR un(SelectionDispatchAction.java:274)
>
> at
> org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selec tionDispatchAction.java:250)
>
> at
> org.eclipse.jdt.internal.ui.packageview.PackageExplorerActio nGroup.handleOpen(PackageExplorerActionGroup.java:363)
>
> at
> org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$ 5.open(PackageExplorerPart.java:603)
>
> at
> org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredV iewer.java:820)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
> at org.eclipse.core.runtime.Platform.run(Platform.java:880)
> at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
> at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:17 5)
> at
> org.eclipse.jface.viewers.StructuredViewer.fireOpen(Structur edViewer.java:818)
>
> at
> org.eclipse.jface.viewers.StructuredViewer.handleOpen(Struct uredViewer.java:1079)
>
> at
> org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Stru cturedViewer.java:1183)
>
> at
> org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrate gy.java:263)
> at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.ja va:257)
> at
> org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrate gy.java:297)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3401)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3033)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at
> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>
>


Re: [EcoreTools] NPE in ComposedAdapterFactory.adapt [message #132214 is a reply to message #132175] Wed, 14 January 2009 00:47 Go to previous messageGo to next message
Andrew H is currently offline Andrew HFriend
Messages: 117
Registered: July 2009
Senior Member
Hi Benjamin

See https://bugs.eclipse.org/bugs/show_bug.cgi?id=260955

thanks

Andrew

Benjamin CABE wrote:

> Hi Andrew,

> Can you please open a bug [1] against EcoreTools with your NPE's stack
> trace (and, if possible, steps to reproduce)?

> Thanks!
> Benjamin

> [1] https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EMFT

> Andrew H a écrit :
>> We are having a lot of troubles with the ecore diagrams. We are using
>> them heavily as they are so useful - i.e. we use them almost exclusively
>> to develop our models.
>>
>> Unfortuately they are extremely brittle. Our model is evolving heavily
>> and we keep breaking the diagrams. The worst part is not simply that
>> they break but that they break leaving no clue as to how to fix it. This
>> is because we tend to get these NPE's. If this was trapped and a useful
>> message given then we could modify the xml for the diagram and fix the
>> problem (in theory at least).
>>
>> This would be very valuable until such a time as proper refactoring
>> support is built into the diagrams.
>>
>> Is there any advice as to how to determine the cause of breaks such as
>> these?
>>
>> Also, how long before we have a way to evolve the ecore models that
>> doesn't break the diagrams?
>>
>> The NPE is
>>
>> java.lang.NullPointerException
>> at
>>
org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:340)
>>
>> at
>>
org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:277)
>>
>> at
>>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.getLabelText(EAttributeEditPart.java:233)
>>
>> at
>>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshLabel(EAttributeEditPart.java:415)
>>
>> at
>>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshVisuals(EAttributeEditPart.java:404)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:676)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>
>> at
>>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>
>> at
>>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>
>> at
>>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>
>> at
>>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>
>> at
>>
org.eclipse.gef.editparts.SimpleRootEditPart.setContents(Sim pleRootEditPart.java:101)
>>
>> at
>>
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:601)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalVie wer.setContents(DiagramGraphicalViewer.java:378)
>>
>> at
>>
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:610)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewerContents(DiagramEditor.java:870)
>>
>> at
>>
org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewerContents(EcoreDiagramEditor.java:448 )
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewer(DiagramEditor.java:863)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.initializeGraphicalViewer(DiagramEditorWithFlyOu tPalette.java:116)
>>
>> at
>>
org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewer(EcoreDiagramEditor.java:335)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat eGraphicalViewer(DiagramEditor.java:807)
>>
>> at
>>
org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(G raphicalEditor.java:163)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat ePartControl(DiagramEditor.java:1555)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.createPartControl(DiagramEditorWithFlyOutPalette .java:328)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor.createPartControl(DiagramDocumentEditor. java:1459)
>>
>> at
>>
org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:661)
>>
>> at
>>
org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:428)
>>
>> at
>>
org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:594)
>>
>> at
>> org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:266)
>> at
>>
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2820)
>>
>> at
>>
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2729)
>>
>> at
>> org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2721)
>> at
>> org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2673)
>> at
>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2668)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2652)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2643)
>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
>> at
>>
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:318)
>>
>> at
>>
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:160)
>>
>> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:22 8)
>> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:20 7)
>> at
>>
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchR un(SelectionDispatchAction.java:274)
>>
>> at
>>
org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selec tionDispatchAction.java:250)
>>
>> at
>>
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActio nGroup.handleOpen(PackageExplorerActionGroup.java:363)
>>
>> at
>>
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$ 5.open(PackageExplorerPart.java:603)
>>
>> at
>> org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredV iewer.java:820)
>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
>> at org.eclipse.core.runtime.Platform.run(Platform.java:880)
>> at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
>> at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:17 5)
>> at
>>
org.eclipse.jface.viewers.StructuredViewer.fireOpen(Structur edViewer.java:818)
>>
>> at
>>
org.eclipse.jface.viewers.StructuredViewer.handleOpen(Struct uredViewer.java:1079)
>>
>> at
>>
org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Stru cturedViewer.java:1183)
>>
>> at
>> org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrate gy.java:263)
>> at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.ja va:257)
>> at
>> org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrate gy.java:297)
>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3401)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3033)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>>
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at
>>
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>>
>> at
>>
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>
>> at
>>
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>
>> at
>>
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>
>> at
>>
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>>
>> at
>>
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>>
>> at
>>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>>
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>
>>
Re: [EcoreTools] NPE in ComposedAdapterFactory.adapt [message #132243 is a reply to message #132214] Thu, 15 January 2009 02:38 Go to previous message
Andrew H is currently offline Andrew HFriend
Messages: 117
Registered: July 2009
Senior Member
Hi Benjamin

I've created a couple more feature requests that would make our life
easier.

We have a single model for our domain model, but due to its size we
realised it is impractical to keep it in one ecore file (due to
performance).

So we broke it up into many ecore files (mostly one file per package)
using the <eSubpackages href="sub.ecore#/"/> feature. Its still logically
the same, but physically its not. We want to work with it though as if it
were just one file.

The first request is to add support for the <eSubpackages
href="sub.ecore#/"/> feature in the editor.
The second is for improving how ecore diagrams work with such an approach.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=261133

https://bugs.eclipse.org/bugs/show_bug.cgi?id=261135


regards

Andrew

Andrew H wrote:

> Hi Benjamin

> See https://bugs.eclipse.org/bugs/show_bug.cgi?id=260955

> thanks

> Andrew

> Benjamin CABE wrote:

>> Hi Andrew,

>> Can you please open a bug [1] against EcoreTools with your NPE's stack
>> trace (and, if possible, steps to reproduce)?

>> Thanks!
>> Benjamin

>> [1] https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EMFT

>> Andrew H a écrit :
>>> We are having a lot of troubles with the ecore diagrams. We are using
>>> them heavily as they are so useful - i.e. we use them almost exclusively
>>> to develop our models.
>>>
>>> Unfortuately they are extremely brittle. Our model is evolving heavily
>>> and we keep breaking the diagrams. The worst part is not simply that
>>> they break but that they break leaving no clue as to how to fix it. This
>>> is because we tend to get these NPE's. If this was trapped and a useful
>>> message given then we could modify the xml for the diagram and fix the
>>> problem (in theory at least).
>>>
>>> This would be very valuable until such a time as proper refactoring
>>> support is built into the diagrams.
>>>
>>> Is there any advice as to how to determine the cause of breaks such as
>>> these?
>>>
>>> Also, how long before we have a way to evolve the ecore models that
>>> doesn't break the diagrams?
>>>
>>> The NPE is
>>>
>>> java.lang.NullPointerException
>>> at
>>>
>
org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:340)
>>>
>>> at
>>>
>
org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:277)
>>>
>>> at
>>>
>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.getLabelText(EAttributeEditPart.java:233)
>>>
>>> at
>>>
>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshLabel(EAttributeEditPart.java:415)
>>>
>>> at
>>>
>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshVisuals(EAttributeEditPart.java:404)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:676)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>>
>>> at
>>>
>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>>
>>> at
>>>
>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>>
>>> at
>>>
>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>>
>>> at
>>>
>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.SimpleRootEditPart.setContents(Sim pleRootEditPart.java:101)
>>>
>>> at
>>>
>
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:601)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalVie wer.setContents(DiagramGraphicalViewer.java:378)
>>>
>>> at
>>>
>
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:610)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewerContents(DiagramEditor.java:870)
>>>
>>> at
>>>
>
org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewerContents(EcoreDiagramEditor.java:448 )
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewer(DiagramEditor.java:863)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.initializeGraphicalViewer(DiagramEditorWithFlyOu tPalette.java:116)
>>>
>>> at
>>>
>
org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewer(EcoreDiagramEditor.java:335)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat eGraphicalViewer(DiagramEditor.java:807)
>>>
>>> at
>>>
>
org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(G raphicalEditor.java:163)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat ePartControl(DiagramEditor.java:1555)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.createPartControl(DiagramEditorWithFlyOutPalette .java:328)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor.createPartControl(DiagramDocumentEditor. java:1459)
>>>
>>> at
>>>
>
org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:661)
>>>
>>> at
>>>
> org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:428)
>>>
>>> at
>>>
>
org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:594)
>>>
>>> at
>>> org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:266)
>>> at
>>>
>
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2820)
>>>
>>> at
>>>
>
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2729)
>>>
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2721)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2673)
>>> at
>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2668)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2652)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2643)
>>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
>>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
>>> at
>>>
>
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:318)
>>>
>>> at
>>>
>
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:160)
>>>
>>> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:22 8)
>>> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:20 7)
>>> at
>>>
>
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchR un(SelectionDispatchAction.java:274)
>>>
>>> at
>>>
>
org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selec tionDispatchAction.java:250)
>>>
>>> at
>>>
>
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActio nGroup.handleOpen(PackageExplorerActionGroup.java:363)
>>>
>>> at
>>>
>
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$ 5.open(PackageExplorerPart.java:603)
>>>
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredV iewer.java:820)
>>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
>>> at org.eclipse.core.runtime.Platform.run(Platform.java:880)
>>> at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
>>> at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:17 5)
>>> at
>>>
>
org.eclipse.jface.viewers.StructuredViewer.fireOpen(Structur edViewer.java:818)
>>>
>>> at
>>>
>
org.eclipse.jface.viewers.StructuredViewer.handleOpen(Struct uredViewer.java:1079)
>>>
>>> at
>>>
>
org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Stru cturedViewer.java:1183)
>>>
>>> at
>>> org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrate gy.java:263)
>>> at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.ja va:257)
>>> at
>>> org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrate gy.java:297)
>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
>>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3401)
>>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3033)
>>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>>
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at
>>>
>
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>>>
>>> at
>>>
>
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>
>>> at
>>>
>
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>
>>> at
>>>
>
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>
>>> at
>>>
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>>>
>>> at
>>>
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>>
>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>>>
>>> at
>>>
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>>>
>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>
>>>
Re: [EcoreTools] NPE in ComposedAdapterFactory.adapt [message #620577 is a reply to message #132161] Tue, 13 January 2009 10:45 Go to previous message
Eclipse UserFriend
Originally posted by: benjamin.cabe.anyware-tech.com

Hi Andrew,

Can you please open a bug [1] against EcoreTools with your NPE's stack
trace (and, if possible, steps to reproduce)?

Thanks!
Benjamin

[1] https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EMFT

Andrew H a écrit :
> We are having a lot of troubles with the ecore diagrams. We are using
> them heavily as they are so useful - i.e. we use them almost exclusively
> to develop our models.
>
> Unfortuately they are extremely brittle. Our model is evolving heavily
> and we keep breaking the diagrams. The worst part is not simply that
> they break but that they break leaving no clue as to how to fix it. This
> is because we tend to get these NPE's. If this was trapped and a useful
> message given then we could modify the xml for the diagram and fix the
> problem (in theory at least).
>
> This would be very valuable until such a time as proper refactoring
> support is built into the diagrams.
>
> Is there any advice as to how to determine the cause of breaks such as
> these?
>
> Also, how long before we have a way to evolve the ecore models that
> doesn't break the diagrams?
>
> The NPE is
>
> java.lang.NullPointerException
> at
> org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:340)
>
> at
> org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:277)
>
> at
> org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.getLabelText(EAttributeEditPart.java:233)
>
> at
> org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshLabel(EAttributeEditPart.java:415)
>
> at
> org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshVisuals(EAttributeEditPart.java:404)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:676)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>
> at
> org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>
> at
> org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>
> at
> org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>
> at
> org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>
> at
> org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>
> at
> org.eclipse.gef.editparts.SimpleRootEditPart.setContents(Sim pleRootEditPart.java:101)
>
> at
> org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:601)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalVie wer.setContents(DiagramGraphicalViewer.java:378)
>
> at
> org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:610)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewerContents(DiagramEditor.java:870)
>
> at
> org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewerContents(EcoreDiagramEditor.java:448 )
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewer(DiagramEditor.java:863)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.initializeGraphicalViewer(DiagramEditorWithFlyOu tPalette.java:116)
>
> at
> org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewer(EcoreDiagramEditor.java:335)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat eGraphicalViewer(DiagramEditor.java:807)
>
> at
> org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(G raphicalEditor.java:163)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat ePartControl(DiagramEditor.java:1555)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.createPartControl(DiagramEditorWithFlyOutPalette .java:328)
>
> at
> org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor.createPartControl(DiagramDocumentEditor. java:1459)
>
> at
> org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:661)
>
> at
> org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:428)
>
> at
> org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:594)
>
> at
> org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:266)
> at
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2820)
>
> at
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2729)
>
> at
> org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2721)
> at
> org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2673)
> at
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
> at
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2668)
> at
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2652)
> at
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2643)
> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
> at
> org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:318)
>
> at
> org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:160)
>
> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:22 8)
> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:20 7)
> at
> org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchR un(SelectionDispatchAction.java:274)
>
> at
> org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selec tionDispatchAction.java:250)
>
> at
> org.eclipse.jdt.internal.ui.packageview.PackageExplorerActio nGroup.handleOpen(PackageExplorerActionGroup.java:363)
>
> at
> org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$ 5.open(PackageExplorerPart.java:603)
>
> at
> org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredV iewer.java:820)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
> at org.eclipse.core.runtime.Platform.run(Platform.java:880)
> at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
> at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:17 5)
> at
> org.eclipse.jface.viewers.StructuredViewer.fireOpen(Structur edViewer.java:818)
>
> at
> org.eclipse.jface.viewers.StructuredViewer.handleOpen(Struct uredViewer.java:1079)
>
> at
> org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Stru cturedViewer.java:1183)
>
> at
> org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrate gy.java:263)
> at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.ja va:257)
> at
> org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrate gy.java:297)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3401)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3033)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at
> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>
>
Re: [EcoreTools] NPE in ComposedAdapterFactory.adapt [message #620580 is a reply to message #132175] Wed, 14 January 2009 00:47 Go to previous message
Andrew H is currently offline Andrew HFriend
Messages: 117
Registered: July 2009
Senior Member
Hi Benjamin

See https://bugs.eclipse.org/bugs/show_bug.cgi?id=260955

thanks

Andrew

Benjamin CABE wrote:

> Hi Andrew,

> Can you please open a bug [1] against EcoreTools with your NPE's stack
> trace (and, if possible, steps to reproduce)?

> Thanks!
> Benjamin

> [1] https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EMFT

> Andrew H a écrit :
>> We are having a lot of troubles with the ecore diagrams. We are using
>> them heavily as they are so useful - i.e. we use them almost exclusively
>> to develop our models.
>>
>> Unfortuately they are extremely brittle. Our model is evolving heavily
>> and we keep breaking the diagrams. The worst part is not simply that
>> they break but that they break leaving no clue as to how to fix it. This
>> is because we tend to get these NPE's. If this was trapped and a useful
>> message given then we could modify the xml for the diagram and fix the
>> problem (in theory at least).
>>
>> This would be very valuable until such a time as proper refactoring
>> support is built into the diagrams.
>>
>> Is there any advice as to how to determine the cause of breaks such as
>> these?
>>
>> Also, how long before we have a way to evolve the ecore models that
>> doesn't break the diagrams?
>>
>> The NPE is
>>
>> java.lang.NullPointerException
>> at
>>
org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:340)
>>
>> at
>>
org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:277)
>>
>> at
>>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.getLabelText(EAttributeEditPart.java:233)
>>
>> at
>>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshLabel(EAttributeEditPart.java:415)
>>
>> at
>>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshVisuals(EAttributeEditPart.java:404)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:676)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>
>> at
>>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>
>> at
>>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>
>> at
>>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>
>> at
>>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>
>> at
>>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>
>> at
>>
org.eclipse.gef.editparts.SimpleRootEditPart.setContents(Sim pleRootEditPart.java:101)
>>
>> at
>>
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:601)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalVie wer.setContents(DiagramGraphicalViewer.java:378)
>>
>> at
>>
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:610)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewerContents(DiagramEditor.java:870)
>>
>> at
>>
org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewerContents(EcoreDiagramEditor.java:448 )
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewer(DiagramEditor.java:863)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.initializeGraphicalViewer(DiagramEditorWithFlyOu tPalette.java:116)
>>
>> at
>>
org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewer(EcoreDiagramEditor.java:335)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat eGraphicalViewer(DiagramEditor.java:807)
>>
>> at
>>
org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(G raphicalEditor.java:163)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat ePartControl(DiagramEditor.java:1555)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.createPartControl(DiagramEditorWithFlyOutPalette .java:328)
>>
>> at
>>
org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor.createPartControl(DiagramDocumentEditor. java:1459)
>>
>> at
>>
org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:661)
>>
>> at
>>
org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:428)
>>
>> at
>>
org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:594)
>>
>> at
>> org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:266)
>> at
>>
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2820)
>>
>> at
>>
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2729)
>>
>> at
>> org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2721)
>> at
>> org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2673)
>> at
>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2668)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2652)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2643)
>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
>> at
>>
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:318)
>>
>> at
>>
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:160)
>>
>> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:22 8)
>> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:20 7)
>> at
>>
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchR un(SelectionDispatchAction.java:274)
>>
>> at
>>
org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selec tionDispatchAction.java:250)
>>
>> at
>>
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActio nGroup.handleOpen(PackageExplorerActionGroup.java:363)
>>
>> at
>>
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$ 5.open(PackageExplorerPart.java:603)
>>
>> at
>> org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredV iewer.java:820)
>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
>> at org.eclipse.core.runtime.Platform.run(Platform.java:880)
>> at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
>> at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:17 5)
>> at
>>
org.eclipse.jface.viewers.StructuredViewer.fireOpen(Structur edViewer.java:818)
>>
>> at
>>
org.eclipse.jface.viewers.StructuredViewer.handleOpen(Struct uredViewer.java:1079)
>>
>> at
>>
org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Stru cturedViewer.java:1183)
>>
>> at
>> org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrate gy.java:263)
>> at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.ja va:257)
>> at
>> org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrate gy.java:297)
>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3401)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3033)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>>
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at
>>
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>>
>> at
>>
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>
>> at
>>
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>
>> at
>>
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>
>> at
>>
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>>
>> at
>>
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>>
>> at
>>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>>
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>
>>
Re: [EcoreTools] NPE in ComposedAdapterFactory.adapt [message #620582 is a reply to message #132214] Thu, 15 January 2009 02:38 Go to previous message
Andrew H is currently offline Andrew HFriend
Messages: 117
Registered: July 2009
Senior Member
Hi Benjamin

I've created a couple more feature requests that would make our life
easier.

We have a single model for our domain model, but due to its size we
realised it is impractical to keep it in one ecore file (due to
performance).

So we broke it up into many ecore files (mostly one file per package)
using the <eSubpackages href="sub.ecore#/"/> feature. Its still logically
the same, but physically its not. We want to work with it though as if it
were just one file.

The first request is to add support for the <eSubpackages
href="sub.ecore#/"/> feature in the editor.
The second is for improving how ecore diagrams work with such an approach.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=261133

https://bugs.eclipse.org/bugs/show_bug.cgi?id=261135


regards

Andrew

Andrew H wrote:

> Hi Benjamin

> See https://bugs.eclipse.org/bugs/show_bug.cgi?id=260955

> thanks

> Andrew

> Benjamin CABE wrote:

>> Hi Andrew,

>> Can you please open a bug [1] against EcoreTools with your NPE's stack
>> trace (and, if possible, steps to reproduce)?

>> Thanks!
>> Benjamin

>> [1] https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EMFT

>> Andrew H a écrit :
>>> We are having a lot of troubles with the ecore diagrams. We are using
>>> them heavily as they are so useful - i.e. we use them almost exclusively
>>> to develop our models.
>>>
>>> Unfortuately they are extremely brittle. Our model is evolving heavily
>>> and we keep breaking the diagrams. The worst part is not simply that
>>> they break but that they break leaving no clue as to how to fix it. This
>>> is because we tend to get these NPE's. If this was trapped and a useful
>>> message given then we could modify the xml for the diagram and fix the
>>> problem (in theory at least).
>>>
>>> This would be very valuable until such a time as proper refactoring
>>> support is built into the diagrams.
>>>
>>> Is there any advice as to how to determine the cause of breaks such as
>>> these?
>>>
>>> Also, how long before we have a way to evolve the ecore models that
>>> doesn't break the diagrams?
>>>
>>> The NPE is
>>>
>>> java.lang.NullPointerException
>>> at
>>>
>
org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:340)
>>>
>>> at
>>>
>
org.eclipse.emf.edit.provider.ComposedAdapterFactory.adapt(C omposedAdapterFactory.java:277)
>>>
>>> at
>>>
>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.getLabelText(EAttributeEditPart.java:233)
>>>
>>> at
>>>
>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshLabel(EAttributeEditPart.java:415)
>>>
>>> at
>>>
>
org.eclipse.emf.ecoretools.diagram.edit.parts.EAttributeEdit Part.refreshVisuals(EAttributeEditPart.java:404)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:676)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>>
>>> at
>>>
>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>>
>>> at
>>>
>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>>
>>> at
>>>
>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.addChild(GraphicalEditPart.java:1295)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:727)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:677)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:571)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$3(GraphicalEditPart.java:1)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt$3.run(GraphicalEditPart.java:839)
>>>
>>> at
>>>
>
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.runExclusive(TransactionalEditingDomainImpl.java:289)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.refresh(GraphicalEditPart.java:829)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:235)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:219)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:198)
>>>
>>> at
>>>
>
org.eclipse.gef.editparts.SimpleRootEditPart.setContents(Sim pleRootEditPart.java:101)
>>>
>>> at
>>>
>
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:601)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalVie wer.setContents(DiagramGraphicalViewer.java:378)
>>>
>>> at
>>>
>
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:610)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewerContents(DiagramEditor.java:870)
>>>
>>> at
>>>
>
org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewerContents(EcoreDiagramEditor.java:448 )
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewer(DiagramEditor.java:863)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.initializeGraphicalViewer(DiagramEditorWithFlyOu tPalette.java:116)
>>>
>>> at
>>>
>
org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor.i nitializeGraphicalViewer(EcoreDiagramEditor.java:335)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat eGraphicalViewer(DiagramEditor.java:807)
>>>
>>> at
>>>
>
org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(G raphicalEditor.java:163)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat ePartControl(DiagramEditor.java:1555)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.createPartControl(DiagramEditorWithFlyOutPalette .java:328)
>>>
>>> at
>>>
>
org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor.createPartControl(DiagramDocumentEditor. java:1459)
>>>
>>> at
>>>
>
org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:661)
>>>
>>> at
>>>
> org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:428)
>>>
>>> at
>>>
>
org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:594)
>>>
>>> at
>>> org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:266)
>>> at
>>>
>
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2820)
>>>
>>> at
>>>
>
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2729)
>>>
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2721)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2673)
>>> at
>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2668)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2652)
>>> at
>>> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2643)
>>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
>>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
>>> at
>>>
>
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:318)
>>>
>>> at
>>>
>
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:160)
>>>
>>> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:22 8)
>>> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:20 7)
>>> at
>>>
>
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchR un(SelectionDispatchAction.java:274)
>>>
>>> at
>>>
>
org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selec tionDispatchAction.java:250)
>>>
>>> at
>>>
>
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActio nGroup.handleOpen(PackageExplorerActionGroup.java:363)
>>>
>>> at
>>>
>
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$ 5.open(PackageExplorerPart.java:603)
>>>
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredV iewer.java:820)
>>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
>>> at org.eclipse.core.runtime.Platform.run(Platform.java:880)
>>> at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
>>> at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:17 5)
>>> at
>>>
>
org.eclipse.jface.viewers.StructuredViewer.fireOpen(Structur edViewer.java:818)
>>>
>>> at
>>>
>
org.eclipse.jface.viewers.StructuredViewer.handleOpen(Struct uredViewer.java:1079)
>>>
>>> at
>>>
>
org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Stru cturedViewer.java:1183)
>>>
>>> at
>>> org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrate gy.java:263)
>>> at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.ja va:257)
>>> at
>>> org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrate gy.java:297)
>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
>>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3401)
>>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3033)
>>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>>
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at
>>>
>
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>>>
>>> at
>>>
>
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>
>>> at
>>>
>
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>
>>> at
>>>
>
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>
>>> at
>>>
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>>>
>>> at
>>>
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>>
>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>>>
>>> at
>>>
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>>>
>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>
>>>
Previous Topic:NPE in ComposedAdapterFactory.adapt
Next Topic:[Announce] EMFT MWE 0.7.0 I200901151059 is available
Goto Forum:
  


Current Time: Thu Jul 18 09:13:14 GMT 2024

Powered by FUDForum. Page generated in 0.03669 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top