Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Compare » EMF Compare get Object Attributes
EMF Compare get Object Attributes [message #1062893] Tue, 11 June 2013 05:27 Go to next message
d 627 is currently offline d 627
Messages: 28
Registered: March 2013
Junior Member
Hi there.
I've been working on my project with EMF Compare and for my purpose I need to get the name of the Object where there is a difference between two textual models.

I'd really appreciate any help from you.

Regards.

[Updated on: Thu, 13 June 2013 13:28]

Report message to a moderator

Re: EMF Compare get Object Attributes [message #1063429 is a reply to message #1062893] Thu, 13 June 2013 03:25 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent Goubet
Messages: 1621
Registered: July 2009
Senior Member
Hi,

I have no idea what you're trying to achieve, but I guess what you want is to retrieve info about the target of a diff. With EMF Compare 1, you will have to cast to the proper diff type (ModelElementChangeRightTarget, ModelElementChangeLeftTarget, ...), use the getter for the target element (getRightElement, getLeftElement, ...) and navigate from that element to the info you seek : getClass(), getName(), etc.

You should switch to EMF Compare 2, since exploiting the comparison result is much easier now :

IComparisonScope scope = EMFCompare.createDefaultScope(resourceSet1, resourceSet2);
Comparison comparison = EMFCompare.builder().build().compare(scope);

List<Diff> differences = comparison.getDifferences();
for (Diff diff : differences) {
	if (diff instanceof ReferenceChange) {
		EObject changed = ((ReferenceChange)diff).getValue();
		System.out.println("Changed EObject '" + changed.getName() + "' of type : " + changed.getClass());
	}
}


Laurent Goubet
Obeo
Re: EMF Compare get Object Attributes [message #1066102 is a reply to message #1063429] Sun, 30 June 2013 12:54 Go to previous messageGo to next message
Hans 17 is currently offline Hans 17
Messages: 2
Registered: June 2013
Junior Member
Hi guys.

I also have some question about this topic. In my case I need to get the 2 objects where there was a change on different attributes. But until now everything seems to be workless.

[Updated on: Thu, 18 July 2013 11:48]

Report message to a moderator

Re: EMF Compare get Object Attributes [message #1066353 is a reply to message #1066102] Tue, 02 July 2013 05:35 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent Goubet
Messages: 1621
Registered: July 2009
Senior Member
Hans,

You may want to look at a few java tutorials before trying to tackle Eclipse plugin development.

What you have here is a very basic exception, which tells you (straight from the documentation of "ClassCastException") :
Quote:

Thrown to indicate that the code has attempted to cast an object to a subclass of which it is not an instance. For example, the following code generates a ClassCastException:
Object x = new Integer(0);
System.out.println((String)x);



In this case, you are trying to cast a reference order changed as an UpdateAttribute, while "UpdateAttribute" has no relation to a ReferenceChange whatsoever.

Laurent Goubet
Obeo
Re: EMF Compare get Object Attributes [message #1070761 is a reply to message #1066353] Thu, 18 July 2013 11:54 Go to previous message
Hans 17 is currently offline Hans 17
Messages: 2
Registered: June 2013
Junior Member
Laurent thanks a lot for your replay and explanation, actually I feel a little embarrassed...
Previous Topic:About the next EMF Compare release plans
Next Topic:On suboptimal decisions over the match solution spectrum
Goto Forum:
  


Current Time: Wed Jul 30 17:29:22 EDT 2014

Powered by FUDForum. Page generated in 0.02215 seconds