Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 343149

Summary: SysML parametric action contribution not limited to the parametric diagram
Product: [Modeling] Papyrus Reporter: Gonzague Reydet <gonzague.reydet>
Component: CoreAssignee: Vincent Hémery <vincent.hemery>
Status: CLOSED DUPLICATE QA Contact:
Severity: critical    
Priority: P3 CC: arthur.daussy, emilien.perico, mariot.chauvin, mathieu.velten
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Gonzague Reydet CLA 2011-04-18 08:59:55 EDT
Build Identifier: 0.7.3

The SysML parametric diagram plug-in makes a popup menu contribution without limiting its scope to the parametric diagram.

<extension point="org.eclipse.gmf.runtime.common.ui.services.action.contributionItemProviders">
      <contributionItemProvider checkPluginLoaded="false" class="org.eclipse.papyrus.sysml.diagram.parametric.providers.ParametricDiagramContributionItemProvider">
      <Priority name="Low"/>
         <popupContribution class="org.eclipse.gmf.runtime.diagram.ui.providers.DiagramContextMenuProvider">
            <popupStructuredContributionCriteria objectClass="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart"/>
            <popupAction id="papyrus.restoreRelatedLinksAction" path="/navigateMenu/additions"/>
         </popupContribution>
      </contributionItemProvider>
   </extension>

This has side effects on all other GMF based editors. For instance I get the following NPE:

java.lang.NullPointerException
at org.eclipse.papyrus.sysml.diagram.parametric.actions.RestoreRelatedLinksAction.isEnabled(RestoreRelatedLinksAction.java:53)
at org.eclipse.jface.action.ActionContributionItem.update(ActionContributionItem.java:946)
at org.eclipse.jface.action.ActionContributionItem.fill(ActionContributionItem.java:291)
at org.eclipse.jface.action.MenuManager.doItemFill(MenuManager.java:737)
at org.eclipse.jface.action.MenuManager.update(MenuManager.java:818)
at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:470)
at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:465)
at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:491)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:241)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1263)
at org.eclipse.swt.widgets.Menu.gtk_show(Menu.java:627)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1708)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4354)
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:2237)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3159)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
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:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)

Reproducible: Always
Comment 1 Arthur Daussy CLA 2011-04-22 03:36:29 EDT
Hello,
I'm looking into this bug but I do not succeed in reproducing it. Could you please give more specific information to reproduce it.

Thanks you,

Daussy Arthur
Comment 2 Arthur Daussy CLA 2011-04-22 04:35:21 EDT
I finnally succeed in reproducing the bug. It also concerned the Activity Diagram and Class Diagram so I have openned a new bug. You can follow any progess by following this link :
https://bugs.eclipse.org/bugs/post_bug.cgi
Comment 3 Arthur Daussy CLA 2011-04-22 08:42:02 EDT
(In reply to comment #2)
> I finnally succeed in reproducing the bug. It also concerned the Activity
> Diagram and Class Diagram so I have openned a new bug. You can follow any
> progess by following this link :
> https://bugs.eclipse.org/bugs/post_bug.cgi

Sorry the link is not correct. This is the eclipse bug reference number 343641.
Comment 4 Vincent Hémery CLA 2011-04-22 09:55:59 EDT
The bug #343641 has been created. It englobes this bug in a larger context (other impacted diagrams).

*** This bug has been marked as a duplicate of bug 343641 ***