Community
Participate
Working Groups
1. Create two entities in the diagram 2. Create 1 to 1 bidir relation between them 3. Rename them 4. Try to delete the relation between them Result: The relation is not being deleted and you get error message: java.lang.NullPointerException at org.eclipse.jpt.ui.diagrameditor.feature.ClickRemoveAttributeButtonFeature.delete(ClickRemoveAttributeButtonFeature.java:76) at org.eclipse.jpt.ui.diagrameditor.feature.DeleteRelationFeature.delete(DeleteRelationFeature.java:94) 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(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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)
Seems that row 87 of DeleteRelationFeature returns null: PictogramElement ownerAttributeTextShape = getFeatureProvider(). getPictogramElementForBusinessObject(ownerAttribute);
Created attachment 181828 [details] patch
Created attachment 181833 [details] Delete relation fix + tests
Created attachment 181836 [details] delete relation + tests fix The patch should be now compatible with latest in HEAD.
Patch submitted ...