ClassCastException using Process Designer 3.1.0SP1
--------------------------------------------------
Key: GPD-178
URL:
http://jira.jboss.com/jira/browse/GPD-178
Project: JBoss jBPM GPD
Issue Type: Bug
Components: jpdl
Affects Versions: jBPM jPDL Designer 3.1.0.SP1
Environment: Windows XP, Java 1.6.0_02, Eclipse 3.3, suite_3.2.2 (which packages
GPD 3.1.0SP1)
Reporter: Ian Priest
Assigned To: Koen Aers
Get a ClassCastException using the Process Designer to open the gpd.xml in the websales
example provided with the 3.2.2 suite download.
The exception is (full stack trace to follow)
java.lang.ClassCastException: org.jbpm.gd.jpdl.model.ProcessDefinition cannot be cast to
org.jbpm.gd.common.model.GenericElement
The problem seems to lie in class GenericElementXmlAdapter, which deals with the classes
though the SemanticElement interface, which both classes do implement. The following class
reproduces the runtime issue and demonstrates the faulty cast:
import org.jbpm.gd.common.model.GenericElement;
import org.jbpm.gd.common.model.SemanticElement;
import org.jbpm.gd.jpdl.model.ProcessDefinition;
public class Play {
public static void main(String[] args) {
ProcessDefinition pd = new ProcessDefinition();
SemanticElement se = (SemanticElement)pd;
GenericElement ge = (GenericElement)se;
}
}
which gives a runtime error:
Exception in thread "main" java.lang.ClassCastException:
org.jbpm.gd.jpdl.model.ProcessDefinition cannot be cast to
org.jbpm.gd.common.model.GenericElement
at Play.main(Play.java:15)
See also the forum discussion at
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=121355
Full stack trace:
!ENTRY org.eclipse.ui 4 0 2007-10-16 11:12:33.685
!MESSAGE Unable to create editor ID org.jbpm.gd.jpdl.editor:
org.jbpm.gd.jpdl.model.ProcessDefinition cannot be cast to
org.jbpm.gd.common.model.GenericElement
!STACK 0
java.lang.ClassCastException: org.jbpm.gd.jpdl.model.ProcessDefinition cannot be cast to
org.jbpm.gd.common.model.GenericElement
at org.jbpm.gd.common.xml.GenericElementXmlAdapter.initialize(Unknown Source)
at org.jbpm.gd.common.editor.Editor.getSemanticElement(Unknown Source)
at org.jbpm.gd.common.editor.Editor.initSourcePage(Unknown Source)
at org.jbpm.gd.common.editor.Editor.createPages(Unknown Source)
at org.jbpm.gd.jpdl.editor.JpdlEditor.createPages(Unknown Source)
at
org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:283)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:299)
at
org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:179)
at
org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
at
org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at
org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:400)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1604)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:499)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:485)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:217)
at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:207)
at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:774)
at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:673)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:634)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2719)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2633)
at org.eclipse.ui.internal.WorkbenchPage.access$12(WorkbenchPage.java:2625)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2577)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2572)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2556)
at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:340)
at org.eclipse.ui.actions.OpenWithMenu.access$0(OpenWithMenu.java:328)
at org.eclipse.ui.actions.OpenWithMenu$3.handleEvent(OpenWithMenu.java:226)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
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:504)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira