Skip to main content



      Home
Home » Modeling » Epsilon » Using Xtext with Epsilon
Using Xtext with Epsilon [message #1864702] Wed, 03 April 2024 16:17 Go to next message
Eclipse UserFriend
Hi,
I am planning to use Xtext for language definition and Epsilon for model manipulation. I have already defined EMF and ECORE meta models using Emfatic and my EOL programs are working fine.

I would like to know the pros and cons of using Epsilon with Xtext instead of Xtend.

Is there any direct source of information available on this topic?

I would appreciate if anyone would like to share his/her experience of using these two together.

What other textual-based IDEs can be used with Epsilon instead of Xtext?


Regards,
Ehsan
Re: Using Xtext with Epsilon [message #1864735 is a reply to message #1864702] Fri, 05 April 2024 07:56 Go to previous messageGo to next message
Eclipse UserFriend
Hi Ehsan,

Epsilon works out of the box with Xtext through its EMF driver i.e. instead of loading a model from a .xmi/.model file you can load it straight from your Xtext-based .mydsl file. See https://eclipse.dev/epsilon/doc/articles/picto-xtext/ for an example of how Picto can be used to visualise Xtext models. If you have any further questions, please let us know.

Thanks,
Dimitris
Re: Using Xtext with Epsilon [message #1864769 is a reply to message #1864735] Mon, 08 April 2024 19:17 Go to previous messageGo to next message
Eclipse UserFriend
Dear Dimitris,
Thank you.
Three points while trying to the Picto-Xtext example you mentioned.

1) I have installed Eclipse IDE for Java and DSL Developers with Eclipse 2023-12. Then installed Epsilon2.4 from the marketplace and then installed the Emfatic from the update site http://download.eclipse.org/emfatic/update. But I am getting the following error every time I installed the Epsilon. It produces the same error with different Eclipse Modeling Tools versions as well. Am I installing everything right?

java.lang.Error: SWT Resource was not properly disposed
at org.eclipse.swt.graphics.Resource.initNonDisposeTracking(Resource.java:172)
at org.eclipse.swt.graphics.Resource.<init>(Resource.java:120)
at org.eclipse.swt.graphics.Image.<init>(Image.java:771)
at org.eclipse.jface.resource.URLImageDescriptor.createImage(URLImageDescriptor.java:300)
at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:290)
at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:268)
at org.eclipse.epsilon.picto.ViewTreeLabelProvider.getColoredDiagramIcon(ViewTreeLabelProvider.java:77)
at org.eclipse.epsilon.picto.ViewTreeLabelProvider.getImage(ViewTreeLabelProvider.java:50)
at org.eclipse.jface.viewers.WrappedViewerLabelProvider.getImage(WrappedViewerLabelProvider.java:104)
at org.eclipse.jface.viewers.WrappedViewerLabelProvider.update(WrappedViewerLabelProvider.java:149)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:146)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:983)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:130)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1058)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:427)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2116)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:877)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:855)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:615)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:803)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1718)
at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2629)
at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:3135)
at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1667)
at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1106)
at org.eclipse.epsilon.picto.PictoView.setViewTree(PictoView.java:403)
at org.eclipse.epsilon.picto.PictoView$6.runWithException(PictoView.java:334)
at org.eclipse.epsilon.picto.RunnableWithException.run(RunnableWithException.java:19)
at org.eclipse.ui.internal.PendingSyncExec.run(PendingSyncExec.java:68)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:172)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4367)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3990)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:648)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:555)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
at org.eclipse.equinox.launcher.Main.run(Main.java:1459)
at org.eclipse.equinox.launcher.Main.main(Main.java:1432)

2) The Picto view does not show anything and I am getting the same above error in nested Eclipse instance.

3) The following error is showing in the main Eclipse instance:


!ENTRY org.eclipse.ui.ide 4 4 2024-04-09 01:56:57.838
!MESSAGE Not properly disposed SWT resource
!STACK 0
java.lang.Error: SWT Resource was not properly disposed
at org.eclipse.swt.graphics.Resource.initNonDisposeTracking(Resource.java:172)
at org.eclipse.swt.graphics.Resource.<init>(Resource.java:120)
at org.eclipse.swt.graphics.Image.<init>(Image.java:771)
at org.eclipse.jface.resource.URLImageDescriptor.createImage(URLImageDescriptor.java:300)
at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:290)
at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:268)
at org.eclipse.epsilon.picto.ViewTreeLabelProvider.getColoredDiagramIcon(ViewTreeLabelProvider.java:77)
at org.eclipse.epsilon.picto.ViewTreeLabelProvider.getImage(ViewTreeLabelProvider.java:50)
at org.eclipse.jface.viewers.WrappedViewerLabelProvider.getImage(WrappedViewerLabelProvider.java:104)
at org.eclipse.jface.viewers.WrappedViewerLabelProvider.update(WrappedViewerLabelProvider.java:149)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:146)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:983)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:130)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1058)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:427)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2116)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:877)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:855)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:615)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:803)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1718)
at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2629)
at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:3135)
at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1667)
at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1106)
at org.eclipse.epsilon.picto.PictoView.setViewTree(PictoView.java:403)
at org.eclipse.epsilon.picto.PictoView$6.runWithException(PictoView.java:334)
at org.eclipse.epsilon.picto.RunnableWithException.run(RunnableWithException.java:19)
at org.eclipse.ui.internal.PendingSyncExec.run(PendingSyncExec.java:68)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:172)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4367)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3990)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:648)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:555)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
at org.eclipse.equinox.launcher.Main.run(Main.java:1459)
at org.eclipse.equinox.launcher.Main.main(Main.java:1432)
[Fatal Error] :1:1: Premature end of file.
[Fatal Error] :1:1: Premature end of file.
[Fatal Error] :1:1: Premature end of file.
[Fatal Error] :1:1: Premature end of file.
[Fatal Error] :1:1: Premature end of file.
[Fatal Error] :1:1: Premature end of file.
[Fatal Error] :1:1: Premature end of file.
[Fatal Error] :1:1: Premature end of file.


Regards,
Ehsan Ahmad

Re: Using Xtext with Epsilon [message #1864774 is a reply to message #1864769] Tue, 09 April 2024 04:14 Go to previous messageGo to next message
Eclipse UserFriend
Hi Ehsan,

This exception shouldn't be a problem and should disappear altogether if you remove the "icon" = "diagram-ffffff" line of dmodel.egx. Could you please record a screencast showing how you run the example and the behaviour you're encountering and share it with us (e.g. as an unlisted YouTube video) so that we can advise?

Thanks,
Dimitris
Re: Using Xtext with Epsilon [message #1864779 is a reply to message #1864774] Tue, 09 April 2024 08:48 Go to previous messageGo to next message
Eclipse UserFriend
The exception is no longer triggered after https://github.com/eclipse/epsilon/commit/aa92b1b6076eb0c53b9927e22ea29ff31d93f892.

Thanks,
Dimitris

[Updated on: Tue, 09 April 2024 08:48] by Moderator

Re: Using Xtext with Epsilon [message #1864787 is a reply to message #1864774] Tue, 09 April 2024 13:17 Go to previous messageGo to next message
Eclipse UserFriend
Dear Dimitri,

Commenting/removing "icon" = "diagram-ffffff" line of dmodel.egx does not work and I am still getting the same errors.

Here is the link to the unlisted YouTube video showing the process I am following.

https://youtu.be/h8CxCnAWI5I

Thank you.

Ehsan
Re: Using Xtext with Epsilon [message #1864788 is a reply to message #1864779] Tue, 09 April 2024 13:25 Go to previous messageGo to next message
Eclipse UserFriend
I am not running Epsilon from source instead I have installed it from the Marketplace. so, how can I fix this issue .

https://github.com/eclipse/epsilon/commit/aa92b1b6076eb0c53b9927e22ea29ff31d93f892.


Do I need to run Epsilon from source in order to make it part of the plugin that I am developing for my tool?


Regards,
Ehsan
Re: Using Xtext with Epsilon [message #1864792 is a reply to message #1864788] Tue, 09 April 2024 16:02 Go to previous messageGo to next message
Eclipse UserFriend
Hi Ehsan,

Could you please check that Graphviz is installed in your system as per https://eclipse.dev/epsilon/doc/picto/#troubleshooting?

If it is installed, could you please install the latest interim version of Epsilon and let me know if the problem persists?

Thanks,
Dimitris

[Updated on: Tue, 09 April 2024 16:02] by Moderator

Re: Using Xtext with Epsilon [message #1864795 is a reply to message #1864792] Tue, 09 April 2024 19:01 Go to previous messageGo to next message
Eclipse UserFriend
Dear Dimitris,
Installing Graphviz enables Picto to show the diagram. So thumbs up here.
Installing interim version of Epsilon does not solve the problem and still shows the error. I am using Epsilon version 2.5.0.202404091247.

1) I can not directly edit plugins/org.eclipse.epsilon.picto/src/org/eclipse/epsilon/picto/ViewTreeLabelProvider.java, So I assume the interim installation should have solved this issue but the code in the ViewTreeLableProvider.java is still does not include icon.dispose(); statement.

2) It produces another error now:

Unhandled event loop exception
org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(SWT.java:4918)
at org.eclipse.swt.SWT.error(SWT.java:4833)
at org.eclipse.swt.SWT.error(SWT.java:4804)
at org.eclipse.swt.widgets.Widget.error(Widget.java:811)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:597)
at org.eclipse.swt.browser.Browser.checkWidget(Browser.java:211)
at org.eclipse.swt.browser.Browser.setText(Browser.java:1086)
at org.eclipse.epsilon.picto.ViewRenderer.display(ViewRenderer.java:65)
at org.eclipse.epsilon.picto.ViewRenderer.nothingToRender(ViewRenderer.java:69)
at org.eclipse.epsilon.picto.PictoView.render(PictoView.java:253)
at org.eclipse.epsilon.picto.PictoView$4.lambda$1(PictoView.java:214)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4367)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3990)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:166)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:368)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:470)
at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:230)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.disconnectFromWorkspace(IDEWorkbenchAdvisor.java:559)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor$2.run(IDEWorkbenchAdvisor.java:366)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.postShutdown(IDEWorkbenchAdvisor.java:387)
at org.eclipse.ui.internal.Workbench.shutdown(Workbench.java:3037)
at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1150)
at org.eclipse.ui.internal.Workbench.lambda$4(Workbench.java:1418)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.Workbench.close(Workbench.java:1418)
at org.eclipse.ui.internal.Workbench.close(Workbench.java:1394)
at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1718)
at org.eclipse.ui.internal.WorkbenchWindow.lambda$5(WorkbenchWindow.java:1745)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1745)
at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1754)
at org.eclipse.ui.internal.WorkbenchWindow.lambda$2(WorkbenchWindow.java:505)
at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.lambda$4(WBWRenderer.java:570)
at org.eclipse.swt.events.ShellListener$2.shellClosed(ShellListener.java:102)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:102)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4645)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1547)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1532)
at org.eclipse.swt.widgets.Shell.closeWidget(Shell.java:624)
at org.eclipse.swt.widgets.Shell.windowShouldClose(Shell.java:2541)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6317)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:236)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2264)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2510)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6444)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:5691)
at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5831)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:117)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3985)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:648)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:555)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
at org.eclipse.equinox.launcher.Main.run(Main.java:1459)
at org.eclipse.equinox.launcher.Main.main(Main.java:1432)

Thank you
Ehsan

[Updated on: Tue, 09 April 2024 19:02] by Moderator

Re: Using Xtext with Epsilon [message #1864801 is a reply to message #1864795] Wed, 10 April 2024 03:09 Go to previous messageGo to next message
Eclipse UserFriend
Hi Ehsan,

> 1) ... So I assume the interim installation should have solved this issue.

This is correct; CI rebuilds the interim version for every commit. Not sure why you're not seeing this change; perhaps a clean installation of the interim version would help.

The new exception can also be safely ignored but in any case I've improved the code to prevent it from manifesting altogether.

Thanks,
Dimitris
Re: Using Xtext with Epsilon [message #1864827 is a reply to message #1864801] Thu, 11 April 2024 11:42 Go to previous messageGo to next message
Eclipse UserFriend
Hi Dimitris,
Fresh installation of Eclipse IDE for Java and DSL Developers with Eclipse 2024-03 with fresh Epsilon interim installation 2.5.0.202404100707 works fine now.

One more thing worth mentioning is that when I create a new .dmodel file without any model specification (any text), the following Picto rendering error is produced. It is because there is nothing in the file to create Picto diagram for but it would be more appropriate to handle this exception show nothing.

Picto view rendering jobs
An internal error occurred during: "Rendering view  in four.dmodel".
Cannot invoke "org.eclipse.epsilon.picto.ContentPromise.setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)" because the return value of "org.eclipse.epsilon.picto.ViewTree.getPromise()" is null


Thanks very much for all your responses. I am moving towards validation of xtext models using EVL and will bother you in another thread if required :).


Regards,
Ehsan Ahmad
Re: Using Xtext with Epsilon [message #1864830 is a reply to message #1864827] Thu, 11 April 2024 16:25 Go to previous messageGo to next message
Eclipse UserFriend
Hi Ehsan,

Thanks for reporting this regression. I've created an issue and will get this sorted.

Cheers,
Dimitris
Re: Using Xtext with Epsilon [message #1864832 is a reply to message #1864830] Fri, 12 April 2024 02:17 Go to previous message
Eclipse UserFriend
Hi again,

This should be fixed now in the latest interim version. If you spot any other issues, please let us know!

Thanks,
Dimitris
Previous Topic:Executing EGX headless without files
Next Topic:Is it possible to create enumeration ?
Goto Forum:
  


Current Time: Fri Oct 31 05:34:31 EDT 2025

Powered by FUDForum. Page generated in 0.07236 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top