The BPMN2 model within savara-core was originally part of the org.savara.bpmn2 bundle, and was only serializable to and from XML using a JAXB generated model.
In support of future work related to presenting BAM activity information via a web based UI, the model has been separated out into its own bundle (org.savara.bpmn2.model), to separate it from other functionality (such as protocol parser/generator) that may use it. The model can also now be serialized to/from JSON.
As this model will be used within Eclipse based tooling, that won't necessarily have the jackson dependency available, using jackson annotations within the model itself was not possible. Therefore any customisation was achieved using custom deserializers and mixins, configured within the BPMN2ModelJSONUtil utility class.
The new bundle currently has the following gav details:
Further work may be done to remove some of the unnecessary JAXB related fields.