Reverse engineering deleted sequence diagram

I reverse engineer java source and created some sequence diagrams with the classes. Some changes were made to the classes that I wanted to pull into the project. I did another reverse engineer of the classes selecting “Update duplicate class(es)”. The classes were reverse engineered but the sequence diagrams I spent hours working had all the contents removed. What happened? Did I do something wrong or is this an application bug?

Hi Steve,

I suspect that this is caused by the model sharing behavior. However, I tried but was unable to reproduce the problem as you mentioned. The changes I made in code would append to the existing models rather than removing any of them.

Is it possible for you to provide me with the steps for repeating this problem? What changes have you made? Besides, could you please let me know which build are you using (Help | About…)?

Looking forward to hearing from you.

Best Regards,

I was able to reproduce this. When I reverse engineer I selected “Replace duplicates”. When select “Update duplicates” I didn’t lose my diagrams. The problem I’m seeing with “Update duplicates” is it duplicates methods and relationships with each reverse engineer. As if it doesn’t realize a given method is the same, so it adds another method. After a few reverse engineers it becomes tedious seeing the same method listed several times. I have submitted a bug on this issue.

Hi Steve,

Are you able to reproduce the problem with “Update duplicates” with a simple code base? If so, could you please send me the code with steps for testing?

I tried creating 2 classes, with each containing a reference to another, and an operation. But neither of the methods nor relationships are duplicated.

By the way, if you have submitted a bug, we can continue our conversation in our ticket system…

Best Regards,

Is the duplicating of operation/attributes supposed to happen on Instant Reverse? When I select “update duplicates”, I do not expect to make duplicate copies of each method with the same signature. I end up having to constantly delete all attributes/operations and then do an instant reverse. Not desirable at all! If I chose replace, my existing diagrams become defunct.

Dear Travis,

The duplication of operation/attributes is an abnormal behavior. However, I regret that we were unable to repeat it… If possible, could you please send me your source code for testing? With out past experience, I believe this kind of problem could be fixed in a short period of time. Thank you in advance.

Best Regards,

Unfortunately the code cannot be shared as this is a commercial project. I was unable to reproduce it by copying the source code into a new test project.

However, interestingly enough, it seems to cause the duplication bug with similar method names but in different classes, (but only 1 or 2 methods in each class?) e.g.

ClassA duplicates:
void useExistingLineRecord(InvoiceLine line) {

ClassB duplicates:
public void useExistingLineRecord(PromotionLine line)

ClassC duplicates:
private AttributedString[] createValues(PromotionLine marketLine) {

ClassD duplicates:
private AttributedString[] createValues(InvoiceLine line) {

However, this seems to be an exception to that rule:?
private String getPassword(RoleType role)

Have no idea whats going on. But makes updating existing diagrams unusable. Duplicates those select methods EACH time I do instant reverse with update.

5.1 Build 20060116D

Also, it would be desirable for update to detect when operations/attirubtes are deleted from updated source, and remove from model and diagram.

Dear Travis,

Thank you for the code sample. We will try testing again with some large scale projects.

Regarding the suggestion of detecting removed operations and attributes, I will forward it to our development team.

Best Regards,