Skip to content

Issues with running tutorial #180

@xkusnir

Description

@xkusnir

Hi, I am struggling with running the tutorial. I downloaded the finish source codes (https://github.com/ftsrg/gamma/tree/master/tutorial/hu.bme.mit.gamma.tutorial.finish) and followed the instructions in tutorial README to compile the project. Compiling interfaces and Generating artefacts work as expected. However, when trying to run Generate Statechart Java Code (Step https://github.com/ftsrg/gamma/blob/master/tutorial/README.md#code-generation), I get java ClassCastException. The details of the exception are provided below.

I installed Eclipse and Gamma based on the instructions provided here.
I am using macOS 13.7.6, Eclipse 2023-09 (4.29.0), Gamma 2.11.0, java 17.0.15

Could you please help me with the investigation of this problem?
Thank you in advance.

java.lang.ClassCastException: class hu.bme.mit.gamma.statechart.composite.impl.SynchronousCompositeComponentImpl cannot be cast to class hu.bme.mit.gamma.statechart.statechart.StatechartDefinition (hu.bme.mit.gamma.statechart.composite.impl.SynchronousCompositeComponentImpl and hu.bme.mit.gamma.statechart.statechart.StatechartDefinition are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @3010dccb)
class hu.bme.mit.gamma.statechart.composite.impl.SynchronousCompositeComponentImpl cannot be cast to class hu.bme.mit.gamma.statechart.statechart.StatechartDefinition (hu.bme.mit.gamma.statechart.composite.impl.SynchronousCompositeComponentImpl and hu.bme.mit.gamma.statechart.statechart.StatechartDefinition are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @3010dccb)
  hu.bme.mit.gamma.statechart.lowlevel.transformation.commandhandler.CommandHandler.execute(CommandHandler.java:72)
  org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
  org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
  jdk.internal.reflect.GeneratedMethodAccessor216.invoke(Unknown Source)
  java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  java.base/java.lang.reflect.Method.invoke(Method.java:569)
  org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
  org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:300)
  org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
  org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
  org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
  org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
  org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:485)
  org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
  org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:438)
  org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:449)
  org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.lambda$2(AbstractContributionItem.java:475)
  org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
  org.eclipse.swt.widgets.Display.sendEvent(Display.java:4646)
  org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
  org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1547)
  org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1532)
  org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1325)
  org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4413)
  org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3989)
  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
  org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
  org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
  org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:645)
  org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
  org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:552)
  org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
  org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
  org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
  java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
  java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  java.base/java.lang.reflect.Method.invoke(Method.java:569)
  org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
  org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
  org.eclipse.equinox.launcher.Main.run(Main.java:1459)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions