Community
Participate
Working Groups
A mechanism for selectively displaying entry/exit points on the outside of a composite states must be introduced. The main purpose is to be able to reduce clutter and to not display entry/exit points that does not makes sense to connect on the outside, e.g. entry/exit points of local self-transitions. To align with legacy tooling, and the import of legacy models, this shall be controlled by visibility. Only entry/exit points with visibility=public (which in practice also means unset visibility since the default value of visibility is public) shall be displayed on the outside. Entry/exit points with visibility=protected shall not be shown on the outside. As discussed with Bran in an off-line mail discussion, the fact that visibility is used to control this shall be hidden/abstracted away, since the semantic of visibility is more related to name-space semantics, by exposing a simple check-box with the label "Show outside". The check-box is then mapped to visibility, i.e. the checked <-> visibility=public and unchecked <-> visibility=protected. This also means that for two of transitions cases identified in Bug 494284 Comment 0, the automatically created entry/exit points shall be created with visibility=protected to not show the entry/exit points on the outside of the composite state, i.e. case 6 (local self-transition) and case 8 (deep history transition drawn on inside that target composite state itself). If the user actually wants to connect case 8 on the outside (and not return to deep history), then the user can toggle the check-box "Show outside" to make the exit point shown, and connect it on the outside. To summarize the scope of this bug: * Introduce a mechanism to only show entry/exit points with visibility=public, i.e. including unset visibility, in the corresponding way as isService=true controls showing ports on capsule parts. * Introduce a UML-RT tab in the properties view for entry and exit points with one check-box property "Show outside", the should be checked for the case when visibility=public (or unset), and be unchecked for all other cases (to include if visibility incorrectly is set to private). When the user toggles the state of this check-box it shall unset visibility when the user checks, and set visibility to protected when the user unchecks. The diagram shall automatically refresh to either show or hide the entry/exit point directly as an effect of toggling the check-box. * The automatic creation of entry/exit points according to Bug 494284 shall by default create entry/exit points with visibility=public, i.e. visibility shall be left unset. For case 6 and 8, the created entry/exit points shall be created with visibility explicitly set to protected.
Assigned to 1.0.1 for now. Needs discussion.
Mass changing all 1.0.1 bugs to target milestone 1.0.2, because Bug 520039 depends on Bug 526168 which depends on Bug 526167 which modifies plugin MANIFEST files and therefore requires a new service version number in accordance to the guidelines at https://wiki.eclipse.org/Version_Numbering#When_to_change_the_service_segment. Hence the solution to these bugs must be merged as a new version (1.0.1) and therefore all old 1.0.1 bugs should become 1.0.2.