osate / osate2

Open Source AADL2 Tool Environment
http://osate.org
Eclipse Public License 2.0
36 stars 8 forks source link

Cannot edit property values in the AADL Property Values view #2068

Closed lwrage closed 4 years ago

lwrage commented 4 years ago

Summary

When trying to edit an existing property value the cell containing the property value does not become editable. When trying to add a new property association an exception is reported in the error log.

Expected and Current Behavior

The new property association is serialized without a value.

Example stack trace:

eclipse.buildId=unknown
java.version=1.8.0_232-ea
java.vendor=Private Build
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -os linux -ws gtk -arch x86_64

org.eclipse.jface
Error
Wed Nov 20 20:14:45 EST 2019
Problems occurred when invoking code from plug-in: "org.eclipse.jface".

java.lang.RuntimeException: Could not serialize ModalPropertyValue:
ModalPropertyValue.ownedValue is required to have a value, but it does not.
Semantic Object: AadlPackage'CarSystem'.ownedPublicSection->PublicPackageSection'CarSystem_public'.ownedClassifier[1]->SystemImplementation'MyCar.CruiseControlTasks'.ownedPropertyAssociation[3]->PropertyAssociation.ownedValue[0]->ModalPropertyValue
URI: platform:/resource/Session11/packages/CarSystem.aadl
Context: OptionalModalPropertyValue returns ModalPropertyValue
    at org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic$ExceptionThrowingAcceptor.accept(ISerializationDiagnostic.java:131)
    at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:513)
    at org.osate.xtext.aadl2.properties.serializer.AbstractPropertiesSemanticSequencer.sequence_OptionalModalPropertyValue(AbstractPropertiesSemanticSequencer.java:408)
    at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence(AbstractAadl2SemanticSequencer.java:590)
    at org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer.createSequence(AbstractSemanticSequencer.java:67)
    at org.osate.xtext.aadl2.serializer.Aadl2SemanticSequencer.createSequence(Aadl2SemanticSequencer.java:158)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptEObjectRuleCall(SequenceFeeder.java:326)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptRuleCall(SequenceFeeder.java:353)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:264)
    at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:444)
    at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:511)
    at org.osate.xtext.aadl2.properties.serializer.AbstractPropertiesSemanticSequencer.sequence_ContainedPropertyAssociation(AbstractPropertiesSemanticSequencer.java:262)
    at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence(AbstractAadl2SemanticSequencer.java:698)
    at org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer.createSequence(AbstractSemanticSequencer.java:67)
    at org.osate.xtext.aadl2.serializer.Aadl2SemanticSequencer.createSequence(Aadl2SemanticSequencer.java:158)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptEObjectRuleCall(SequenceFeeder.java:326)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptRuleCall(SequenceFeeder.java:353)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:264)
    at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:444)
    at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:511)
    at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence_SystemImplementation(AbstractAadl2SemanticSequencer.java:3783)
    at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence(AbstractAadl2SemanticSequencer.java:829)
    at org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer.createSequence(AbstractSemanticSequencer.java:67)
    at org.osate.xtext.aadl2.serializer.Aadl2SemanticSequencer.createSequence(Aadl2SemanticSequencer.java:158)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptEObjectRuleCall(SequenceFeeder.java:326)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptRuleCall(SequenceFeeder.java:353)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:264)
    at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:444)
    at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:511)
    at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence_PublicPackageSection(AbstractAadl2SemanticSequencer.java:3164)
    at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence(AbstractAadl2SemanticSequencer.java:713)
    at org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer.createSequence(AbstractSemanticSequencer.java:67)
    at org.osate.xtext.aadl2.serializer.Aadl2SemanticSequencer.createSequence(Aadl2SemanticSequencer.java:158)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptEObjectRuleCall(SequenceFeeder.java:326)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptRuleCall(SequenceFeeder.java:353)
    at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:247)
    at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:451)
    at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:511)
    at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence_AadlPackage(AbstractAadl2SemanticSequencer.java:931)
    at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence(AbstractAadl2SemanticSequencer.java:209)
    at org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer.createSequence(AbstractSemanticSequencer.java:67)
    at org.osate.xtext.aadl2.serializer.Aadl2SemanticSequencer.createSequence(Aadl2SemanticSequencer.java:158)
    at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:118)
    at org.eclipse.xtext.serializer.impl.Serializer.serializeToRegions(Serializer.java:140)
    at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:146)
    at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:180)
    at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:58)
    at org.eclipse.xtext.ui.editor.model.edit.DefaultTextEditComposer.getTextEdit(DefaultTextEditComposer.java:140)
    at org.eclipse.xtext.ui.editor.model.edit.DefaultTextEditComposer.endRecording(DefaultTextEditComposer.java:129)
    at org.eclipse.xtext.ui.editor.model.edit.ReconcilingUnitOfWork.exec(ReconcilingUnitOfWork.java:57)
    at org.eclipse.xtext.ui.editor.model.edit.ReconcilingUnitOfWork.exec(ReconcilingUnitOfWork.java:1)
    at org.eclipse.xtext.resource.OutdatedStateManager.exec(OutdatedStateManager.java:91)
    at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.modify(XtextDocument.java:431)
    at org.eclipse.xtext.ui.editor.model.XtextDocument.internalModify(XtextDocument.java:164)
    at org.eclipse.xtext.ui.editor.model.XtextDocument.modify(XtextDocument.java:157)
    at org.osate.xtext.aadl2.ui.propertyview.AadlPropertyView.modify(AadlPropertyView.java:1217)
    at org.osate.xtext.aadl2.ui.propertyview.ValueColumnEditingSupport.setValue(ValueColumnEditingSupport.java:559)
    at org.eclipse.jface.viewers.EditingSupport.saveCellEditorValue(EditingSupport.java:116)
    at org.eclipse.jface.viewers.ColumnViewerEditor.saveEditorValue(ColumnViewerEditor.java:446)
    at org.eclipse.jface.viewers.ColumnViewerEditor.applyEditorValue(ColumnViewerEditor.java:312)
    at org.eclipse.jface.viewers.ColumnViewerEditor$1.applyEditorValue(ColumnViewerEditor.java:165)
    at org.eclipse.jface.viewers.CellEditor$1.run(CellEditor.java:335)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:47)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
    at org.eclipse.jface.viewers.CellEditor.fireApplyEditorValue(CellEditor.java:332)
    at org.eclipse.jface.viewers.CellEditor.focusLost(CellEditor.java:714)
    at de.itemis.xtext.utils.jface.viewers.XtextStyledTextCellEditor.focusLost(XtextStyledTextCellEditor.java:236)
    at de.itemis.utils.jface.viewers.StyledTextCellEditor.access$3(StyledTextCellEditor.java:1)
    at de.itemis.utils.jface.viewers.StyledTextCellEditor$5.focusLost(StyledTextCellEditor.java:156)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:147)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5618)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1405)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1431)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1410)
    at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:4751)
    at org.eclipse.swt.widgets.Control.gtk_event_after(Control.java:3832)
    at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2233)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:6846)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5842)
    at org.eclipse.swt.internal.gtk.GTK._gtk_widget_grab_focus(Native Method)
    at org.eclipse.swt.internal.gtk.GTK.gtk_widget_grab_focus(GTK.java:8799)
    at org.eclipse.swt.widgets.Control.forceFocus(Control.java:2953)
    at org.eclipse.swt.widgets.Control.forceFocus(Control.java:2946)
    at org.eclipse.swt.widgets.Control.setFocus(Control.java:5448)
    at org.eclipse.ui.internal.views.log.LogView.setFocus(LogView.java:1113)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.delegateSetFocus(CompatibilityPart.java:222)
    at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:318)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:324)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:246)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:147)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.focusGui(PartRenderingEngine.java:795)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$1.setFocus(ContributedPartRenderer.java:106)
    at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1613)
    at org.eclipse.swt.custom.CTabItem.setFocus(CTabItem.java:343)
    at org.eclipse.swt.custom.CTabFolder.setFocus(CTabFolder.java:2637)
    at org.eclipse.swt.widgets.Control.fixFocus(Control.java:358)
    at org.eclipse.swt.widgets.Control.setVisible(Control.java:6136)
    at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3181)
    at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3189)
    at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1876)
    at org.eclipse.swt.custom.CTabFolder.lambda$0(CTabFolder.java:330)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5618)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1405)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4882)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4406)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:633)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
    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:660)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1468)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1441)

Steps to Reproduce

Environment

joeseibel commented 4 years ago

Works for me.