Bug 361534 - Resources Level cross referencer
Summary: Resources Level cross referencer
Status: NEW
Alias: None
Product: EMFCompare
Classification: Modeling
Component: Core (show other bugs)
Version: 1.3   Edit
Hardware: PC All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: EMF Compare CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-20 08:38 EDT by Cedric Brun CLA
Modified: 2014-03-07 04:46 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Cedric Brun CLA 2011-10-20 08:38:15 EDT
So far the logical model support in EMF compare is using a somewhat hard-coded logic to look for models with inverses references to the selected one : going to the container, browsing it's content and finding cross references. 

This works well for many common use cases (like having diagrams in the same directory as models) but is not perfect. 

I started to work on a Resources Level Cross referencer coupled to a workspace listener so that any subsequent call to this cross referencer (except the first one) would quickly give a result. 

This ticket is a placeholder for discussion about this new api and feature.
Comment 1 Cedric Brun CLA 2011-10-20 11:11:07 EDT
The current implementation is here : https://github.com/cbrun/emf.compare/tree/experimental_cross_referencer_361534
Comment 2 Cedric Brun CLA 2012-01-18 12:11:04 EST
I pushed a few commits.

XMI fast loading support now uses a Sax Parser so that we don't have to
deal with encoding. 
Provided a builder API to configure which content-types or file
extension to crawl.

I did test performances on a large workspace with thousands of models.
The XMI-fast mode takes a few seconds to initialize and subsequent calls
are instantaneous (yeah !)

Using content-types makes things slower during the initialization (file
extensions are faster to check !)

Non-XMI models are supposed to work but are not tested. Loading those is, at the end of the day, more complex as it requires to have the corresponding metamodel registered and some scenarios could lead to loading linked models during the processing which should make the whole thing fail.

Next step : testing this with Eclipse's CVS and EGIT integration.
Comment 3 Laurent Goubet CLA 2013-01-23 04:36:38 EST
We'll need the same kind of enhancement for what has been done in EMF Compare 2 wrt the Team integration.