As a user, I want to be able to automatically build sequence diagrams out of the output of the different applications within the system. I want to be able to normalize data from different applications and put them all into a single unified sequence diagram.
In case if all mandatory groups would be found, the found row would be used to form the single step of the sequence.
Result plantuml formatting would look like this:
<UCL> <URT|URS|UE> <US> : [timestamp] <USID><UM>(<UA>)
A separate view should be created to visualize the sequence - Done.
A system call to plantuml.jar should be used to form the svg image - Done.
QGraphicsSvgItem should be used to visualize the diagram - Done.
It should be possible to export the diagram to the file system as .png, .svg & *.puml - Done.
The generation of the sequence diagram is an expensive operation. It should be done ONLY by an explicit trigger from the user - Done.
The generation of the sequence diagram is an expensive operation. There should be some setting, which will specify the maximum number of considered rows in order to avoid "forever stuck" in waiting for the operation to finish - Done.
The generation of the sequence diagram is an expensive operation. It should be started in a separate worker thread - Not needed.
It should be possible to instantly cancel the generation of the sequence diagram. Cancelation can be triggered from UI by the user - Done.
The search view should highlight rows, which will be used for the creation of the sequence diagram - Done.
The feature will require additional CPU to gather the required data. The search might become slower due to that. There should be a setting to turn on and off the plantuml feature - Done.
The user should have the possibility to specify, whether arguments should be represented, whether they should be represented with wrapping. - Done.
Users should be able to turn off and on the consideration of the specific suitable row within the "Search view" for the creation of the sequence diagram. Search view rows should have 3 states from this perspective: suitable_selected, suitable_not_selected, not_suitable - Done.
It should be possible to clear the diagram from the context menu of the preview tab - Done.
Delivery of plantuml.jar should be integrated into the plugin - Done.
As a user, I want to be able to automatically build sequence diagrams out of the output of the different applications within the system. I want to be able to normalize data from different applications and put them all into a single unified sequence diagram.
In order to do that we can use plantuml.jar out of here: https://github.com/plantuml/plantuml
The integration point should be an extension of regex name scripting.
User should specify the following groups within the message:
<USID> - optional UML_SEQUENCE_ID <UCL> - mandatory UML_CLIENT <URT>|<URS>|<UE> - mandatory one of UML_REQUEST|UML_RESPONSE|UML_EVENT <US> - mandatory UML_SERVICE <UM> - mandatory UML_METHOD <UA> - optional UML_ARGUMENTS
In case if all mandatory groups would be found, the found row would be used to form the single step of the sequence.
Result plantuml formatting would look like this: <UCL> <URT|URS|UE> <US> : [timestamp] <USID><UM>(<UA>)