[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.tools.gef] Initializing the Grpahical Viewer leads to an exception

Hi,

My GEF editor class has the following method which is similar to the one found in the example programs:

 protected void initializeGraphicalViewer()
  {
  initToolBar();
  model = project.getModels()[0];
  try
  {
  getGraphicalViewer().setContents(model);
  } catch (Exception e)
  {
   System.out.println("Caught exception");
   e.printStackTrace();
  }
  }

Surprisingly enough, I get the following output:

Caught exception
java.lang.IndexOutOfBoundsException: Figure.add(...) invalid index
at org.eclipse.draw2d.Figure.add(Figure.java:110)
at org.eclipse.draw2d.Figure.add(Figure.java:157)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addChildVisual(AbstractGraphicalEditPart.java:198)
at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:195)
at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:750)
at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:700)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:554)
at org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:233)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraphicalEditPart.java:212)
at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:196)
at org.eclipse.gef.editparts.ScalableRootEditPart.setContents(ScalableRootEditPart.java:379)
at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:581)
at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:590)
at omega.test.plugin.editors.OMEGAGraphicalEditor.initializeGraphicalViewer(OMEGAGraphicalEditor.java:67)
at org.eclipse.gef.ui.parts.GraphicalEditor.createGraphicalViewer(GraphicalEditor.java:138)
at org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(GraphicalEditor.java:148)
at org.eclipse.ui.internal.PartPane$2.run(PartPane.java:137)
at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
at org.eclipse.core.runtime.Platform.run(Platform.java:747)
at org.eclipse.ui.internal.PartPane.createChildControl(PartPane.java:133)
at org.eclipse.ui.internal.PartPane.createControl(PartPane.java:205)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:939)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:921)
at org.eclipse.ui.internal.EditorStack.setSelection(EditorStack.java:196)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1020)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:290)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:121)
at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:59)
at org.eclipse.ui.internal.EditorAreaHelper.openEditor(EditorAreaHelper.java:266)
at org.eclipse.ui.internal.EditorManager$4.run(EditorManager.java:694)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:683)
at org.eclipse.ui.internal.EditorManager.openInternalEditor(EditorManager.java:779)
at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:582)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:570)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2244)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2177)
at org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage.java:2169)
at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2156)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2151)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:299)
at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:96)
at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:94)
at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:111)
at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:293)
at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:624)
at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:388)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:429)
at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
at org.eclipse.core.runtime.Platform.run(Platform.java:747)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:427)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:635)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:731)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:211)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:206)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:238)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2772)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2431)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:704)
at org.eclipse.core.launcher.Main.main(Main.java:688)



When I do not catch the exception (which seem to occur only *sometimes*(?)), the editor is not created, producing an entry in the
log. However, when I catch the exception, everything seems to work fine. Yet, removing the offending command leads to an empty editor (as expected). I have no idea what this is all about and any pointers would be greatly appreciated.


Thanks,
    Ralf