Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 491473 - [Tooling] Neon port broke the port and part type properties
Summary: [Tooling] Neon port broke the port and part type properties
Status: CLOSED FIXED
Alias: None
Product: Papyrus-rt
Classification: Modeling
Component: tool (show other bugs)
Version: 0.8.0   Edit
Hardware: All All
: P1 critical
Target Milestone: 0.8.0   Edit
Assignee: Christian Damus CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 477821 491156
  Show dependency tree
 
Reported: 2016-04-11 16:17 EDT by Christian Damus CLA
Modified: 2016-10-20 08:53 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Damus CLA 2016-04-11 16:17:10 EDT
The port to Papyrus Neon stream broke the 'type' property editor for RTPort and CapsulePart elements.  The consequence is that both in the Property Sheet and in the dialog for creation of a new port or part, the 'type' property shows

* without a label
* without an initial value in the text field
* with a "..." button that doesn't do anything
* with a "+" button that doesn't do anything
* without other required buttons, including "x"

Steps to reproduce:

1.  Create a Capsule with its diagram.
2.  In the Capsule Diagram, use the palette to create a port.
3.  See the completely dysfunctional dialog for editing the new port.

(similarly for parts)
Comment 1 Eclipse Genie CLA 2016-04-11 16:21:50 EDT
New Gerrit change created: https://git.eclipse.org/r/70417
Comment 2 Ernesto Posse CLA 2016-04-13 17:18:32 EDT
When attempting to assign a protocol to a port I get several exceptions. 

!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.core.runtime.AssertionFailedException: null argument:
	at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
	at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:73)
	at org.eclipse.jface.viewers.StructuredSelection.<init>(StructuredSelection.java:74)
	at org.eclipse.papyrus.infra.widgets.editors.TreeSelectorDialog.create(TreeSelectorDialog.java:207)
	at org.eclipse.jface.window.Window.open(Window.java:783)
	at org.eclipse.papyrus.infra.widgets.editors.ReferenceDialog.browseAction(ReferenceDialog.java:211)
	at org.eclipse.papyrus.infra.widgets.editors.ReferenceDialog.widgetSelected(ReferenceDialog.java:438)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4246)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1501)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1313)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4070)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3696)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1119)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1020)
	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:497)
	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.core.databinding 4 0 2016-04-13 17:10:54.577
!MESSAGE An error occurred while setting the value.
!STACK 0
java.lang.UnsupportedOperationException
	at org.eclipse.core.databinding.observable.value.AbstractObservableValue.doSetValue(AbstractObservableValue.java:76)
	at org.eclipse.core.databinding.observable.value.AbstractObservableValue.setValue(AbstractObservableValue.java:66)
	at org.eclipse.papyrus.infra.tools.databinding.DelegatingObservableValue.setValue(DelegatingObservableValue.java:104)
	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:497)
	at org.eclipse.papyrus.infra.tools.databinding.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:160)
	at com.sun.proxy.$Proxy34.setValue(Unknown Source)
	at org.eclipse.core.databinding.UpdateValueStrategy.doSet(UpdateValueStrategy.java:469)
	at org.eclipse.core.databinding.ValueBinding$3$1.run(ValueBinding.java:206)
	at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:149)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:153)
	at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:171)
	at org.eclipse.core.databinding.ValueBinding$3.run(ValueBinding.java:196)
	at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:149)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:153)
	at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:171)
	at org.eclipse.core.databinding.ValueBinding.doUpdate(ValueBinding.java:158)
	at org.eclipse.core.databinding.ValueBinding.updateModelToTarget(ValueBinding.java:123)
	at org.eclipse.core.databinding.ValueBinding.postInit(ValueBinding.java:101)
	at org.eclipse.core.databinding.Binding.init(Binding.java:81)
	at org.eclipse.core.databinding.DataBindingContext.bindValue(DataBindingContext.java:167)
	at org.eclipse.papyrus.infra.widgets.editors.AbstractValueEditor.setBinding(AbstractValueEditor.java:218)
	at org.eclipse.papyrus.infra.widgets.editors.AbstractValueEditor.doBinding(AbstractValueEditor.java:203)
	at org.eclipse.papyrus.infra.widgets.editors.MultiplicityDialog.doBinding(MultiplicityDialog.java:346)
	at org.eclipse.papyrus.infra.widgets.editors.AbstractValueEditor.setModelObservable(AbstractValueEditor.java:158)
	at org.eclipse.papyrus.infra.widgets.editors.MultiplicityDialog.setModelObservable(MultiplicityDialog.java:432)
	at org.eclipse.papyrus.infra.properties.ui.widgets.AbstractPropertyEditor.doBinding(AbstractPropertyEditor.java:217)
	at org.eclipse.papyrus.uml.properties.widgets.MultiplicityDialog.doBinding(MultiplicityDialog.java:119)
	at org.eclipse.papyrus.infra.properties.ui.widgets.AbstractPropertyEditor.checkInput(AbstractPropertyEditor.java:178)
	at org.eclipse.papyrus.infra.properties.ui.widgets.AbstractPropertyEditor.setProperty(AbstractPropertyEditor.java:276)
	at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.eclipse.xwt.javabean.metadata.properties.BeanProperty.setValue(BeanProperty.java:91)
	at org.eclipse.xwt.javabean.ResourceLoader.initSegmentAttribute(ResourceLoader.java:1849)
	at org.eclipse.xwt.javabean.ResourceLoader.initAttribute(ResourceLoader.java:1594)
	at org.eclipse.xwt.javabean.ResourceLoader.init(ResourceLoader.java:1194)
	at org.eclipse.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java:681)
	at org.eclipse.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java:717)
	at org.eclipse.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java:717)
	at org.eclipse.xwt.javabean.ResourceLoader.createUIElement(ResourceLoader.java:378)
	at org.eclipse.xwt.internal.core.Core.createCLRElement(Core.java:630)
	at org.eclipse.xwt.internal.core.Core.load(Core.java:772)
	at org.eclipse.xwt.internal.core.Core.load(Core.java:660)
	at org.eclipse.xwt.XWTLoader.loadWithOptions(XWTLoader.java:1069)
	at org.eclipse.xwt.XWT.loadWithOptions(XWT.java:623)
	at org.eclipse.papyrus.infra.properties.ui.runtime.DefaultDisplayEngine.createSection(DefaultDisplayEngine.java:314)
	at org.eclipse.papyrus.infra.properties.ui.runtime.DefaultDisplayEngine.createSection(DefaultDisplayEngine.java:217)
	at org.eclipse.papyrus.infra.properties.ui.xwt.XWTSection.display(XWTSection.java:160)
	at org.eclipse.papyrus.infra.properties.ui.xwt.XWTSection.refresh(XWTSection.java:171)
	at org.eclipse.ui.views.properties.tabbed.TabContents$6.run(TabContents.java:217)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
	at org.eclipse.ui.views.properties.tabbed.TabContents.refresh(TabContents.java:220)
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage$SelectionChangedListener.selectionChanged(TabbedPropertySheetPage.java:221)
	at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:158)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
	at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:155)
	at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2191)
	at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1229)
	at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1258)
	at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:242)
	at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:236)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:405)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4246)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1501)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1313)
	at org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyList.select(TabbedPropertyList.java:864)
	at org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyList$ListElement$2.mouseUp(TabbedPropertyList.java:175)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:221)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4246)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1501)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1313)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4070)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3696)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1119)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1020)
	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:497)
	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)
Comment 3 Christian Damus CLA 2016-04-13 17:21:10 EDT
(In reply to Ernesto Posse from comment #2)

There are some fixes in Papyrus recently that are prerequisites to testing the fix for this bug.  Are you up-to-date with Papyrus?
Comment 4 Ernesto Posse CLA 2016-04-13 18:20:08 EDT
(In reply to Christian W. Damus from comment #3)
> (In reply to Ernesto Posse from comment #2)
> 
> There are some fixes in Papyrus recently that are prerequisites to testing
> the fix for this bug.  Are you up-to-date with Papyrus?

It was tested on a fresh installation of the dev environment just about two hours ago (Wed Apr 13, ~ 4:30pm EST)

Perhaps the developer.setup doesn't bring in the lastest Papyrus updates?
Comment 5 Peter Cigehn CLA 2016-04-14 03:40:01 EDT
I tried this Gerrit patch as well (ensuring that I had the latest updates), I was not able to produce any of those exceptions when changing the type (protocol) of a port. However, I could see the second exceptions (UnsupportedOperationException) when selecting a capsule part, i.e. I did not even have to change its type (capsule), it was enough to select the capsule part. Each it was selected, this error was logged:

eclipse.buildId=unknown
java.version=1.8.0_66
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.sdk.ide
Command-line arguments:  -product org.eclipse.sdk.ide -data C:\Users\cigehpet\eclipse\papyrus-rt-master\ws/../runtime-Papyrus-RTManualTest -dev file:C:/Users/cigehpet/eclipse/papyrus-rt-master/ws/.metadata/.plugins/org.eclipse.pde.core/Papyrus-RT Manual Test/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog

org.eclipse.core.databinding
Error
Thu Apr 14 09:35:06 CEST 2016
An error occurred while setting the value.

java.lang.UnsupportedOperationException
	at org.eclipse.core.databinding.observable.value.AbstractObservableValue.doSetValue(AbstractObservableValue.java:76)
	at org.eclipse.core.databinding.observable.value.AbstractObservableValue.setValue(AbstractObservableValue.java:66)
	at org.eclipse.papyrus.infra.tools.databinding.DelegatingObservableValue.setValue(DelegatingObservableValue.java:104)
	at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.eclipse.papyrus.infra.tools.databinding.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:160)
	at com.sun.proxy.$Proxy37.setValue(Unknown Source)
	at org.eclipse.core.databinding.UpdateValueStrategy.doSet(UpdateValueStrategy.java:469)
	at org.eclipse.core.databinding.ValueBinding$3$1.run(ValueBinding.java:206)
	at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:149)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:153)
	at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:171)
	at org.eclipse.core.databinding.ValueBinding$3.run(ValueBinding.java:196)
	at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:149)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:153)
	at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:171)
	at org.eclipse.core.databinding.ValueBinding.doUpdate(ValueBinding.java:158)
	at org.eclipse.core.databinding.ValueBinding.updateModelToTarget(ValueBinding.java:123)
	at org.eclipse.core.databinding.ValueBinding.postInit(ValueBinding.java:101)
	at org.eclipse.core.databinding.Binding.init(Binding.java:81)
	at org.eclipse.core.databinding.DataBindingContext.bindValue(DataBindingContext.java:167)
	at org.eclipse.papyrus.infra.widgets.editors.AbstractValueEditor.setBinding(AbstractValueEditor.java:218)
	at org.eclipse.papyrus.infra.widgets.editors.AbstractValueEditor.doBinding(AbstractValueEditor.java:203)
	at org.eclipse.papyrus.infra.widgets.editors.MultiplicityDialog.doBinding(MultiplicityDialog.java:346)
	at org.eclipse.papyrus.infra.widgets.editors.AbstractValueEditor.setModelObservable(AbstractValueEditor.java:158)
	at org.eclipse.papyrus.infra.widgets.editors.MultiplicityDialog.setModelObservable(MultiplicityDialog.java:432)
	at org.eclipse.papyrus.infra.properties.ui.widgets.AbstractPropertyEditor.doBinding(AbstractPropertyEditor.java:217)
	at org.eclipse.papyrus.uml.properties.widgets.MultiplicityDialog.doBinding(MultiplicityDialog.java:119)
	at org.eclipse.papyrus.infra.properties.ui.widgets.AbstractPropertyEditor.checkInput(AbstractPropertyEditor.java:178)
	at org.eclipse.papyrus.infra.properties.ui.widgets.AbstractPropertyEditor.setInput(AbstractPropertyEditor.java:335)
	at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.eclipse.xwt.javabean.metadata.properties.BeanProperty.setValue(BeanProperty.java:91)
	at org.eclipse.xwt.javabean.ResourceLoader.initSegmentAttribute(ResourceLoader.java:1849)
	at org.eclipse.xwt.javabean.ResourceLoader.initAttribute(ResourceLoader.java:1594)
	at org.eclipse.xwt.javabean.ResourceLoader.init(ResourceLoader.java:1194)
	at org.eclipse.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java:681)
	at org.eclipse.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java:717)
	at org.eclipse.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java:717)
	at org.eclipse.xwt.javabean.ResourceLoader.createUIElement(ResourceLoader.java:378)
	at org.eclipse.xwt.internal.core.Core.createCLRElement(Core.java:630)
	at org.eclipse.xwt.internal.core.Core.load(Core.java:772)
	at org.eclipse.xwt.internal.core.Core.load(Core.java:660)
	at org.eclipse.xwt.XWTLoader.loadWithOptions(XWTLoader.java:1069)
	at org.eclipse.xwt.XWT.loadWithOptions(XWT.java:623)
	at org.eclipse.papyrus.infra.properties.ui.runtime.DefaultDisplayEngine.createSection(DefaultDisplayEngine.java:314)
	at org.eclipse.papyrus.infra.properties.ui.runtime.DefaultDisplayEngine.createSection(DefaultDisplayEngine.java:217)
	at org.eclipse.papyrus.infra.properties.ui.xwt.XWTSection.display(XWTSection.java:160)
	at org.eclipse.papyrus.infra.properties.ui.xwt.XWTSection.refresh(XWTSection.java:171)
	at org.eclipse.ui.views.properties.tabbed.TabContents$6.run(TabContents.java:217)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
	at org.eclipse.ui.views.properties.tabbed.TabContents.refresh(TabContents.java:220)
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage$SelectionChangedListener.selectionChanged(TabbedPropertySheetPage.java:221)
	at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:158)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
	at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:155)
	at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2191)
	at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1229)
	at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1258)
	at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:242)
	at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:236)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:405)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4415)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1103)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1088)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:802)
	at org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyList.select(TabbedPropertyList.java:864)
	at org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyViewer.setSelectionToWidget(TabbedPropertyViewer.java:122)
	at org.eclipse.jface.viewers.StructuredViewer.setSelectionToWidget(StructuredViewer.java:1770)
	at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1726)
	at org.eclipse.jface.viewers.Viewer.setSelection(Viewer.java:383)
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.setInput(TabbedPropertySheetPage.java:747)
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.selectionChanged(TabbedPropertySheetPage.java:555)
	at org.eclipse.papyrus.infra.ui.editor.MultiDiagramPropertySheetPage.selectionChanged(MultiDiagramPropertySheetPage.java:116)
	at org.eclipse.ui.views.properties.PropertySheet.selectionChanged(PropertySheet.java:405)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.notifyListeners(SelectionService.java:259)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.handlePostSelectionChanged(SelectionService.java:133)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.access$1(SelectionService.java:123)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService$3.selectionChanged(SelectionService.java:81)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$4.run(SelectionAggregator.java:166)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator.notifyPostListeners(SelectionAggregator.java:163)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator.access$8(SelectionAggregator.java:161)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$8$1.run(SelectionAggregator.java:271)
	at org.eclipse.e4.core.contexts.RunAndTrack.runExternalCode(RunAndTrack.java:56)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$8.changed(SelectionAggregator.java:268)
	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:114)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:342)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseContext.java:357)
	at org.eclipse.e4.ui.internal.workbench.SelectionServiceImpl.setPostSelection(SelectionServiceImpl.java:36)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart$3.selectionChanged(CompatibilityPart.java:132)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider$1.run(MultiPageSelectionProvider.java:115)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider.fireEventChange(MultiPageSelectionProvider.java:111)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider.firePostSelectionChanged(MultiPageSelectionProvider.java:105)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageEditorSite.handlePostSelectionChanged(MultiPageEditorSite.java:570)
	at org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageEditorSite$2.selectionChanged(MultiPageEditorSite.java:473)
	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:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4208)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3824)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1119)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1020)
	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:497)
	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)

But on the other hand, I see lots of strange things going on in general now when we have moved over to Neon. The capsule structure diagram is now "duplicated", i.e. when you create a capsule, you get two diagrams, of which one is nested *inside* the other diagram. Looks really strange.

I could also see double entries of capsules when selecting a new type (capsule) for a capsule part. But the next time I tried, the duplication did not occur.

I also managed to get the missing container to be shown for the diagrams from the UML-RT profile to be shown on the Welcome page (as described in Bug 491249), but the next time they disappeared again.

Anyway, things feels a bit shaky on Neon...
Comment 6 Peter Cigehn CLA 2016-04-14 05:20:11 EDT
(In reply to Peter Cigehn from comment #5)
> But on the other hand, I see lots of strange things going on in general now
> when we have moved over to Neon. The capsule structure diagram is now
> "duplicated", i.e. when you create a capsule, you get two diagrams, of which
> one is nested *inside* the other diagram. Looks really strange.

To clarify: This I could only see in the runtime workbench, when I had all the sub-projects from the developer setup imported into the workspace. When I tested this again with only the top-level Papyrus-RT project imported, i.e. an empty developer workspace, then it worked in the runtime workbench. It also works in my nightly build test installation. Then when trying again to import some of the subproject (core, profile and tooling), then I could not repeat. So this was hopefully just a "glitch" in my setup.
Comment 7 Christian Damus CLA 2016-04-14 15:27:23 EDT
Hmmm.  I see none of the exceptions recorded in recent comments in my development environment, on

* Papyrus Neon master branch nightly build 2597 with bug 491542 patched in my workspaces
* Papyrus-RT Neon master branch commit b6764d3c7451e7ec5d750cf9ee8fff8a01697385 (the patch for this bug) with subsequent commits patching portions of bug 477819 and bug 477821

Even if I roll back to just commit b6764d3 (without the patches for the other bugs), I don't see these exceptions when I use the property sheet to change the type of a port, any combination of:

* select existing protocol
* create new protocol
* undo
* redo
Comment 8 Peter Cigehn CLA 2016-04-14 15:49:39 EDT
The exception I saw only occurred for a capsule part, not for the port case. On the other hand, things behaved strange in my runtime workbench, so maybe I had some general issues.
Comment 9 Christian Damus CLA 2016-04-14 16:21:18 EDT
(In reply to Peter Cigehn from comment #8)
> The exception I saw only occurred for a capsule part, not for the port case.
> On the other hand, things behaved strange in my runtime workbench, so maybe
> I had some general issues.

Sorry, I'm so easily confused today.

You're right.  The property sheet for Capsule Parts needs to catch up to changes made in the multiplicity property editor in Neon, which is now a lot more complex than Mars.  Until then, yes we get the exceptions Ernesto indicated whenever a Capsule Part is selected.  I'll look into that.
Comment 10 Peter Cigehn CLA 2016-04-14 16:27:28 EDT
Keep in mind that for UML-RT we will simplify multiplicity into a replication which basically only maps to upper bound. Please check the two Bugzillan related to the introduction of a Replication field for port respectively capsule part. I don't have numbers easily available on my phone.
Comment 11 Peter Cigehn CLA 2016-04-15 03:04:29 EDT
(In reply to Peter Cigehn from comment #10)
> Keep in mind that for UML-RT we will simplify multiplicity into a
> replication which basically only maps to upper bound. Please check the two
> Bugzillan related to the introduction of a Replication field for port
> respectively capsule part. I don't have numbers easily available on my phone.

The two Bugzillas that I referred to are: Bug 479350 for the introduction of the replication field (or "replacement" of the current multiplicity field) for capsule part and 479352 for the introduction of the replication field for port (which currently completely lacks multiplicity on the "Real Time" tab).

So I am not sure how much we to adapt to the changes in the multiplicity property editor in Neon, since the replication field editor probably should be custom for Papyrus-RT anyway.
Comment 12 Christian Damus CLA 2016-04-15 09:26:21 EDT
(In reply to Peter Cigehn from comment #10)
> Keep in mind that for UML-RT we will simplify multiplicity into a
> replication which basically only maps to upper bound. Please check the two
> Bugzillan related to the introduction of a Replication field for port
> respectively capsule part. I don't have numbers easily available on my phone.

Well, it turns out to be a bug in Papyrus, anyways:  bug 491789.  So, I think it's a moot point now in this context.  :-)
Comment 14 Christian Damus CLA 2016-04-20 14:29:30 EDT
Fixed on the master branch.
Comment 15 Peter Cigehn CLA 2016-04-21 04:26:48 EDT
I've tested this in the latest Papyrus-RT build, and it now works. The type property for port and capsule parts now works as expected. I suggest that we put this one into verified fixed (I do not have the access right to do so).

One thing though that I observed was that when I edited the capsule part reference itself, using the ... button, the browse dialog had all the capsules duplicated. I am not sure if this in any way could be related to how the customization of protocols also is broken, see Bug 491228. Anyway, that is really not related to this Bugzilla.
Comment 16 Christian Damus CLA 2016-04-21 07:23:27 EDT
(In reply to Peter Cigehn from comment #15)
> I've tested this in the latest Papyrus-RT build, and it now works. The type
> property for port and capsule parts now works as expected. I suggest that we
> put this one into verified fixed (I do not have the access right to do so).

Thanks!  I wonder why you can't change the status of the bug, though.  If anybody on this project could do that, it should be you ...

> One thing though that I observed was that when I edited the capsule part
> reference itself, using the ... button, the browse dialog had all the
> capsules duplicated. I am not sure if this in any way could be related to
> how the customization of protocols also is broken, see Bug 491228. Anyway,
> that is really not related to this Bugzilla.

Yes, I expect that would be related to the systemic facet-customization API incongruity.
Comment 17 Christian Damus CLA 2016-04-21 07:23:52 EDT
Whoops ... twiddled the wrong part of the status.
Comment 18 Christian Damus CLA 2016-10-20 08:53:03 EDT
I am satisfied with the verification.