Community
Participate
Working Groups
When I try to drop a diagram shortcut inside a profile diagram, more precisely inside a package, the action is forbidden. Also, when I use the "+" buttom to add a diagram shortcut to a package, I have an unhandled event exception: java.lang.NullPointerException at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.CustomAdapterFactoryContentProvider.lookForAttachedDiagram(CustomAdapterFactoryContentProvider.java:81) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.CustomAdapterFactoryContentProvider.hasChildren(CustomAdapterFactoryContentProvider.java:62) at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2086) at org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer.java:588) at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2112) at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:2794) at org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.java:852) at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:830) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:804) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:778) at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:644) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:749) at org.eclipse.jface.viewers.AbstractTreeViewer.internalInitializeTree(AbstractTreeViewer.java:1492) at org.eclipse.jface.viewers.TreeViewer.internalInitializeTree(TreeViewer.java:833) at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1476) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1422) at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1383) at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1469) at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.inputChanged(FilteredTree.java:1187) at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:274) at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1664) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.EditorLookForDiagram.<init>(EditorLookForDiagram.java:358) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.EditorHyperlinkDiagramShell$2.mouseDown(EditorHyperlinkDiagramShell.java:104) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:185) 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.Display.runDeferredEvents(Display.java:4066) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.EditorHyperlinkDiagramShell.open(EditorHyperlinkDiagramShell.java:50) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.HyperLinkManagerShell$7.mouseDown(HyperLinkManagerShell.java:510) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:185) 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.Display.runDeferredEvents(Display.java:4066) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.HyperLinkManagerShell.open(HyperLinkManagerShell.java:554) at org.eclipse.papyrus.diagram.common.editpolicies.HyperLinkPopupBarEditPolicy$PopupBarMouseListener.mousePressed(HyperLinkPopupBarEditPolicy.java:317) at org.eclipse.draw2d.Figure.handleMousePressed(Figure.java:935) at org.eclipse.papyrus.diagram.common.editpolicies.HyperLinkPopupBarEditPolicy$PopupBarLabelHandle.handleMousePressed(HyperLinkPopupBarEditPolicy.java:212) at org.eclipse.draw2d.SWTEventDispatcher.dispatchMousePressed(SWTEventDispatcher.java:243) at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMousePressed(DomainEventDispatcher.java:340) at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDown(LightweightSystem.java:523) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:185) 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.Display.runDeferredEvents(Display.java:4066) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) 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(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)
The bug is fix. Sometime the diagram lost the semantic element so the code "diagram.getElement() can return null" When the code was written, we believe that diagram.getElement() return never null. So I change this code and I look for if the kind of code was already written in order to rewritte and fix it. Done in the revision 3519
I still have the error in class and profile diagrams (I haven't tested the other diagrams). The error is: java.lang.NullPointerException at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.CustomAdapterFactoryContentProvider.lookForAttachedDiagram(CustomAdapterFactoryContentProvider.java:82) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.CustomAdapterFactoryContentProvider.hasChildren(CustomAdapterFactoryContentProvider.java:62) at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2086) at org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer.java:588) at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2112) at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:2794) at org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.java:852) at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:830) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:804) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:778) at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:644) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:749) at org.eclipse.jface.viewers.AbstractTreeViewer.internalInitializeTree(AbstractTreeViewer.java:1492) at org.eclipse.jface.viewers.TreeViewer.internalInitializeTree(TreeViewer.java:833) at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1476) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1422) at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1383) at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1469) at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.inputChanged(FilteredTree.java:1187) at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:274) at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1664) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.EditorLookForDiagram.<init>(EditorLookForDiagram.java:358) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.EditorHyperlinkDiagramShell$2.mouseDown(EditorHyperlinkDiagramShell.java:104) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:185) 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.Display.runDeferredEvents(Display.java:4066) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.EditorHyperlinkDiagramShell.open(EditorHyperlinkDiagramShell.java:50) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.HyperLinkManagerShell$7.mouseDown(HyperLinkManagerShell.java:510) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:185) 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.Display.runDeferredEvents(Display.java:4066) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) at org.eclipse.papyrus.diagram.common.ui.hyperlinkshell.HyperLinkManagerShell.open(HyperLinkManagerShell.java:554) at org.eclipse.papyrus.diagram.common.editpolicies.HyperLinkPopupBarEditPolicy$PopupBarMouseListener.mousePressed(HyperLinkPopupBarEditPolicy.java:317) at org.eclipse.draw2d.Figure.handleMousePressed(Figure.java:935) at org.eclipse.papyrus.diagram.common.editpolicies.HyperLinkPopupBarEditPolicy$PopupBarLabelHandle.handleMousePressed(HyperLinkPopupBarEditPolicy.java:212) at org.eclipse.draw2d.SWTEventDispatcher.dispatchMousePressed(SWTEventDispatcher.java:243) at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMousePressed(DomainEventDispatcher.java:340) at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDown(LightweightSystem.java:523) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:185) 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.Display.runDeferredEvents(Display.java:4066) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) 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(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)
Corrected in R3544 : I think Saadia had a corrupted Model (null Diagram in its model), so I added 2 tests to avoid a NPE in this case.
Works as expected in the current version. I close this task