| NPE in ComposedAdapterFactory.adapt [message #132161] | 
Mon, 12 January 2009 20:34   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
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] | 
Wed, 14 January 2009 21:38   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
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 05:45   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
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] | 
Tue, 13 January 2009 19:47   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
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] | 
Wed, 14 January 2009 21:38   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
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) 
>>>  
>>>
 |  
 |  
  | 
Powered by 
FUDForum. Page generated in 0.59419 seconds