Load xmi file of UML2 Model [message #471809] |
Mon, 26 March 2007 11:57  |
Eclipse User |
|
|
|
Originally posted by: sliles.gmu.edu
Hello,
I cannot find any example code that explains how to load an existing
..xmi. If you have a link that can explain this read not further and send me
the link. If not read on and look at the code a cobbled together by looking
at the javadoc for UML2 and EMF. Thanks in advance!!
I have worked through the getting started with UML2 article. I
understand what is covered there. I am interested in reading an existing
model using the API then using the API to access the various parts of the
model. Specifically I will be looking through the activity diagram for
specific information and translating to another form. I think once I get it
loaded the examples for the "Getting Started with UML2" article will be much
more applicable to my application.
Here is my code for reading an xmi file that came from rational system
developer. The header is reproduced below.
<uml:Model xmi:version="2.1"
xsi:schemaLocation="http://schema.omg.org/spec/UML/2.1.1
http://www.eclipse.org/uml2/2.0.0/UML" xmi:id="_YjKpJNiXEduqsZWui7bccg"
name="SmallPrototype">
CODE for loadModel.
public Model loadModel() {
String file = "Simple.xmi";
ResourceSet resourceSet = new ResourceSetImpl();
Resource.Factory.Registry rfr = new ResourceFactoryRegistryImpl();
resourceSet.setResourceFactoryRegistry(rfr);
URI uri = URI.createFileURI(file);
rfr.getFactory(uri);
resourceSet.setResourceFactoryRegistry(rfr);
Resource resource = resourceSet.getResource(uri, true);
model = (Model)
org.eclipse.emf.ecore.util.EcoreUtil.getObjectByType(resourc e.getContents(),
org.eclipse.uml2.uml.UMLPackage.Literals.MODEL);
return model;
}//end loadModel
Thanks,
Stewart Liles
|
|
|
Re: Load xmi file of UML2 Model [message #471810 is a reply to message #471809] |
Mon, 26 March 2007 17:24  |
Eclipse User |
|
|
|
Hi Stewart,
I'm not sure if you downloaded the source for the getting started articles.
There are example load() functions that will do what you want.
It doesn't really matter what extension your model has as long as the UML
resource factory is registered against that extension but typically .uml
would be the extension.
You might also want to have a look at :
http://www.eclipse.org/modeling/mdt/uml2/docs/guides/UML2_2. 0_Migration_Guide/guide.html
( scroll toward the bottom ) for examples of loading models in a stand
alone application.
You shouldn't have to create a new resource factory as you have done below.
Regards,
- James
"Stewart Liles" <sliles@gmu.edu> wrote in message
news:eu8qeo$m3u$1@utils.eclipse.org...
> Hello,
> I cannot find any example code that explains how to load an existing
> .xmi. If you have a link that can explain this read not further and send
me
> the link. If not read on and look at the code a cobbled together by
looking
> at the javadoc for UML2 and EMF. Thanks in advance!!
> I have worked through the getting started with UML2 article. I
> understand what is covered there. I am interested in reading an existing
> model using the API then using the API to access the various parts of the
> model. Specifically I will be looking through the activity diagram for
> specific information and translating to another form. I think once I get
it
> loaded the examples for the "Getting Started with UML2" article will be
much
> more applicable to my application.
>
> Here is my code for reading an xmi file that came from rational system
> developer. The header is reproduced below.
> <uml:Model xmi:version="2.1"
> xsi:schemaLocation="http://schema.omg.org/spec/UML/2.1.1
> http://www.eclipse.org/uml2/2.0.0/UML" xmi:id="_YjKpJNiXEduqsZWui7bccg"
> name="SmallPrototype">
>
> CODE for loadModel.
>
> public Model loadModel() {
> String file = "Simple.xmi";
> ResourceSet resourceSet = new ResourceSetImpl();
> Resource.Factory.Registry rfr = new ResourceFactoryRegistryImpl();
> resourceSet.setResourceFactoryRegistry(rfr);
> URI uri = URI.createFileURI(file);
>
> rfr.getFactory(uri);
> resourceSet.setResourceFactoryRegistry(rfr);
> Resource resource = resourceSet.getResource(uri, true);
> model = (Model)
>
org.eclipse.emf.ecore.util.EcoreUtil.getObjectByType(resourc e.getContents(),
> org.eclipse.uml2.uml.UMLPackage.Literals.MODEL);
>
> return model;
> }//end loadModel
>
> Thanks,
> Stewart Liles
>
>
|
|
|
Re: Load xmi file of UML2 Model [message #603180 is a reply to message #471809] |
Mon, 26 March 2007 17:24  |
Eclipse User |
|
|
|
Hi Stewart,
I'm not sure if you downloaded the source for the getting started articles.
There are example load() functions that will do what you want.
It doesn't really matter what extension your model has as long as the UML
resource factory is registered against that extension but typically .uml
would be the extension.
You might also want to have a look at :
http://www.eclipse.org/modeling/mdt/uml2/docs/guides/UML2_2. 0_Migration_Guide/guide.html
( scroll toward the bottom ) for examples of loading models in a stand
alone application.
You shouldn't have to create a new resource factory as you have done below.
Regards,
- James
"Stewart Liles" <sliles@gmu.edu> wrote in message
news:eu8qeo$m3u$1@utils.eclipse.org...
> Hello,
> I cannot find any example code that explains how to load an existing
> .xmi. If you have a link that can explain this read not further and send
me
> the link. If not read on and look at the code a cobbled together by
looking
> at the javadoc for UML2 and EMF. Thanks in advance!!
> I have worked through the getting started with UML2 article. I
> understand what is covered there. I am interested in reading an existing
> model using the API then using the API to access the various parts of the
> model. Specifically I will be looking through the activity diagram for
> specific information and translating to another form. I think once I get
it
> loaded the examples for the "Getting Started with UML2" article will be
much
> more applicable to my application.
>
> Here is my code for reading an xmi file that came from rational system
> developer. The header is reproduced below.
> <uml:Model xmi:version="2.1"
> xsi:schemaLocation="http://schema.omg.org/spec/UML/2.1.1
> http://www.eclipse.org/uml2/2.0.0/UML" xmi:id="_YjKpJNiXEduqsZWui7bccg"
> name="SmallPrototype">
>
> CODE for loadModel.
>
> public Model loadModel() {
> String file = "Simple.xmi";
> ResourceSet resourceSet = new ResourceSetImpl();
> Resource.Factory.Registry rfr = new ResourceFactoryRegistryImpl();
> resourceSet.setResourceFactoryRegistry(rfr);
> URI uri = URI.createFileURI(file);
>
> rfr.getFactory(uri);
> resourceSet.setResourceFactoryRegistry(rfr);
> Resource resource = resourceSet.getResource(uri, true);
> model = (Model)
>
org.eclipse.emf.ecore.util.EcoreUtil.getObjectByType(resourc e.getContents(),
> org.eclipse.uml2.uml.UMLPackage.Literals.MODEL);
>
> return model;
> }//end loadModel
>
> Thanks,
> Stewart Liles
>
>
|
|
|
Powered by
FUDForum. Page generated in 0.03945 seconds