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

Bug 348023

Summary: [SysML Allocation Table] ClassCastException during drop of Stereotype Application from model explorer
Product: [Modeling] Papyrus Reporter: Yann Tanguy <yann.tanguy>
Component: CoreAssignee: Vincent Lorenzo <vincent.lorenzo>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P3    
Version: 0.8.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Bug Depends on: 353181    
Bug Blocks:    

Description Yann Tanguy CLA 2011-06-01 17:25:49 EDT
What steps will reproduce the problem?
1. Create the table
2. Drop a stereotype app in the table


-- Error Details --
Date: Wed Jun 01 23:23:44 CEST 2011
Message: Unhandled event loop exception
Severity: Error
Product: Eclipse 1.4.0.20110526-1025 (org.eclipse.epp.package.modeling.product)
Plugin: org.eclipse.ui
Session Data:
eclipse.buildId=I20110519-1138
java.version=1.6.0_24
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_FR
Framework arguments:  -product org.eclipse.epp.package.modeling.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.modeling.product

Exception Stack Trace:
java.lang.ClassCastException: org.eclipse.papyrus.sysml.blocks.impl.BlockImpl cannot be cast to org.eclipse.uml2.uml.Element
	at org.eclipse.papyrus.sysml.table.allocation.queries.IsAllocateQuery.evaluate(IsAllocateQuery.java:1)
	at org.eclipse.emf.facet.infra.query.core.java.internal.JavaModelQueryAdapter.basicEvaluate(JavaModelQueryAdapter.java:52)
	at org.eclipse.emf.facet.infra.query.core.AbstractModelQuery.basicEvaluate(AbstractModelQuery.java:247)
	at org.eclipse.emf.facet.widgets.nattable.internal.NatTableWidgetInternalUtils.acceptsElement(NatTableWidgetInternalUtils.java:119)
	at org.eclipse.emf.facet.widgets.nattable.internal.NatTableDropListener.dropInEmptySpace(NatTableDropListener.java:218)
	at org.eclipse.emf.facet.widgets.nattable.internal.NatTableDropListener.drop(NatTableDropListener.java:188)
	at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)
	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.Widget.sendEvent(Widget.java:1077)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
	at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)
	at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:258)
	at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)
	at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)
	at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)
	at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)
	at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)
	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:4163)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:344)
	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:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Comment 1 Yann Tanguy CLA 2011-06-01 18:09:14 EDT
Found in 0.8.0 RC2, not sure this still occurs in RC3.

(In reply to comment #0)
> What steps will reproduce the problem?
> 1. Create the table
> 2. Drop a stereotype app in the table
> 
> 
> -- Error Details --
> Date: Wed Jun 01 23:23:44 CEST 2011
> Message: Unhandled event loop exception
> Severity: Error
> Product: Eclipse 1.4.0.20110526-1025 (org.eclipse.epp.package.modeling.product)
> Plugin: org.eclipse.ui
> Session Data:
> eclipse.buildId=I20110519-1138
> java.version=1.6.0_24
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_FR
> Framework arguments:  -product org.eclipse.epp.package.modeling.product
> Command-line arguments:  -os win32 -ws win32 -arch x86 -product
> org.eclipse.epp.package.modeling.product
> 
> Exception Stack Trace:
> java.lang.ClassCastException: org.eclipse.papyrus.sysml.blocks.impl.BlockImpl
> cannot be cast to org.eclipse.uml2.uml.Element
> at
> org.eclipse.papyrus.sysml.table.allocation.queries.IsAllocateQuery.evaluate(IsAllocateQuery.java:1)
> at
> org.eclipse.emf.facet.infra.query.core.java.internal.JavaModelQueryAdapter.basicEvaluate(JavaModelQueryAdapter.java:52)
> at
> org.eclipse.emf.facet.infra.query.core.AbstractModelQuery.basicEvaluate(AbstractModelQuery.java:247)
> at
> org.eclipse.emf.facet.widgets.nattable.internal.NatTableWidgetInternalUtils.acceptsElement(NatTableWidgetInternalUtils.java:119)
> at
> org.eclipse.emf.facet.widgets.nattable.internal.NatTableDropListener.dropInEmptySpace(NatTableDropListener.java:218)
> at
> org.eclipse.emf.facet.widgets.nattable.internal.NatTableDropListener.drop(NatTableDropListener.java:188)
> at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)
> 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.Widget.sendEvent(Widget.java:1077)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
> at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)
> at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:258)
> at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)
> at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)
> at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)
> at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)
> at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)
> 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:4163)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
> at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
> at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> at
> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
> 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:344)
> 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:622)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Comment 2 Vincent Lorenzo CLA 2011-07-11 04:37:13 EDT
Hi Yann, 
   I can't reproduce it. Could you confirm that this bug disappeared?

/Vincent Lorenzo
Comment 3 Vincent Lorenzo CLA 2011-07-27 03:33:23 EDT
(In reply to comment #2)
> Hi Yann,
> I can't reproduce it. Could you confirm that this bug disappeared?
> 
> /Vincent Lorenzo
This bug has not disappeared! I'm writing the corresponding EMF-Facet bug.
Comment 4 Vincent Lorenzo CLA 2011-09-13 05:30:50 EDT
Corrected in R5451 on Branch (workaround declaring the query canBePresentedInTheTable with a scope on EObject)
Merged on trunk in R5452.

I correct the same kind of bug on the Requirement Table.

This bug can be marked as closed fixed.