EMF Compare get Object Attributes [message #1062893] |
Tue, 11 June 2013 09:27 |
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 17:28] Report message to a moderator
|
|
|
Re: EMF Compare get Object Attributes [message #1063429 is a reply to message #1062893] |
Thu, 13 June 2013 07:25 |
|
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 #1066353 is a reply to message #1066102] |
Tue, 02 July 2013 09:35 |
|
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 #1810010 is a reply to message #1809792] |
Mon, 29 July 2019 07:30 |
|
Hello,
Please create a new thread for new questions, don't resurect old ones.
You might want to look at what we're doing in org.eclipse.emf.compare.utils.EMFComparePrettyPrinter to navigate the differences and look at the documentation for the core concepts. Though incomplete, the documentation could explain what most references mean on the Diff objects. If this is not enough, please detail your questions (in a new thread).
Laurent Goubet
Obeo
|
|
|
Powered by
FUDForum. Page generated in 0.04023 seconds