plugbee / dslforge

A generator of domain-specific language (DSL) editors for web applications and cloud IDEs.
78 stars 21 forks source link

Unable to run Statemachine example... #16

Closed anil-bhatia closed 8 years ago

anil-bhatia commented 8 years ago

Hi,

Started by running the example as shown in videos. Upon executing the web editor in debug mode, started hitting problem that it was not able to create database in location D:/www/dslforge/workspace/.metadata Figured out the fix from https://github.com/plugbee/dslforge/issues/15 Now I have a plugin contribution specifying workspace, and this problem is not there anymore.

I am still getting following stacktraces on console though. Any pointers on this would be appreciated.

!ENTRY org.eclipse.rap.ui 4 0 2016-07-29 09:56:29.397 !MESSAGE An unexpected exception was thrown. !STACK 0 java.lang.NullPointerException at org.dslforge.workspace.ui.BasicWokspaceNavigator.serverPushSessionOff(BasicWokspaceNavigator.java:181) at org.dslforge.workspace.ui.BasicWokspaceNavigator.dispose(BasicWokspaceNavigator.java:174) at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:464) at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:226) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:599) at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:310) at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:542) at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:185) at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:265) at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:64) at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:479) at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1262) at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1215) at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1614) at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:659) at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:585) at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:573) at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:269) at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:980) at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2627) at org.eclipse.ui.internal.WorkbenchWindow$26.run(WorkbenchWindow.java:3077) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:66) at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:3058) at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:763) at org.eclipse.ui.internal.Workbench$18.runWithException(Workbench.java:1266) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:246) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150) at org.eclipse.swt.widgets.Display.syncExec(Display.java:1097) at org.eclipse.ui.internal.StartupThreading.runWithWorkbenchExceptions(StartupThreading.java:55) at org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:1262) at org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:2061) at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1992) at org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:188) at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:790) at org.eclipse.ui.internal.Workbench$27.runWithException(Workbench.java:1640) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:246) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150) at org.eclipse.swt.widgets.Display.syncExec(Display.java:1097) at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:110) at org.eclipse.ui.internal.Workbench.init(Workbench.java:1635) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2655) at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2530) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:701) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:684) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157) at org.dslforge.texteditor.demo.BasicWorkbench.createUI(BasicWorkbench.java:48) at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:177) at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:290) at java.lang.Thread.run(Thread.java:785) at org.eclipse.rap.rwt.internal.lifecycle.UIThread.run(UIThread.java:107)

!ENTRY org.eclipse.ui.workbench 4 0 2016-07-29 09:56:29.400 !MESSAGE Unable to create view ID org.dslforge.navigator.view: An unexpected exception was thrown. !STACK 0 java.lang.NullPointerException at org.dslforge.workspace.internal.DatabaseService.lookupEntityManagerFactory(DatabaseService.java:77) at org.dslforge.workspace.internal.DatabaseService.getEmf(DatabaseService.java:67) at org.dslforge.workspace.WorkspaceManager.setupWorkspace(WorkspaceManager.java:58) at org.dslforge.workspace.WorkspaceManager.(WorkspaceManager.java:54) at org.dslforge.workspace.WorkspaceManager.(WorkspaceManager.java:50) at org.dslforge.workspace.ui.BasicWokspaceNavigator.getWorkspaceRoot(BasicWokspaceNavigator.java:187) at org.dslforge.workspace.ui.BasicWokspaceNavigator.getInitialInput(BasicWokspaceNavigator.java:115) at org.eclipse.ui.navigator.CommonNavigator.createPartControl(CommonNavigator.java:212) at org.dslforge.workspace.ui.BasicWokspaceNavigator.createPartControl(BasicWokspaceNavigator.java:89) at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:375) at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:226) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:599) at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:310) at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:542) at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:185) at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:265) at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:64) at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:479) at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1262) at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1215) at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1614) at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:659) at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:585) at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:573) at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:269) at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:980) at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2627) at org.eclipse.ui.internal.WorkbenchWindow$26.run(WorkbenchWindow.java:3077) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:66) at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:3058) at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:763) at org.eclipse.ui.internal.Workbench$18.runWithException(Workbench.java:1266) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:246) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150) at org.eclipse.swt.widgets.Display.syncExec(Display.java:1097) at org.eclipse.ui.internal.StartupThreading.runWithWorkbenchExceptions(StartupThreading.java:55) at org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:1262) at org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:2061) at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1992) at org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:188) at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:790) at org.eclipse.ui.internal.Workbench$27.runWithException(Workbench.java:1640) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:246) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150) at org.eclipse.swt.widgets.Display.syncExec(Display.java:1097) at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:110) at org.eclipse.ui.internal.Workbench.init(Workbench.java:1635) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2655) at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2530) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:701) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:684) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157) at org.dslforge.texteditor.demo.BasicWorkbench.createUI(BasicWorkbench.java:48) at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:177) at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:290) at java.lang.Thread.run(Thread.java:785) at org.eclipse.rap.rwt.internal.lifecycle.UIThread.run(UIThread.java:107)

amlajmi commented 8 years ago

We've had recurrent issues with the workspace plugin initialization. The problem comes from the integration of the database service (a .metadata folder is created on the server, inside the workspace folder, and hosts a relational database).

Now because we are using the (seems dead) Gemini JPA project, one has to care about the plugins startup levels. The only rule should be: the workspace plugin start level should be higher than the persistency unit start level, which is in turn higher than gemini.jpa start level. For example, if the default level is 4, than make sure the following order is respected.

Until now, there is no launch config generated, so you have to make this adjustment by yourself as you have seen in the video tutorial. I will write a more detailed blog post relating these issues (probably, we will switch from Gemini JPA to Apache Aries).

So, please update both the Tooling and the Target Components as the plugins have been heavily refactored to better manage the starting phase, and do regenerate the web artefacts.

anil-bhatia commented 8 years ago

Sorry Amine, this does not seem to be helpful. I do not see org.osgi.enterprise, and org.dslforge.workspace.jpa in bundles tab of my launch config. Though I have tried to be as close to video as possible, while setting the target.

My Bundles tab currently says - "81 out of 303 selected", which perhaps is not matching with your videos.

I understand that this needs a bit of more documentation from your end. Will wait till you write a more detailed blog post, or create another video, and check back again.

Would appreciate if you could put a one-liner in this issue once you create more referable artifacts. Thanks.

amlajmi commented 8 years ago

The target needs some time to resolve the first time it's loaded, I've updated the documentation here Xtext editor on RAP

amlajmi commented 8 years ago

Can I close this one ?

anil-bhatia commented 8 years ago

Last time I tried (with all delays) it did not work. Will try again before end of this week and let you know. On 6 Sep 2016 8:01 pm, "Amine Lajmi" notifications@github.com wrote:

Can I close this one ?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/plugbee/dslforge/issues/16#issuecomment-244968938, or mute the thread https://github.com/notifications/unsubscribe-auth/ATwfCaYxh-QlurjQTOZLbW9qx8je9Nw6ks5qnXlXgaJpZM4JX5pG .