Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Papyrus » DSML Diagram. Weird behaviour of Delete Selected Element
DSML Diagram. Weird behaviour of Delete Selected Element [message #1804816] Mon, 01 April 2019 16:41 Go to next message
Simon Kuzin is currently offline Simon KuzinFriend
Messages: 18
Registered: February 2019
Location: Singapore
Junior Member
Dear all,

I'm observing pretty weird behaviour of "Delete Selected Element" on custom DSML diagram.
In short words, uml model element is getting deleted , but diagram shape does not.
The same behaviour is observed in my custom diagram type as for standard uml class as for my custom prototyped element.
On standard UML Class Diagram "Delete Selected Element" deletes uml element and shape normally as for standard uml class as for my custom prototyped element.
I suppose some configuration is done wrong for my architecture or typedefs, however cannot figure out a problem.

Could you please advise on possible causes or suggest a direction for further investigation.

Case Screen Recording

Code of my DSML attached.

When "Delete Selected Element" engaged on my DSML diagram, following exceptions are getting risen:

!ENTRY org.eclipse.papyrus.infra.properties.ui 1 0 2019-04-02 00:09:50.240
!MESSAGE [DEBUG] "Profile application"

!ENTRY org.eclipse.papyrus.uml.profile 4 0 2019-04-02 00:13:18.856
!MESSAGE Unexpected Error
!STACK 0
org.eclipse.papyrus.infra.core.services.ServiceNotFoundException: Can't find the ResourceSet needed retrieve the ServiceRegistry.
	at org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForResource.getServiceRegistry(ServiceUtilsForResource.java:65)
	at org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject.getServiceRegistry(ServiceUtilsForEObject.java:45)
	at org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject.getServiceRegistry(ServiceUtilsForEObject.java:1)
	at org.eclipse.papyrus.infra.core.utils.AbstractServiceUtils.getTransactionalEditingDomain(AbstractServiceUtils.java:77)
	at org.eclipse.papyrus.uml.properties.profile.ui.compositesformodel.AppliedStereotypeCompositeOnModel.getEditingDomain(AppliedStereotypeCompositeOnModel.java:78)
	at org.eclipse.papyrus.uml.properties.profile.ui.compositesformodel.AppliedStereotypeCompositeOnModel.dispose(AppliedStereotypeCompositeOnModel.java:716)
	at org.eclipse.papyrus.uml.properties.profile.ui.compositesformodel.DecoratedTreeComposite$LocalDisposeListener.widgetDisposed(DecoratedTreeComposite.java:590)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:127)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4363)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1516)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1353)
	at org.eclipse.swt.widgets.Control.release(Control.java:2962)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:957)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1356)
	at org.eclipse.swt.widgets.Control.release(Control.java:2962)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:694)
	at org.eclipse.papyrus.infra.properties.ui.runtime.DefaultDisplayEngine.disposeControls(DefaultDisplayEngine.java:167)
	at org.eclipse.papyrus.infra.properties.ui.runtime.DefaultDisplayEngine.getTabDescriptors(DefaultDisplayEngine.java:136)
	at org.eclipse.papyrus.infra.properties.ui.xwt.XWTTabDescriptorProvider.getTabDescriptors(XWTTabDescriptorProvider.java:146)
	at org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyRegistry.getTabDescriptors(TabbedPropertyRegistry.java:282)
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.setInput(TabbedPropertySheetPage.java:745)
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.selectionChanged(TabbedPropertySheetPage.java:571)
	at org.eclipse.papyrus.infra.ui.editor.MultiDiagramPropertySheetPage.selectionChanged(MultiDiagramPropertySheetPage.java:118)
	at org.eclipse.ui.views.properties.PropertySheet.showSelectionAndDescription(PropertySheet.java:508)
	at org.eclipse.ui.views.properties.PropertySheet.selectionChanged(PropertySheet.java:488)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.notifyListeners(SelectionService.java:242)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.handlePostSelectionChanged(SelectionService.java:116)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.lambda$2(SelectionService.java:71)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$3.run(SelectionAggregator.java:163)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator.notifyPostListeners(SelectionAggregator.java:160)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator.access$7(SelectionAggregator.java:158)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$6.lambda$0(SelectionAggregator.java:250)
	at org.eclipse.e4.core.contexts.RunAndTrack.runExternalCode(RunAndTrack.java:59)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$6.changed(SelectionAggregator.java:250)
	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:117)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:365)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseContext.java:380)
	at org.eclipse.e4.ui.internal.workbench.SelectionServiceImpl.setPostSelection(SelectionServiceImpl.java:39)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.lambda$2(CompatibilityPart.java:130)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider$1.run(MultiPageSelectionProvider.java:117)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider.fireEventChange(MultiPageSelectionProvider.java:113)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider.firePostSelectionChanged(MultiPageSelectionProvider.java:107)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageEditorSite.handlePostSelectionChanged(MultiPageEditorSite.java:573)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageEditorSite$2.selectionChanged(MultiPageEditorSite.java:476)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalViewer.flushSelectionEvents(DiagramGraphicalViewer.java:256)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalViewer$1.run(DiagramGraphicalViewer.java:234)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4102)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:566)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1476)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1449)

!ENTRY org.eclipse.ui 4 0 2019-04-02 00:13:18.857
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
	at org.eclipse.papyrus.uml.properties.profile.ui.compositesformodel.AppliedStereotypeCompositeOnModel.dispose(AppliedStereotypeCompositeOnModel.java:716)
	at org.eclipse.papyrus.uml.properties.profile.ui.compositesformodel.DecoratedTreeComposite$LocalDisposeListener.widgetDisposed(DecoratedTreeComposite.java:590)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:127)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4363)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1516)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1353)
	at org.eclipse.swt.widgets.Control.release(Control.java:2962)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:957)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:1356)
	at org.eclipse.swt.widgets.Control.release(Control.java:2962)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:694)
	at org.eclipse.papyrus.infra.properties.ui.runtime.DefaultDisplayEngine.disposeControls(DefaultDisplayEngine.java:167)
	at org.eclipse.papyrus.infra.properties.ui.runtime.DefaultDisplayEngine.getTabDescriptors(DefaultDisplayEngine.java:136)
	at org.eclipse.papyrus.infra.properties.ui.xwt.XWTTabDescriptorProvider.getTabDescriptors(XWTTabDescriptorProvider.java:146)
	at org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyRegistry.getTabDescriptors(TabbedPropertyRegistry.java:282)
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.setInput(TabbedPropertySheetPage.java:745)
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.selectionChanged(TabbedPropertySheetPage.java:571)
	at org.eclipse.papyrus.infra.ui.editor.MultiDiagramPropertySheetPage.selectionChanged(MultiDiagramPropertySheetPage.java:118)
	at org.eclipse.ui.views.properties.PropertySheet.showSelectionAndDescription(PropertySheet.java:508)
	at org.eclipse.ui.views.properties.PropertySheet.selectionChanged(PropertySheet.java:488)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.notifyListeners(SelectionService.java:242)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.handlePostSelectionChanged(SelectionService.java:116)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.lambda$2(SelectionService.java:71)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$3.run(SelectionAggregator.java:163)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator.notifyPostListeners(SelectionAggregator.java:160)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator.access$7(SelectionAggregator.java:158)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$6.lambda$0(SelectionAggregator.java:250)
	at org.eclipse.e4.core.contexts.RunAndTrack.runExternalCode(RunAndTrack.java:59)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$6.changed(SelectionAggregator.java:250)
	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:117)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:365)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseContext.java:380)
	at org.eclipse.e4.ui.internal.workbench.SelectionServiceImpl.setPostSelection(SelectionServiceImpl.java:39)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.lambda$2(CompatibilityPart.java:130)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider$1.run(MultiPageSelectionProvider.java:117)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider.fireEventChange(MultiPageSelectionProvider.java:113)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider.firePostSelectionChanged(MultiPageSelectionProvider.java:107)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageEditorSite.handlePostSelectionChanged(MultiPageEditorSite.java:573)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageEditorSite$2.selectionChanged(MultiPageEditorSite.java:476)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalViewer.flushSelectionEvents(DiagramGraphicalViewer.java:256)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalViewer$1.run(DiagramGraphicalViewer.java:234)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4102)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:566)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1476)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1449)

!ENTRY org.eclipse.papyrus.infra.properties.ui 1 0 2019-04-02 00:13:18.881
!MESSAGE [DEBUG] "Profile application"

[Updated on: Mon, 01 April 2019 16:43]

Report message to a moderator

Re: DSML Diagram. Weird behaviour of Delete Selected Element [message #1804881 is a reply to message #1804816] Tue, 02 April 2019 16:31 Go to previous message
Simon Kuzin is currently offline Simon KuzinFriend
Messages: 18
Registered: February 2019
Location: Singapore
Junior Member
Found the answer by myself, looking on SysML1.4 DSML implementation,

The reason of issue seems to be following:

Deletion of dependant notation elements is controlled by org.eclipse.gmf.runtime.diagram.core.edithelpers.NotationViewDependentsAdvice.
Binding for this advice defined in org.eclipse.papyrus.infra.gmfdiag.common/model/gmfdiag-common.elementtypesconfigurations.
If Architecture language (context) definition does not include it, the above advice is not used for it's DSML diagrams.

So for each Language definition in architecture we must explicitly include gmfdiag-common.elementtypesconfigurations.

That looks really weird. Shouldn't Papyrus load such key infrastructure elements automatically?


Previous Topic:DSML. Struggling to configure Apply Stereotype Advice
Next Topic:Where is Papyrus 4.3.0 RCP download thanks
Goto Forum:
  


Current Time: Fri Apr 19 03:38:16 GMT 2024

Powered by FUDForum. Page generated in 0.01937 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top