| Register XMI without ECORE source [message #854459] |
Mon, 23 April 2012 21:12  |
Juan Castel Messages: 20 Registered: April 2012 |
Junior Member |
|
|
Hi, everyone.
I've been resolving a lot of issues here, and now I'm half way:
- after discovering a Java project by MoDisco Java Discoverer, how could I load the resultant XMI model in some XMIResource and navigate? I did so with an Ecore file.
What if I only have the XMI model?
ResourceSet resourceSet = new ResourceSetImpl(); resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl()); resourceSet.getPackageRegistry().put(MyMModelPackage.eNS_URI,MyMModelPackage.eINSTANCE);
File file = new File("C:\\Users\\USER\\workspace\\mmodels\\MyMModel.ecore");
//System.out.println(file);
URI uri = URI.createFileURI(file.getAbsolutePath());
//System.out.println(uri);
Resource resource = resourceSet.getResource(uri, true);
The above code works fine, but without the Ecore file, I can't figure it out.
By the way, I got the code from MyMModel.ecore-->MyMModel.genmodel->generate test code->*tests folders; thanks to this forum.
Thank you.
|
|
|
| Re: Register XMI without ECORE source [message #854692 is a reply to message #854459] |
Tue, 24 April 2012 02:50   |
Ed Merks Messages: 24529 Registered: July 2009 |
Senior Member |
|
|
On 24/04/2012 3:12 AM, Juan Castel wrote:
> Hi, everyone.
>
> I've been resolving a lot of issues here, and now I'm half way:
>
> - after discovering a Java project by MoDisco Java Discoverer, how
> could I load the resultant XMI model in some XMIResource and navigate?
> I did so with an Ecore file.
>
> What if I only have the XMI model?
>
>
> ResourceSet resourceSet = new ResourceSetImpl();
> resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
> (Resource.Factory.Registry.DEFAULT_EXTENSION, new
> XMIResourceFactoryImpl());
> resourceSet.getPackageRegistry().put(MyMModelPackage.eNS_URI,MyMModelPackage.eINSTANCE);
> File file = new
> File("C:\\Users\\USER\\workspace\\mmodels\\MyMModel.ecore");
You registrations are for reading instances of the generated model. Why
do you also need to read the original model into a resource? I'd expect
you to be reading instances at this point.
> //System.out.println(file);
> URI uri = URI.createFileURI(file.getAbsolutePath());
> //System.out.println(uri);
> Resource resource = resourceSet.getResource(uri, true);
>
> The above code works fine, but without the Ecore file, I can't figure
> it out.
>
> By the way, I got the code from
> MyMModel.ecore-->MyMModel.genmodel->generate test code->*tests
> folders; thanks to this forum.
>
> Thank you.
|
|
|
| Re: Register XMI without ECORE source [message #855721 is a reply to message #854692] |
Tue, 24 April 2012 23:40  |
Juan Castel Messages: 20 Registered: April 2012 |
Junior Member |
|
|
Thank you, Ed.
I actually have advanced a lot: I already have the Enterprise Architect XMI exported file and know a way to navigate through its UML elements. I attach the code for reference. This file is one of two inputs.
On the other hand, I exported a JAR file containing the parsing of the entire Ecore metamodel so I can build metaclasses out of the Ecore. An XMI model will be constructed with information about the first input.
Now I have the XMI model conforming to Java metamodel, discovered by MoDisco toolbox, but I get this exception in a standalone:
Package with uri '...MoDisco/Java/0.2.incubation/java' not found. (file:/C:/Users/USER/workspace/Dc3AdminEJB/Dc3AdminEJB_java.xmi, 2, 208)
(The forum editor won't let me post links unless 25 messages posted by me.)
The file Dc3AdminEJB_java.xmi was the result of java discoverer by MoDisco.
I guess the question is how to register MoDisco java metamodel.
Thanks.
|
|
|
Powered by
FUDForum. Page generated in 0.01624 seconds