|
|
Re: Writing a DiffModel as .uml [message #90762 is a reply to message #90703] |
Thu, 19 July 2007 12:16 |
|
Jan,
I find your need to be a little confusing. The DiffModel returned by
DiffMaker#doDiff(MatchModel) is not based on the UML metamodel and
cannot then be serialized as an UML model.
Why exactly do you want the differences to be serialized as an UML
model? Or more precisely, what do you expect to find in the DiffModel?
You could also save the diffModel using ModelUtils.save(diffModel, path)
then transform it through ATL from diff to uml.
greets,
Laurent
Jan Reimann a écrit :
> Hello NG,
> today I found the Compare-Framework and I think that's the thing what I
> am always was looking for ;)
> Well, I had some tries. I have two Models represented by .uml-files. So
> loaded them:
>
>
> EObject genObject = ModelUtils.load(generatedModelURI);
> EObject refObject = ModelUtils.load(referenceModelURI);
>
>
> Now I want to look if they are equal(means: if they represent the same
> model):
>
>
> MatchModel match = new MatchService().doMatch(genObject, refObject, new
> NullProgressMonitor());
> DiffModel diff = new DiffMaker().doDiff(match);
>
> To simply use the UML Model Editor to compare the difference between
> both it would be fine if there is a possibility to write the diff into
> an .uml-file or make a org.eclipse.uml2.uml.Model out of it. Is it
> possible?
>
> greets
> J.R.
|
|
|
|
Re: Writing a DiffModel as .uml [message #90844 is a reply to message #90824] |
Thu, 19 July 2007 13:21 |
|
This is a multi-part message in MIME format.
--------------000308040605060907040404
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
I don't fully understand what you need to do with the differences model
but have you tried to compare your two models through EMF Compare's GUI
and if yes, isn't the result displayed what you expect to see as a
result for your two models comparison (see attached example result.png)?
And if you need to compare programmaticaly your two models and then give
an interpretation of the result, an "empty" differences model (where the
two compared models are considered equal) should look as the attached
example result.diff; with a single "root" element which is an empty
DiffGroup.
This result has been obtained through :
<pre>
final ResourceSet resourceSet = new ResourceSetImpl();
final EObject model1 = ModelUtils.load(new File("model1.uml"), resourceSet);
final EObject model2 = ModelUtils.load(new File("model2.uml"), resourceSet);
final MatchModel match = new DifferencesServices().modelMatch(model1,
model2, new NullProgressMonitor());
final DiffModel diff = new DiffMaker().doDiff(match);
ModelUtils.save(diff, "result.diff");
</pre>
Yet again, if you run EMF Compare under eclipse, "to see which elements
are different", it would be easier to create a ModelInputSnapshot,
saving it on disk as an "emfdiff" to allow you to open it within our
compare editor under eclipse. This can easily be done through EMF
Compare GUI.
Laurent
Jan Reimann a
|
|
|
|
|
|
|
Re: Writing a DiffModel as .uml [message #91318 is a reply to message #91303] |
Mon, 23 July 2007 12:37 |
|
This is a multi-part message in MIME format.
--------------040609050100050506060706
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Jan,
This isn't a normal behavior, there *should* be a content type named
"Model File" under eclipse : window => preferences => General => Content
Types for you to add the files to use EMF Compare with. "*.ecore",
"*.uml" and "*.emfdiff" are filled automatically, which is why EMF
Compare's GUI opened for your models.
Opening the compare editor by code is not possible as yet for some of
the needed packages are not visible by third party contributions. It
should be possible in the final 0.7 release via
" org.eclipse.emf.compare.ui.editor.ModelCompareEditorLauncher #open(File) ".
As for documentation, apart from the javadoc found under eclipse in
"Help => help contents => EMF Compare - Developer Guide => References",
we do not have any accessible online.
Laurent Goubet
Obeo
Jan Reimann a
|
|
|
|
Re: Writing a DiffModel as .uml [message #91366 is a reply to message #91332] |
Mon, 23 July 2007 14:41 |
|
This is a multi-part message in MIME format.
--------------070807030309050300080609
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Jan,
Comments below.
Jan Reimann a
|
|
|
|
Re: Writing a DiffModel as .uml [message #91524 is a reply to message #91459] |
Tue, 24 July 2007 09:15 |
|
This is a multi-part message in MIME format.
--------------090506010507010004090108
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Jan,
EMFCompare RC2 is indeed the version you have, mine was slightly newer
as it is a source version I downloaded from the CVS.
The javadoc is not yet online, but will be in the future. It will be put
online with the rest of the documentation when we'll start writing and
uploading it.
As for the "Model file" content type, I attached here a screenshot of
the eclipse preferences where it belongs. If you don't have it, it might
be caused by a conflict with another of your plugins as this screenshot
has been taken with the exact same versions of EMF Compare and eclipse
than yours.
Laurent Goubet
Obeo
Jan Reimann a
|
|
|
|
Re: Writing a DiffModel as .uml [message #91598 is a reply to message #91569] |
Tue, 24 July 2007 09:44 |
|
This is a multi-part message in MIME format.
--------------020703060309040000030602
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Jan,
It could then come from your eclipse configuration. Did you try
launching eclipse with the -clean flag to allow it to properly detect
the new plugins?
Laurent Goubet
Obeo
Jan Reimann a
|
|
|
|
|
|
Re: Writing a DiffModel as .uml [message #608811 is a reply to message #90703] |
Thu, 19 July 2007 12:16 |
|
Jan,
I find your need to be a little confusing. The DiffModel returned by
DiffMaker#doDiff(MatchModel) is not based on the UML metamodel and
cannot then be serialized as an UML model.
Why exactly do you want the differences to be serialized as an UML
model? Or more precisely, what do you expect to find in the DiffModel?
You could also save the diffModel using ModelUtils.save(diffModel, path)
then transform it through ATL from diff to uml.
greets,
Laurent
Jan Reimann a écrit :
> Hello NG,
> today I found the Compare-Framework and I think that's the thing what I
> am always was looking for ;)
> Well, I had some tries. I have two Models represented by .uml-files. So
> loaded them:
>
>
> EObject genObject = ModelUtils.load(generatedModelURI);
> EObject refObject = ModelUtils.load(referenceModelURI);
>
>
> Now I want to look if they are equal(means: if they represent the same
> model):
>
>
> MatchModel match = new MatchService().doMatch(genObject, refObject, new
> NullProgressMonitor());
> DiffModel diff = new DiffMaker().doDiff(match);
>
> To simply use the UML Model Editor to compare the difference between
> both it would be fine if there is a possibility to write the diff into
> an .uml-file or make a org.eclipse.uml2.uml.Model out of it. Is it
> possible?
>
> greets
> J.R.
|
|
|
|
Re: Writing a DiffModel as .uml [message #608816 is a reply to message #90824] |
Thu, 19 July 2007 13:21 |
|
This is a multi-part message in MIME format.
--------------000308040605060907040404
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
I don't fully understand what you need to do with the differences model
but have you tried to compare your two models through EMF Compare's GUI
and if yes, isn't the result displayed what you expect to see as a
result for your two models comparison (see attached example result.png)?
And if you need to compare programmaticaly your two models and then give
an interpretation of the result, an "empty" differences model (where the
two compared models are considered equal) should look as the attached
example result.diff; with a single "root" element which is an empty
DiffGroup.
This result has been obtained through :
<pre>
final ResourceSet resourceSet = new ResourceSetImpl();
final EObject model1 = ModelUtils.load(new File("model1.uml"), resourceSet);
final EObject model2 = ModelUtils.load(new File("model2.uml"), resourceSet);
final MatchModel match = new DifferencesServices().modelMatch(model1,
model2, new NullProgressMonitor());
final DiffModel diff = new DiffMaker().doDiff(match);
ModelUtils.save(diff, "result.diff");
</pre>
Yet again, if you run EMF Compare under eclipse, "to see which elements
are different", it would be easier to create a ModelInputSnapshot,
saving it on disk as an "emfdiff" to allow you to open it within our
compare editor under eclipse. This can easily be done through EMF
Compare GUI.
Laurent
Jan Reimann a
|
|
|
Re: Writing a DiffModel as .uml [message #608818 is a reply to message #90824] |
Thu, 19 July 2007 13:34 |
Stephane LACRAMPE Messages: 217 Registered: July 2009 |
Senior Member |
|
|
This is a multi-part message in MIME format.
--------------070307090706080209070806
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
ATL is Model to Model transformation language and tools. It enables you to transform one
model into another, typically a diff model into a uml model.
But still I agree with Laurent, I am not sure to understand your need and I would think
that the EMF Compare GUI is what you are looking for.
Stephane LACRAMPE
Obeo
Jan Reimann a
Stephane LACRAMPE
Obeo Canada
|
|
|
|
Re: Writing a DiffModel as .uml [message #608846 is a reply to message #91259] |
Mon, 23 July 2007 10:07 |
Stephane LACRAMPE Messages: 217 Registered: July 2009 |
Senior Member |
|
|
This is a multi-part message in MIME format.
--------------080409050508030502010503
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Using is is supposed to be pretty much straightforward :
If you have installed EMF Compare inside Eclipse, make sure that you add the file
extension .uml in the "Model File" content-type. of the the preference panel (in "General"
then "Content types"), and then all you have to do is right click on a couple of models
and compare them as you would do fore files. Or compare with a repository version of your
model, again as you would do for files, then the gui will open.
Stephane LACRAMPE
Obeo
Jan Reimann a
Stephane LACRAMPE
Obeo Canada
|
|
|
|
Re: Writing a DiffModel as .uml [message #608848 is a reply to message #91303] |
Mon, 23 July 2007 12:37 |
|
This is a multi-part message in MIME format.
--------------040609050100050506060706
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Jan,
This isn't a normal behavior, there *should* be a content type named
"Model File" under eclipse : window => preferences => General => Content
Types for you to add the files to use EMF Compare with. "*.ecore",
"*.uml" and "*.emfdiff" are filled automatically, which is why EMF
Compare's GUI opened for your models.
Opening the compare editor by code is not possible as yet for some of
the needed packages are not visible by third party contributions. It
should be possible in the final 0.7 release via
" org.eclipse.emf.compare.ui.editor.ModelCompareEditorLauncher #open(File) ".
As for documentation, apart from the javadoc found under eclipse in
"Help => help contents => EMF Compare - Developer Guide => References",
we do not have any accessible online.
Laurent Goubet
Obeo
Jan Reimann a
|
|
|
|
Re: Writing a DiffModel as .uml [message #608851 is a reply to message #91332] |
Mon, 23 July 2007 14:41 |
|
This is a multi-part message in MIME format.
--------------070807030309050300080609
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Jan,
Comments below.
Jan Reimann a
|
|
|
|
Re: Writing a DiffModel as .uml [message #608861 is a reply to message #91459] |
Tue, 24 July 2007 09:15 |
|
This is a multi-part message in MIME format.
--------------090506010507010004090108
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Jan,
EMFCompare RC2 is indeed the version you have, mine was slightly newer
as it is a source version I downloaded from the CVS.
The javadoc is not yet online, but will be in the future. It will be put
online with the rest of the documentation when we'll start writing and
uploading it.
As for the "Model file" content type, I attached here a screenshot of
the eclipse preferences where it belongs. If you don't have it, it might
be caused by a conflict with another of your plugins as this screenshot
has been taken with the exact same versions of EMF Compare and eclipse
than yours.
Laurent Goubet
Obeo
Jan Reimann a
|
|
|
|
Re: Writing a DiffModel as .uml [message #608867 is a reply to message #91569] |
Tue, 24 July 2007 09:44 |
|
This is a multi-part message in MIME format.
--------------020703060309040000030602
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Jan,
It could then come from your eclipse configuration. Did you try
launching eclipse with the -clean flag to allow it to properly detect
the new plugins?
Laurent Goubet
Obeo
Jan Reimann a
|
|
|
|
|