Community
Participate
Working Groups
When I'm playing with the JPA Diagram Editor I often get the following exception when I'm deleting realtions: ------------------------------------------------- java.lang.IndexOutOfBoundsException: Index does not exist at org.eclipse.draw2d.Figure.add(Figure.java:139) at org.eclipse.draw2d.Figure.add(Figure.java:184) at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addChildVisual(AbstractGraphicalEditPart.java:209) at org.eclipse.graphiti.ui.internal.parts.ContainerShapeEditPart.addChildVisual(ContainerShapeEditPart.java:161) at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:210) at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:771) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.refreshChildren(ShapeEditPart.java:626) at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:718) at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:633) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.deleteChildAndRefresh(ShapeEditPart.java:141) at org.eclipse.graphiti.ui.internal.parts.PictogramElementDelegate.refreshFigureForEditPart(PictogramElementDelegate.java:337) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.refreshVisuals(ShapeEditPart.java:648) at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:717) at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:633) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.refresh(ShapeEditPart.java:546) at org.eclipse.graphiti.ui.internal.parts.PictogramElementDelegate.refreshEditPartsForModelChildrenAndSourceConnections(PictogramElementDelegate.java:293) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.refreshChildren(ShapeEditPart.java:629) at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:718) at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:633) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.deleteChildAndRefresh(ShapeEditPart.java:141) at org.eclipse.graphiti.ui.internal.parts.PictogramElementDelegate.refreshFigureForEditPart(PictogramElementDelegate.java:337) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.refreshVisuals(ShapeEditPart.java:648) at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:717) at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:633) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.refresh(ShapeEditPart.java:546) at org.eclipse.graphiti.ui.internal.parts.PictogramElementDelegate.refreshEditPartsForModelChildrenAndSourceConnections(PictogramElementDelegate.java:293) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.refreshChildren(ShapeEditPart.java:629) at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:718) at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:633) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.deleteChildAndRefresh(ShapeEditPart.java:141) at org.eclipse.graphiti.ui.internal.parts.PictogramElementDelegate.refreshFigureForEditPart(PictogramElementDelegate.java:337) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.refreshVisuals(ShapeEditPart.java:648) at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:717) at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:633) at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.refresh(ShapeEditPart.java:546) at org.eclipse.graphiti.ui.internal.editor.DiagramEditorInternal.internalRefreshEditPart(DiagramEditorInternal.java:1201) at org.eclipse.graphiti.ui.internal.editor.DiagramRefreshJob.runInUIThread(DiagramRefreshJob.java:103) at org.eclipse.graphiti.ui.internal.editor.DiagramChangeListener.resourceSetChanged(DiagramChangeListener.java:140) at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl$1.run(TransactionalEditingDomainImpl.java:781) at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.runExclusive(TransactionalEditingDomainImpl.java:328) at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.postcommit(TransactionalEditingDomainImpl.java:771) at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.deactivate(TransactionalEditingDomainImpl.java:543) at org.eclipse.emf.transaction.impl.TransactionImpl.close(TransactionImpl.java:712) at org.eclipse.emf.transaction.impl.TransactionImpl.commit(TransactionImpl.java:474) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:155) at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:511) at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208) at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165) at org.eclipse.graphiti.ui.internal.editor.GFWorkspaceCommandStackImpl.execute(GFWorkspaceCommandStackImpl.java:47) at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:219) at org.eclipse.graphiti.ui.internal.editor.GFWorkspaceCommandStackImpl.execute(GFWorkspaceCommandStackImpl.java:39) at org.eclipse.jpt.ui.diagrameditor.feature.RemoveAttributeFeature.preRemove() at org.eclipse.graphiti.features.impl.DefaultRemoveFeature.remove(DefaultRemoveFeature.java:59) at org.eclipse.jpt.ui.diagrameditor.util.JPASolver$RemoveEntityAttributes.run(JPASolver.java:1341) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:173) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:388) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2600) at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:191) at org.eclipse.jdt.internal.corext.refactoring.RefactoringExecutionStarter.startCleanupRefactoring(RefactoringExecutionStarter.java:245) at org.eclipse.jdt.internal.ui.actions.CleanUpAction.performRefactoring(CleanUpAction.java:91) at org.eclipse.jdt.internal.ui.actions.CleanUpAction.run(CleanUpAction.java:172) at org.eclipse.jdt.internal.ui.actions.CleanUpAction.run(CleanUpAction.java:106) at org.eclipse.jdt.ui.actions.OrganizeImportsAction.run(OrganizeImportsAction.java:255) at org.eclipse.jpt.ui.diagrameditor.util.JPAEditorUtil.organizeImports(JPAEditorUtil.java:931) at org.eclipse.jpt.ui.diagrameditor.util.JPAEditorUtilImpl.organizeImports(JPAEditorUtilImpl.java:62) at org.eclipse.jpt.ui.diagrameditor.feature.DeleteRelationFeature.postDelete(DeleteRelationFeature.java:117) at org.eclipse.jpt.ui.diagrameditor.feature.DeleteRelationFeature.delete(DeleteRelationFeature.java:97) at org.eclipse.graphiti.ui.features.DefaultDeleteFeature.execute(DefaultDeleteFeature.java:130) at org.eclipse.graphiti.internal.command.GenericFeatureCommandWithContext.execute(GenericFeatureCommandWithContext.java:64) at org.eclipse.graphiti.internal.command.CommandContainer.execute(CommandContainer.java:81) at org.eclipse.graphiti.ui.internal.command.GefCommandWrapper.execute(GefCommandWrapper.java:51) at org.eclipse.gef.commands.CommandStack.execute(CommandStack.java:197) at org.eclipse.graphiti.ui.internal.action.AbstractPreDefinedAction.executeOnCommandStack(AbstractPreDefinedAction.java:75) at org.eclipse.graphiti.ui.internal.action.AbstractPreDefinedAction.genericRun(AbstractPreDefinedAction.java:93) at org.eclipse.graphiti.ui.internal.action.DeleteAction.run(DeleteAction.java:83) at org.eclipse.gef.KeyHandler.performStroke(KeyHandler.java:83) at org.eclipse.gef.KeyHandler.keyPressed(KeyHandler.java:55) at org.eclipse.gef.KeyHandler.keyPressed(KeyHandler.java:59) at org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler.keyPressed(GraphicalViewerKeyHandler.java:338) at org.eclipse.gef.tools.SelectionTool.handleKeyDown(SelectionTool.java:329) at org.eclipse.gef.tools.PanningSelectionTool.handleKeyDown(PanningSelectionTool.java:161) at org.eclipse.gef.tools.AbstractTool.keyDown(AbstractTool.java:1021) at org.eclipse.gef.tools.SelectionTool.keyDown(SelectionTool.java:489) at org.eclipse.gef.EditDomain.keyDown(EditDomain.java:169) at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchKeyPressed(DomainEventDispatcher.java:252) at org.eclipse.draw2d.LightweightSystem$EventHandler.keyPressed(LightweightSystem.java:497) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:161) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1103) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1099) at org.eclipse.swt.widgets.Widget.wmKeyDown(Widget.java:1808) at org.eclipse.swt.widgets.Control.WM_KEYDOWN(Control.java:4496) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4191) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4873) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2459) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407) at org.eclipse.equinox.launcher.Main.main(Main.java:1383) ------------------------------------------------- The last row (in the stack-trace is RemoveAttributeFeature.java:125), which is: ted.getCommandStack().execute(rc); (ted is TransactionalEditingDomain) This row is cloised in try/catch clause and it doesn't work. I mean, I can't catch the exception. Could you, please look into it?
I have to mention, I'm getting this exception when I'm working against HEAD version of Graphiti. Now, I'll try it against 0.7.0
I'm getting similar exception when I'm working against Graphiti v.0.7
Scenario: 1. Create two entities 2. Create some bi-dir relation between them 3. Rename both entities using direct editing 4. Try to delete relation
Stefan, Are there still any open issues after the offline investigations? Michael
I'm marking the bug as duplicate, because the exception is caused by another bug in Dali JPA Tools Framework. *** This bug has been marked as a duplicate of bug 257530 ***