GraphWalker / graphwalker-project

This is the repo for the Model-based testing tool GraphWalker.

Home Page:http://graphwalker.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Plugin integration doesn't work with Graphwalker Studio

sonfeldalmos opened this issue · comments

According to the documentation the following command works with the cli integration:

java -cp "./graphwalker-cli-4.3.1.jar;./java-plugin-generator-4.3.0.jar;" org.graphwalker.cli.CLI offline -g <My.json>

The documentation suggest that the integration should also work with the Studio as well, so I tried the following command:

java -cp "./graphwalker-studio-4.3.1.jar;./java-plugin-generator-4.3.0.jar;" org.graphwalker.studio.Application offline -g <My.json>

I experience the following error message:
Error: Could not find or load main class org.graphwalker.studio.Application
Caused by: java.lang.ClassNotFoundException: org.graphwalker.studio.Application

Update:
We tried to use our plugin with :

java -jar graphwalker-studio-4.3.1.jar -cp "java-plugin-generator-4.3.1.jar;json-simple-1.1.1.jar"

With this command we could manage to start the application but when we tried to import a model which use the newly added plugin, the following message appeared:

[SocketWorker-13] o.graphwalker.websocket.WebSocketServer : JSONObject["gw3"] not found.

Very interesting.
It seems like getSubTypesOf does not parse out the plugin, when run under studio, even if the reflections object does have the plugin loaded.

for (Class<? extends PathGeneratorBase> generatorClass : reflections.getSubTypesOf(PathGeneratorBase.class)) {

The difference I think is that in the case of Studio, the classloader is run in a thread, where as under CLI, it's run in the main thread.

I need to investigate some more.

Or, more likely, an additional classloader in Spring Boot which causes the problem.