Reuse/extend the UML-RT Capsule Structure Diagram [message #1749797] |
Mon, 12 December 2016 07:21  |
Eclipse User |
|
|
|
Hi,
I'd like to reuse/extend the UML-RT Capsule Structure Diagram in my custom Viewpoint configuration and add my own palette to it but I'm not sure how to do it.
From what I see the UML-RT Capsule Structure Diagram is defined as a custom viewpoint diagram in the org.eclipse.papyrusrt.umlrt.tooling.diagram.common/configuration/UMLRT.configuration with the ImmplementationID 'UMLRTCapsuleStructure'.
What I've done is to create a Viewpoint ("Dummy Viewpoint") which has the UMLRT.configuration parent (see the attached viewpoint config file below)
The Dummy Viewpoint adds a diagram ("Dummy Structure Diagram") which has the ImpementationID 'UMLRTCapsuleStructure' and the UMLRT.configuration's UML-RT Capsule Structure Diagram as parent.
To the diagram I then add the same rules as the UML-RT Capsule Structure Diagram has in the UMLRT.configuration.
However, when I rightclick a capsule to create my a new Diagram no popup menu is hown in the model explorer and I get:
!ENTRY org.eclipse.ui 4 0 2016-12-12 11:26:24.315
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
at org.eclipse.papyrus.infra.emf.types.rules.container.InvariantContainerRule.canContain(InvariantContainerRule.java:91)
at org.eclipse.papyrus.infra.emf.types.rules.container.InvariantContainerRule.approveCreationRequest(InvariantContainerRule.java:37)
at org.eclipse.papyrus.infra.types.rulebased.core.AbstractRule.approveRequest(AbstractRule.java:39)
at org.eclipse.papyrus.infra.types.rulebased.core.DefaultRuleEditHelperAdvice.processRule(DefaultRuleEditHelperAdvice.java:210)
at org.eclipse.papyrus.infra.types.rulebased.core.DefaultRuleEditHelperAdvice.processCompositeRule(DefaultRuleEditHelperAdvice.java:187)
at org.eclipse.papyrus.infra.types.rulebased.core.DefaultRuleEditHelperAdvice.processRule(DefaultRuleEditHelperAdvice.java:205)
at org.eclipse.papyrus.infra.types.rulebased.core.DefaultRuleEditHelperAdvice.approveRequest(DefaultRuleEditHelperAdvice.java:220)
at org.eclipse.papyrus.infra.types.rulebased.core.DefaultRuleEditHelperAdvice.approveRequest(DefaultRuleEditHelperAdvice.java:52)
at org.eclipse.papyrus.infra.types.core.notification.AbstractNotifierEditHelper.approveRequest(AbstractNotifierEditHelper.java:226)
at org.eclipse.papyrus.infra.types.core.notification.AbstractNotifierEditHelper.getEditCommand(AbstractNotifierEditHelper.java:57)
at org.eclipse.gmf.runtime.emf.type.core.MetamodelType.getEditCommand(MetamodelType.java:107)
at org.eclipse.papyrus.infra.services.edit.internal.ElementEditService.getEditCommand(ElementEditService.java:85)
at org.eclipse.papyrus.infra.newchild.CreationMenuFactory.buildCommand(CreationMenuFactory.java:393)
at org.eclipse.papyrus.views.modelexplorer.newchild.ModelExplorerMenuFactory.buildCommand(ModelExplorerMenuFactory.java:71)
at org.eclipse.papyrus.infra.newchild.CreationMenuFactory.constructMenu(CreationMenuFactory.java:204)
at org.eclipse.papyrus.infra.newchild.CreationMenuFactory.populateMenu(CreationMenuFactory.java:137)
at org.eclipse.papyrus.views.modelexplorer.newchild.ModelExplorerDynamicNewChild.fill(ModelExplorerDynamicNewChild.java:72)
at org.eclipse.ui.internal.menus.DynamicMenuContributionItem.fill(DynamicMenuContributionItem.java:147)
at org.eclipse.jface.action.MenuManager.doItemFill(MenuManager.java:728)
at org.eclipse.jface.action.MenuManager.update(MenuManager.java:810)
at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:472)
at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:465)
at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:497)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:256)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5219)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1366)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1345)
at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:198)
at org.eclipse.swt.widgets.Display.runPopups(Display.java:4595)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4133)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:687)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:604)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
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:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
!ENTRY org.eclipse.ui 4 0 2016-12-12 11:26:24.387
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
at org.eclipse.papyrus.infra.emf.types.rules.container.InvariantContainerRule.canContain(InvariantContainerRule.java:91)
at org.eclipse.papyrus.infra.emf.types.rules.container.InvariantContainerRule.approveCreationRequest(InvariantContainerRule.java:37)
at org.eclipse.papyrus.infra.types.rulebased.core.AbstractRule.approveRequest(AbstractRule.java:39)
at org.eclipse.papyrus.infra.types.rulebased.core.DefaultRuleEditHelperAdvice.processRule(DefaultRuleEditHelperAdvice.java:210)
at org.eclipse.papyrus.infra.types.rulebased.core.DefaultRuleEditHelperAdvice.processCompositeRule(DefaultRuleEditHelperAdvice.java:187)
at org.eclipse.papyrus.infra.types.rulebased.core.DefaultRuleEditHelperAdvice.processRule(DefaultRuleEditHelperAdvice.java:205)
at org.eclipse.papyrus.infra.types.rulebased.core.DefaultRuleEditHelperAdvice.approveRequest(DefaultRuleEditHelperAdvice.java:220)
at org.eclipse.papyrus.infra.types.rulebased.core.DefaultRuleEditHelperAdvice.approveRequest(DefaultRuleEditHelperAdvice.java:52)
at org.eclipse.papyrus.infra.types.core.notification.AbstractNotifierEditHelper.approveRequest(AbstractNotifierEditHelper.java:226)
at org.eclipse.papyrus.infra.types.core.notification.AbstractNotifierEditHelper.getEditCommand(AbstractNotifierEditHelper.java:57)
at org.eclipse.gmf.runtime.emf.type.core.MetamodelType.getEditCommand(MetamodelType.java:107)
at org.eclipse.papyrus.infra.services.edit.internal.ElementEditService.getEditCommand(ElementEditService.java:85)
at org.eclipse.papyrus.infra.newchild.CreationMenuFactory.buildCommand(CreationMenuFactory.java:393)
at org.eclipse.papyrus.views.modelexplorer.newchild.ModelExplorerMenuFactory.buildCommand(ModelExplorerMenuFactory.java:71)
at org.eclipse.papyrus.infra.newchild.CreationMenuFactory.constructMenu(CreationMenuFactory.java:204)
at org.eclipse.papyrus.infra.newchild.CreationMenuFactory.populateMenu(CreationMenuFactory.java:137)
at org.eclipse.papyrus.views.modelexplorer.newchild.ModelExplorerDynamicNewChild.fill(ModelExplorerDynamicNewChild.java:72)
at org.eclipse.ui.internal.menus.DynamicMenuContributionItem.fill(DynamicMenuContributionItem.java:147)
at org.eclipse.jface.action.MenuManager.doItemFill(MenuManager.java:728)
at org.eclipse.jface.action.MenuManager.update(MenuManager.java:810)
at org.eclipse.jface.action.MenuManager.update(MenuManager.java:669)
at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRenderer$8.run(MenuManagerRenderer.java:1202)
at org.eclipse.swt.widgets.Display.timerProc(Display.java:5144)
at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2495)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4141)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:687)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:604)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
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:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
The viewpoint configuration file
<?xml version="1.0" encoding="UTF-8"?>
<configuration:PapyrusConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmi:id="_utxYkLIcEeanobEfwY7g-w" defaultStakeholder="_FrffsMBOEeaXW62QENb8Aw">
<stakeholders xmi:id="_FrffsMBOEeaXW62QENb8Aw" name="Dummy Modeler" viewpoints="_FrffscBOEeaXW62QENb8Aw"/>
<viewpoints xsi:type="configuration:PapyrusViewpoint" xmi:id="_FrffscBOEeaXW62QENb8Aw" name="Dummy Viewpoint">
<modelKinds xsi:type="configuration:PapyrusDiagram" xmi:id="_FrgGwMBOEeaXW62QENb8Aw" name="Dummy Structure Diagram" icon="platform:/plugin/com.test.ui/icons/icon.png" implementationID="UMLRTCapsuleStructure" categories="_FrijAsBOEeaXW62QENb8Aw" customPalette="platform:/plugin/com.test.ui/models/MyPalette.paletteconfiguration" customStyle="">
<parent href="platform:/plugin/org.eclipse.papyrusrt.umlrt.tooling.diagram.common/configuration/UMLRT.configuration#_Z79eQHcZEeSnWeKqQOfW2A"/>
<modelRules xmi:id="_Frgt0MBOEeaXW62QENb8Aw" permit="false">
<element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
</modelRules>
<modelRules xmi:id="_JYXn0MBTEeaXW62QENb8Aw"/>
<owningRules xmi:id="_FrhU4MBOEeaXW62QENb8Aw">
<element href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</owningRules>
<childRules xmi:id="_PD0HsMBTEeaXW62QENb8Aw"/>
<paletteRules xmi:id="_FrhU4sBOEeaXW62QENb8Aw" permit="false" element="composite.group.*"/>
</modelKinds>
<parent href="platform:/plugin/org.eclipse.papyrusrt.umlrt.tooling.diagram.common/configuration/UMLRT.configuration#_3T-cEBP7EeSS0oyATXohNA"/>
</viewpoints>
<metamodel href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
<categories xmi:id="_FrijAsBOEeaXW62QENb8Aw" name="Dummy Model"/>
</configuration:PapyrusConfiguration>
|
|
|
|
Powered by
FUDForum. Page generated in 0.03671 seconds