Cannot create message on lifeline in combined fragment

Issue #148 resolved
Matthias Schoettle created an issue

Currently, a message cannot be created on a lifeline, where the message should be inside an interaction operand of a combined fragment.

The reason is that the spacer inside the operand is too small, leading to subsequent spacers being in the operand as well. I.e., the spacer of the operand (if it is empty) is not properly sized.

Comments (11)

  1. Matthias Schoettle reporter

    References issue #148: The initial spacer of each OperandView now has a proper minimum height, which is required when the operand is empty. When it is not, the spacer is adjusted through the regular layouting (however, it will never me changed, because the initial height is the proper one).

    → <<cset ac66d27404f8>>

  2. Matthias Schoettle reporter

    References issue #148: Fixed problem when finding the initial message when creating the first message inside an operand. Since there is no fragment in the operand, the CombinedFragment is used to find the initial message.

    → <<cset dd8e69064906>>

  3. Matthias Schoettle reporter

    References issue #148: Added consideration of whether a new message/fragment can be created on a lifeline inside an interaction operand. This depends on whether the initial message is received on the lifeline where the spacer is located at. Spacers of other lifelines are part of a combined fragment but behaviour cannot originate/continue from there.

    → <<cset 00450f851e85>>

  4. Matthias Schoettle reporter

    References issue #148: Changes in commit dd8e690 were not fully satisfactory. Getting the previous fragment at the addAtIndex leads to problems (it might not exist --> out of bounds or it gets a fragment that is not part of the current (nested) message behaviour. So instead, the index prior to that is checked.

    → <<cset ffc2d8c6733b>>

  5. Matthias Schoettle reporter

    References issue #192: When finding the initial message and the previous fragment is the receive event of a create message, no initial message is found. In case no initial message is found, fall back to the message of the previous fragment.

    refs #148

    → <<cset 5cf9e5167ccc>>

  6. Matthias Schoettle reporter

    References issue #190: Allowing message creation after a self message.

    → <<cset 2f3ad205b51b>>

    (was detected as part of mentioned issue, but should have been directed to this one)

  7. Matthias Schoettle reporter

    References #148: Fixes a problem where when the size of the fragments is greater than 0 but the addAtIndex 0 as well, an index of -1 would be retrieved (--> out of bounds).

    → <<cset e908f869b5fa>>

  8. Matthias Schoettle reporter

    References #148: Fixes finding the previous fragment. In certain cases the wrong initial message is found, because the previous fragment is a receive event. Therefore, a previous fragment on the same lifeline is searched, which will lead to the correct initial message.

    This allows the fix from commit 5cf9e51 to be reverted (refs #192).

    → <<cset 5b8079e9fc30>>

  9. Log in to comment