-
Notifications
You must be signed in to change notification settings - Fork 564
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Offer two-way conversion of supported BpmnElementTypes to BpmnModelConstants #7506
Labels
kind/bug
Categorizes an issue or PR as a bug
Comments
9 tasks
ghost
pushed a commit
that referenced
this issue
Jul 16, 2021
7507: feat(bpmn elements): allow conversion of BpmnElementTypes back to String r=npepinpe a=RomanJRW Returns the optional BpmnModelConstant String representation of each BpmnElementType to allow Optimize to convert them to compatible types consistent with their model constant ## Description closes #7506 Co-authored-by: Josh Windels <joshuawindels@gmail.com>
ghost
pushed a commit
that referenced
this issue
Jul 16, 2021
7507: feat(bpmn elements): allow conversion of BpmnElementTypes back to String r=RomanJRW a=RomanJRW Returns the optional BpmnModelConstant String representation of each BpmnElementType to allow Optimize to convert them to compatible types consistent with their model constant ## Description closes #7506 Co-authored-by: Josh Windels <joshuawindels@gmail.com>
menski
pushed a commit
that referenced
this issue
Jul 30, 2021
Returns the optional BpmnModelConstant String representation of each BpmnElementType to allow Optimize to convert them to compatible types consistent with their model constant related to #7506
This issue was closed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is your feature request related to a problem? Please describe.
In Optimize, we import Runtime engine activity instances and store it's type as part of Optimize's activity instance data structure. For example, a start event from the engine will have type
startEvent
(or any other type fromBpmnModelConstants
). We use these types for some of our reports and the underlying aggregations. Think of a user task report, this will filter for all activity instances that have typeuserTask
.Now that we also import Zeebe process instance data, we have the following problem:
bpmnElementType
, which is independent from the runtime engine. When we read a process instance event that has been exported from Zeebe, we extract the type and now see a value likeUSER_TASK
. Before we save that in Optimize, we need to convert it to beuserTask
to make it work. Currently we have a basic switch statement for this conversionBpmnElementType
is added to Zeebe (like withSEND_TASK
in the most recent release), Optimize doesn't know how to make this conversion to itsBpmnModelConstants
representation and the import fails for that activity.Describe the solution you'd like
Rather than Optimize needing to support the same list of supported elements for the reverse conversion, I think it makes sense for Zeebe to allow conversion of each enum field back to its
BpmnModelConstants
String representation as part of the enum itself.Describe alternatives you've considered
bpmnElementType
string isn't an option we would like to explore, as Optimize is quite tightly built around the existingBpmnModelConstants
we get from the runtime engine. If we ever want to support both zeebe and the runtime engine in the same Optimize instance, this would make things awkwardAdditional context
This could probably be done at the same time as #7290
The text was updated successfully, but these errors were encountered: