]
Gabriele Cardosi reassigned DROOLS-3879:
----------------------------------------
Assignee: Yeser Amer (was: Gabriele Cardosi)
Create Kogito version of Test Scenarios designer
------------------------------------------------
Key: DROOLS-3879
URL:
https://issues.redhat.com/browse/DROOLS-3879
Project: Drools
Issue Type: Feature Request
Components: Scenario Simulation and Testing
Reporter: Gabriele Cardosi
Assignee: Yeser Amer
Priority: Major
Labels: drools-tools
Scope of this PR is to create a *Kogito/client-side only* versions of scesim editor.
From an architectural point of view, the actual implementation has been moved (in the
past) inside a common module: `drools-wb-scenario-simulation-editor-client`.
Access to it has been "hided" behind a wrapper interface with three actual
implementations:
* `drools-wb-scenario-simulation-editor-businesscentral-client` for BusinessCentral
environment
* `drools-wb-scenario-simulation-editor-kogito-testing` to provide a
development/debugging setup for the *Kogito/client-side only* environment
* `drools-wb-scenario-simulation-editor-kogito-runtime` that should be the one deployed
in actual client-side only containers (e.g. VSCode).
As agreed upon in the last summer (
https://issues.redhat.com/browse/AF-2041), the kogito
editors should depend upon a common library,
`org.kie.workbench:kie-wb-common-kogito-webapp-base` to put all the code/maven
configuration shared by the different editors in one single place.
Currently, only the two kogito-related scesim modules fulfill that requirement; all other
editors, starting from DMN, should be adapted to this approach.
Kogito-testing module is a standalone showcase that provides some minimum interaction
to:
* load DMN files
* create DMN-related scesim assets, selecting one of the imported DMN.
Currently - RULE/data object model scesim is disabled.
Kogito-runtime module is the version that should run purely client side. It does not
provide any graphical widget to load/create/save asset.
Some minimal tests may be done in the following way:
# full compilation (i.e. included GWT compilation) of the runtime module
# open the
`drools-wb/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/target/drools-wb-scenario-simulation-editor-kogito-runtime/index.html`
file inside Chrome
# inside the Chrome dev console, issue the command
`window.gwtEditorBeans.get("ScenarioSimulationEditorKogitoRuntimeScreen").get().setContent("")`;
this will create a new - empty - scesim file.
Some tricks: to avoid CORS and other policy-related issues:
# set chrome://flags/#allow-insecure-localhost for invalid certificates error
# start chrome from cli with the command `chrome --allow-file-access-from-files` to
allow loading from file.
/----/
The "run scenario" functionality won't be implemented by this PR.
All the functionalities related to file system/resource access will be simulated in the
testing modules (but only for the DMN models), and for the runtime module will depend on
the API/environment provided by VSCode