Hi everyone,
As Patrick and I working on the Sequence diagram, we found a side effect of the UMLParserProvider.
For the time being, 1 parser provider is created for each Diagram.
Those providers using the Element Type Visual ID to match if this should provide or not the Parser.
But some elements can be found in more than one diagram with the same visual ID ( in example Duration Observation is available in both Composite and Sequence diagrams )
Then when you are in the Sequence, creating Duration Observation, it happens that we match the Composite Parser.
This is even worse because it exists a CustomParserProvider in the composite diagram prior to all the other providers due to higher priority.
Then your Duration Observation in the Sequence diagram parses the label as defined in the Composite parser provider and not as defined in the Sequence parser provider.
There are several solutions to this but none is simple :
1.
Solution 1 : Have the same Parser for all the DurationObservation
Issue 1 : Duration Observation Parser is a child of MessageFormatParser
that is generated for each diagram. And cannot be common
2.
Solution 2 : Modify the Element Type ID in order to identify if an
element type belongs to a specific diagram to avoid to match a parser
from another diagram.
Issue2: No idea of the side effects , probably a lots of duplication code
Do you see any other solutions ?
Does someone has a great idea to fix this problem ?
Best regards
Céline
