Message text in sequence diagrams not displaying in editor
I split a large sequence diagram into smaller parts so that the parts could be included as graphics in a user manual.
Here is how I split the diagram:
1) Create the single large diagram. Name the diagram "SD".
2) This diagram produces an SD_etlp and an SD_etld file.
2) Copy these two files to different names. Eg SD_etlp_01 and SD_etld_01.
2) Delete 10 messages from the bottom of the original diagram. Save.
3) Copy the two files to SD_etlp_02 and SD_etld_02.
And so on.
So the diagram editor only sees the original file name. But this file is actually getting smaller and smaller. I can re-edit any of the saved files by changing their name back to the original file name as seen by the diagram editor.
I produced about 10 smaller sequence diagrams without problem.
On the latest sequence diagram in the editor, I lost all the message text. Everything else was fine. (I think I shortened the lifelines too much so they encroached on the actual messages. Note that I do not shorten lifelines in the editor, because these changes are not persistent. I edit the lifeline heights in the ETLP file.)
Losing the message text should not have been a problem. Because I thought that all I had to do was return to one of the earlier diagrams and start again.
However, on returning to all the previous saved diagrams, all the message text had disappeared from those diagrams as well. (I had already printed out those diagrams, so I haven't lost everything.)
When I open the ETLD files, I can see all the missing message text for each diagram, for example:
<name value="public void addNode( String Unnamed, String Unnamed )"/>
Can anyone tell me how to show these messages on the diagrams?
# 1
I'm not sure if the problem is caused by the way you copied diagrams. While I'm trying to find out from developers if this is the cause, you can try to do "Show Message Numbers" from the contextual menu of the sequence diagram to see if anything gets refreshed to show your messages again. You can try to do "Show Message Numbers" like toggling a couple of times if it doesn't do anything on your first try.
# 2
When I select "Show Message Numbers" , all text is displayed as "1:"
If I right-click on an individual message, "Show Message Name" is not checked. If I check it, it says "Unnamed".
-
I may have introduced a corruption as follows:
1) One message text disappeared. This may have been due to the excessive amount of manual dragging on large diagrams (see later).
2) I right-clicked on the message. Select "Show Message Name".
3) The text "Unnamed" was displayed.
( I now know that "Unnamed" will be displayed for any message, even when message text is displayed :)
4) I typed "public void logout( )"
5) This produced the correct text on the diagram.
Some effects of this were:
1) In the model, a message was added to the contents of "Messages", named "public void logout()". All the other messages are simply called "Message".
2) There is an entry in ".QueryCache" file:
nodeType_="Message" name="public void logout( )" id="DCE.14D184C9-7052-ECFE-D9E9-48CB83B1E357" fullName="public void logout( )"/><Name nodeType_="Lifeline" name="self" id="DCE.37BD6533-F0C0-FDF8-7391-521338CD4F86"
This is the only cache file entry that relates to messages.
If I can roll back the changes made by typing "public void logout( )", would that cure the problem?
-
1) As well as noticing that the message text is still in the ETLD file, I also see that, for each message:
><visible value="true"/>
--
I have been backing up matched pairs of ETLP and ETLD files which earlier produced good diagrams. If these files later produce a diagram in which the message text is missing, then there must be at least one other file that has been corrupted. Does anyone know what other files I should back up to produce a self-consistent set of files that can be used for recovery?
--
By the way, here is the reason that I am spending so much time trying to recover message text rather than simply regenerating the model. The diagram has 250 messages. The horizontal spacing between some objects is equal to 20 times the width of one object. This means that I have a lot of dragging to do. Each manual action increases the risk that some error will be made (and usually is). Even at 5% zoom, the diagram is several screens wide, so messages can be disappearing off-screen without my knowledge. Simply closing up the objects takes two days work, because there are several combined fragments boxes which must be handled very delicately, or message text disappears.
# 3
Here is some more troubleshooting info.
I had created three projects from the same Java code:
1) Proj_01 is the project where I was producing identical sequence diagrams by reverse engineering, then removing messages and objects to produce smaller diagrams for exporting as graphics. All these files are good, but because the original diagram is massive (300 messages), the reverse-engineering was too time-consuming.
2) Proj_02 is the problem project where I have lost the message text. In this project, only one sequence diagram is reverse-engineered, so there is only one file listed in the "Diagrams" tree in Studio. All the cut down diagrams exist only in Windows Explorer under different names. Each file must be renamed to the original name in order to display it in the editor.
3) Proj_03 is a good project used for testing.
I refer to Proj_01 and Proj_03 and all their files as "good". Proj_02 and all its files is "bad". Here is what happens if I copy ETLP and ETLD files from one project to another:
1) If I copy good files to a good project, they display message text.
2) If I copy bad files to a good project, they don't display message text.
3) If I copy good files to the bad project, they display message text ! !
The conclusion is that the display of messages depends only on the ETLP and ETLD files. In other words, there is no dependence on the ETD, ETTM, DTD, or .QueryCache files.
Unfortunately, this conclusion seems to be contradicted by the fact that none (or most) of the saved ETLP and ETLD files in the bad project display message text. This is despite the fact that they displayed text several days ago, and have not been changed.
# 4
I have again lost message text for a group of messages. Here is the troubleshooting.
1) All problems with missing message text occur inside CFBs (combined fragments boxes). The CFB itself, and the message lines, never disappear. Only message text disappears.
2) When I right click on a message line outside the CFB, the "Operations" option is listed in the pop-up menu.
3) When I right-click on a message line within any CFB that has missing messages, the "Operations" option is not listed.
3) When I right-click on a message line within any CFB that does not have missing messages, the "Operations" option is listed.
4) If messages disappear from one part of a split diagram, they also disappear from the other parts, even although each part has its own independent pair of ETLP and ETLD files. (Can anyone suggest why this happens?)
5) If I try to re-create another sequence diagram from the dependency diagram, the message text for messages inside the CFB is not displayed. This means that the dependency diagram is also corrupted.
# 5
> 1) All problems with missing message text occur
> inside CFBs (combined fragments boxes). The CFB
> itself, and the message lines, never disappear. Only
> message text disappears.
Have you tried to select "Label->Show Message Name" option on the context menu of the message? If not yet, try that to see if the message text is displayed.
> 2) When I right click on a message line outside the
> CFB, the "Operations" option is listed in the pop-up
> menu.
>
> 3) When I right-click on a message line within any
> CFB that has missing messages, the "Operations"
> option is not listed.
>
> 3) When I right-click on a message line within any
> CFB that does not have missing messages, the
> "Operations" option is listed.
>
I some time get the problem of not seeing the "Operations" option listed on the context menu. I guess the hit area of a link (message) is quite small, so it depends on where you click, it gives you a different context menu.The work around I'm using is... instead of right-clicking on the message, I left-click to select the message first then press Shift-F10 to bring up the context menu.
