On 29/11/12 09:11, jannik laval wrote:
Hi Andrea,
I retrieved your mail and tried to find a solution.
I clearly not found anyone.
In fact, in Orion, the idea is to have a link between each version at
entity level. It means that a class that has been renamed know its
previous version with its previous name.
In 2 different mse files, there is no link between these entities. We
have to postulate that an entity from the second version is linked to
an entity of the first version. For that, we need to use heuristics...
which is not deterministic.
So, I found 2 possible ways:
- we match the name of the entities. If they match, there is a link.
But, all rename of entities would provide inconsistencies in the
understanding of the model.
- we don't match anything and only remove changed entities to add the
updated one, without link between them.
I am not sure about an easy way to develop this feature. But someone
has probably an idea...
Cheers,
Jannik
Hi,
First there is no absolute solution, unless you watch all user actions
to see that this method was renamed that name.
So the idea is to be as close as possible to the perfect solution.
I developped something related in VerveineJ
Because it allows incremental parsing, it needs to check every "new"
entity to see if it does not already exist (created in a previous parse
of the system).
The heuristics used are based on containers. Basically, the algorithm is:
If two entites have the same name and their respective owner are "equal"
hten they are "equal".
The algorithm goes recursively up the owner relationship until there is
no owner (for example, Java package "java").
We can discuss this more in depth if you want, or you can have a look at
the code (methods matchAndMapXXX in JavaDictionnary.java)
nicolas