Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 328812 - Exceptions while deleteing relations in JPA Editor
Summary: Exceptions while deleteing relations in JPA Editor
Status: CLOSED DUPLICATE of bug 257530
Alias: None
Product: Graphiti
Classification: Modeling
Component: Core (show other bugs)
Version: 0.7.0   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-27 08:11 EDT by Stefan Dimov CLA
Modified: 2010-11-10 03:54 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Dimov CLA 2010-10-27 08:11:15 EDT
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?
Comment 1 Stefan Dimov CLA 2010-10-27 08:34:46 EDT
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
Comment 2 Stefan Dimov CLA 2010-10-27 08:45:59 EDT
I'm getting similar exception when I'm working against Graphiti v.0.7
Comment 3 Stefan Dimov CLA 2010-10-27 09:56:01 EDT
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
Comment 4 Michael Wenz CLA 2010-11-08 08:38:16 EST
Stefan,

Are there still any open issues after the offline investigations?

Michael
Comment 5 Stefan Dimov CLA 2010-11-10 03:54:57 EST
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 ***