Bug 475719 - ClassCastException in TransitionEditorConfigurationContribution.getTextToEdit (116)
Summary: ClassCastException in TransitionEditorConfigurationContribution.getTextToEdit...
Status: NEW
Alias: None
Product: Papyrus
Classification: Modeling
Component: Others (show other bugs)
Version: 1.1.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-24 10:10 EDT by EPP Error Reports CLA
Modified: 2017-09-08 09:52 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description EPP Error Reports CLA 2015-08-24 10:10:59 EDT
The following incident was reported via the automated error reporting:


    code:                   0
    plugin:                 org.eclipse.ui_3.107.0.v20150507-1945
    message:                HIDDEN
    fingerprint:            a3f99d4a
    exception class:        java.lang.ClassCastException
    exception message:      HIDDEN
    number of children:     0
    
    java.lang.ClassCastException: HIDDEN
    at org.eclipse.papyrus.uml.textedit.transition.xtext.ui.contributions.TransitionEditorConfigurationContribution.getTextToEdit(TransitionEditorConfigurationContribution.java:116)
    at org.eclipse.papyrus.uml.xtext.integration.DefaultXtextDirectEditorConfiguration.getTextToEditInternal(DefaultXtextDirectEditorConfiguration.java:191)
    at org.eclipse.papyrus.uml.xtext.integration.DefaultXtextDirectEditorConfiguration$2.getEditString(DefaultXtextDirectEditorConfiguration.java:128)
    at org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.TransitionGuardEditPart.getEditText(TransitionGuardEditPart.java:302)
    at org.eclipse.papyrus.uml.xtext.integration.XtextDirectEditManager.initCellEditor(XtextDirectEditManager.java:409)
    at org.eclipse.papyrus.uml.xtext.integration.DirectEditManagerEx.show(DirectEditManagerEx.java:438)
    at org.eclipse.papyrus.uml.xtext.integration.XtextDirectEditManager.show(XtextDirectEditManager.java:646)
    at org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.TransitionGuardEditPart$2.run(TransitionGuardEditPart.java:404)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.TransitionGuardEditPart.performDirectEdit(TransitionGuardEditPart.java:400)
    at org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.TransitionGuardEditPart$4.run(TransitionGuardEditPart.java:509)
    at org.eclipse.papyrus.infra.emf.readonly.PapyrusROTransactionalEditingDomain.runExclusive(PapyrusROTransactionalEditingDomain.java:270)
    at org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.TransitionGuardEditPart.initializeDirectEditManager(TransitionGuardEditPart.java:500)
    at org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.TransitionGuardEditPart.performDirectEditRequest(TransitionGuardEditPart.java:457)
    at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.performRequest(GraphicalEditPart.java:1119)
    at org.eclipse.papyrus.extensionpoints.editors.ui.OpenEmbeddedTextEditorObjectActionDelegate.run(OpenEmbeddedTextEditorObjectActionDelegate.java:108)
    at org.eclipse.papyrus.extensionpoints.editors.ui.DirectEditorsContributionItem$1.widgetSelected(DirectEditorsContributionItem.java:164)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
    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:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(null:-2)
    at sun.reflect.NativeMethodAccessorImpl.invoke(null:-1)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(null:-1)
    at java.lang.reflect.Method.invoke(null:-1)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
   
  

General Information:

    reported-by:      
    anonymous-id:     db88b99c-fe41-4823-b4d8-a2c2b3626b68
    eclipse-build-id: 4.5.0.I20150603-2000
    eclipse-product:  org.eclipse.epp.package.modeling.product
    operating system: Windows7 6.1.0 (x86_64) - win32
    jre-version:      1.8.0_40-b26

The following plug-ins were present on the execution stack (*):
    1. org.eclipse.core.databinding.observable_1.5.0.v20150422-0725
    2. org.eclipse.core.databinding_1.5.0.v20150422-0725
    3. org.eclipse.core.runtime_3.11.0.v20150405-1723
    4. org.eclipse.e4.ui.workbench_1.3.0.v20150531-1948
    5. org.eclipse.e4.ui.workbench.swt_0.13.0.v20150504-0621
    6. org.eclipse.equinox.app_1.3.300.v20150423-1356
    7. org.eclipse.equinox.launcher_1.3.100.v20150511-1540
    8. org.eclipse.gmf.runtime.diagram.ui_1.8.0.201506060219
    9. org.eclipse.gmf_1.9.0.201506060219
    10. org.eclipse.papyrus.extensionpoints.editors_1.1.0.201506101814
    11. org.eclipse.papyrus.infra.emf.readonly_1.1.0.201506101814
    12. org.eclipse.papyrus.infra.emf_1.1.0.201506101814
    13. org.eclipse.papyrus.uml.diagram.statemachine_1.1.0.201506101814
    14. org.eclipse.papyrus.uml.textedit.transition.xtext.ui_1.1.0.201506101814
    15. org.eclipse.papyrus.uml.textedit.transition.xtext_1.1.0.201506101814
    16. org.eclipse.swt_3.104.0.v20150528-0211
    17. org.eclipse.ui_3.107.0.v20150507-1945
    18. org.eclipse.ui.ide.application_1.1.0.v20150422-0725
    19. org.eclipse.ui.ide_3.11.0.v20150510-1749

Please note that:
* Messages, stacktraces, and nested status objects may be shortened.
* Bug fields like status, resolution, and whiteboard are sent
  back to reporters.
* The list of present bundles and their respective versions was
  calculated by package naming heuristics. This may or may not reflect reality.

Other Resources:
* Report: https://dev.eclipse.org/recommenders/committers/confess/#/problems/55d65871e4b0f0b83a6e86e1  
* Manual: https://dev.eclipse.org/recommenders/community/confess/#/guide


Thank you for your assistance.
Your friendly error-reports-inbox.

This bug was created on behalf of camille.letavernier@xxxxxxxxxxxx.
Comment 1 Camille Letavernier CLA 2015-08-24 10:14:46 EDT
I've done a quick fix in c193f23 on master, that should avoid the ClassCastException

However, I'm not sure how to properly support the case where the ChangeEvent's specification is not an OpaqueExpression. Ansgar, can you please have a deeper look at this?

The complete fix should also be backported to Mars
Comment 2 Ansgar Radermacher CLA 2015-08-26 10:20:35 EDT
(In reply to Camille Letavernier from comment #1)
> I've done a quick fix in c193f23 on master, that should avoid the
> ClassCastException
> 
> However, I'm not sure how to properly support the case where the
> ChangeEvent's specification is not an OpaqueExpression. Ansgar, can you
> please have a deeper look at this?
> 
> The complete fix should also be backported to Mars

In this fix, the textToEdit does not add any text to the body, if the specification is not an opaque expression. valueSpecification.stringValue() would give a useful result in case of a LiteralString.

Note that the operation "getOrCreateChangeEvent" currently creates a new change event instead of using an existing one upon save, if the existing one does not contain an opaque expression (even, if the expression text has not changed).