Customization and Team support [message #1066838] |
Thu, 04 July 2013 12:14  |
Eclipse User |
|
|
|
Hi,
I'm working with EMFCompare2.0 and I try to integrate it with our team provider implementation.
What we need is the ability to customize the default Diff Engine and Match Engine in order to hide complexity of our meta-models. For instance we want to igonre some classes and features using custom diff engine and custom match engine.
With EMFCompare 1.3; we've defined our custom engines and use them by EMFCompare Extension points but with EMFCompare 2.0 there are not same extension points and specially no extension point on DiffEngine.
I've looked to the Developper Guide in order to do customization but I don't find how to change EMFCompare.Builder().().() chained calls when comparison is launched from Team support menus such as "Compare with .." menu or any "Team>> Merge Tool" menu.
Thanks & Regards,
Kamel
|
|
|
|
Re: Customization and Team support [message #1403699 is a reply to message #1066916] |
Fri, 25 July 2014 08:39   |
Eclipse User |
|
|
|
Hi,
I'm a beginner with EMF Compare. I'm also trying to customize the Diff Engine. I want first to do a comparison without taking into account the "move" difference, in order to have only "delete" and "add" difference and to get a comparison using only those two ones. Then I will maybe need to add others kind of differences (or to adapt the differences). That's why I decided to extend the DefaultDiffEngine class as written in the Developer Guide.
I found an extension point corresponding to this engine (org.eclipse.emf.compare.rcp.diffEngine) in the org.eclipse.emf.compare.rcp package and I added my extension.
But I don't understand what to do next in order to make it works. Indeed, actually when I launch it, I can just select it on the configuration menu, but it's not used for the comparison. I mean if I have a breakpoint on the class I created, it is never called.
In the developer guide, it's written that we need to write this:
Quote:A custom diff engine can then be used for your comparisons:
IDiffEngine customDiffEngine === new MyDiffEngine(...);
EMFCompare.builder().setDiffEngine(customDiffEngine).build().compare(scope);
but where are we supposed to write this ?
Thank you in advance,
Best regards,
Veronique
[Updated on: Thu, 31 July 2014 11:14] by Moderator
|
|
|
Re: Customization and Team support [message #1404350 is a reply to message #1403699] |
Thu, 31 July 2014 08:57  |
Eclipse User |
|
|
|
Hi Véronique,
First, please create your own threads instead of "hijacking" another's, as this will allow for faster triaging from our side.
That being said, if what you need is only to ignore the "move" differences, you can just follow the example from the developper guide. As you can see, though this example tells you how to do this programmatically, it only requires you to have your own sub-class of DefaultDiffEngine.
Diff engines can also be provided to EMF Compare dynamically through the org.eclipse.emf.compare.rcp.diffEngine extension point. You can see how we do it for the default one in the plugin.xml file of the rcp plugin. For yours to be used, you have to make sure that you provide one with a ranking higher than the default one (higher than 100). As long as its ranking is higher than the default, and you haven't changed the preference to another engine (which disables the ranking), yours should be used.
Laurent Goubet
Obeo
|
|
|
Powered by
FUDForum. Page generated in 0.05011 seconds