Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-14531

BpmnParseListener provides methods for I/O mappings

    • Icon: Feature Request Feature Request
    • Resolution: Fixed
    • Icon: L3 - Default L3 - Default
    • 7.18.0, 7.18.0-alpha2
    • None
    • engine
    • None

      User Story (Required on creation):

      I want to be informed when an I/O mapping is parsed so I can modify the mapping if necessary.

      Functional Requirements (Required before implementation):

      • I can hook into I/O mapping parsing with a BpmnParseListener

      Technical Requirements (Required before implementation):

      • The BpmnParseListener provides a new "parseIoMapping" method
      • There is a default implementation for the method in AbstractBpmnParseListener to keep the update effort low
      • The new listener method is called when I/O mappings are parsed

      Limitations of Scope (Optional):

      Hints (optional):

        This is the controller panel for Smart Panels app

            [CAM-14531] BpmnParseListener provides methods for I/O mappings

            Hey jan,

            thanks for creating this ticket. We'll look into it as soon as possible and get back with proper feedback.

            Best,
            Tobias

            Tobias Metzke-Bernstein added a comment - Hey jan , thanks for creating this ticket. We'll look into it as soon as possible and get back with proper feedback. Best, Tobias

            Hi jan,

            looking at the code, I would say that this is currently expected and therefore not a bug. The parse listener methods don't claim that all elements of a node like an activity are already present when a method like "parseServiceTask" on the listener is called.
            Furthermore, I would rather expect there to be a need for a "parseInputParameter" and "parseOutputParameter" method in the listener interface so you can adjust those when they are parsed.

            Maybe you can describe your specific use case and need in a bit more detail. Example code from your end would probably also help to understand what you would like to build.
            We can take it from there to see if there is anything you can already use to achieve your goals. If not, we can think about specific measures that could help achieve them.

            Best,
            Tobias

            Tobias Metzke-Bernstein added a comment - Hi jan , looking at the code, I would say that this is currently expected and therefore not a bug. The parse listener methods don't claim that all elements of a node like an activity are already present when a method like "parseServiceTask" on the listener is called. Furthermore, I would rather expect there to be a need for a "parseInputParameter" and "parseOutputParameter" method in the listener interface so you can adjust those when they are parsed. Maybe you can describe your specific use case and need in a bit more detail. Example code from your end would probably also help to understand what you would like to build. We can take it from there to see if there is anything you can already use to achieve your goals. If not, we can think about specific measures that could help achieve them. Best, Tobias

            Jan Cheng added a comment - - edited

            Hi tobias.metzke,

            Yeah, I want to adjust iomapping when they are parsed. I want to support source of mapping with nested property, e.g. "person.name", like camunda cloud do.

            Currently, I can only subclass BpmnParse to do this job, and there actually is the activity - EndEvent, where we can get the iomapping in BpmnParseListener(inconsistent behavior).

            "parseInputParameter" and "parseOutputParameter" is another solution.

             

            Jan Cheng added a comment - - edited Hi tobias.metzke , Yeah, I want to adjust iomapping when they are parsed. I want to support source of mapping with nested property, e.g. "person.name", like camunda cloud do. Currently, I can only subclass BpmnParse to do this job, and there actually is the activity - EndEvent, where we can get the iomapping in BpmnParseListener(inconsistent behavior). "parseInputParameter" and "parseOutputParameter" is another solution.  

            Hi jan,

            thanks for those insights. Given your input, I would rather opt for turning this into a feature request, proposing to add "parseInputParameter" and "parseOutputParameter" to the parse listener interface and calling it accordingly from BpmnParse. What do you think?

            If you like, you are welcome to add this to the platform by providing a proper pull request in our GitHub repository. We can help you get started with pointers if necessary.

            Best,
            Tobias

            Tobias Metzke-Bernstein added a comment - Hi jan , thanks for those insights. Given your input, I would rather opt for turning this into a feature request, proposing to add "parseInputParameter" and "parseOutputParameter" to the parse listener interface and calling it accordingly from BpmnParse. What do you think? If you like, you are welcome to add this to the platform by providing a proper pull request in our GitHub repository . We can help you get started with pointers if necessary. Best, Tobias

            Jan Cheng added a comment -

            Hi  tobias.metzke,

            I agree with you, there is 1 method BpmnParseListener.parseIoMapping(Element, ActivityImpl, IoMapping) needed instead of 2: parseInputParameter&parseOutputParameter.

            I have done with the source code modifications, please help me to turn this issue into feature request (for my poor English). After that, I will create a PR.

            Thanks

             

            Jan Cheng added a comment - Hi   tobias.metzke , I agree with you, there is 1 method BpmnParseListener.parseIoMapping(Element, ActivityImpl, IoMapping) needed instead of 2: parseInputParameter&parseOutputParameter. I have done with the source code modifications, please help me to turn this issue into feature request (for my poor English). After that, I will create a PR. Thanks  

            Hi jan,

            sorry for the delay. I transformed the ticket into a feature request and filled out the requirements.
            Let me know if that reflects what you had in mind.

            Feel free to link your pull request here.
            Looking forward to your contribution.

            Best,
            Tobias

            Tobias Metzke-Bernstein added a comment - Hi jan , sorry for the delay. I transformed the ticket into a feature request and filled out the requirements. Let me know if that reflects what you had in mind. Feel free to link your pull request here. Looking forward to your contribution. Best, Tobias

              Unassigned Unassigned
              jan Jan Cheng
              Tobias Metzke-Bernstein Tobias Metzke-Bernstein
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: