Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » loading genmodel in separate java application(Looking for code snippet to load and intraspect GaenModel object from *genmodel file created with EMF UI)
loading genmodel in separate java application [message #526082] Thu, 08 April 2010 16:06 Go to next message
Alexey  is currently offline Alexey Friend
Messages: 36
Registered: March 2010
Member
Looking for code snippet to load and intraspect in separate java app a GenModel object from *.genmodel file created with EMF UI.
The code found (below) does not work for me, all package lists are empty, though the genmodel name is right. Please help if you know how to make it work.
Thanks.
Alexey
------------------------------
String pathName = "./slot.genmodel";
URI uri = URI.createFileURI(pathName);

ResourceSet set = new ResourceSetImpl();
EcoreResourceFactoryImpl ecoreFactory = new EcoreResourceFactoryImpl();
Resource.Factory.Registry registry = set.getResourceFactoryRegistry();
Map<String, Object> map = registry.getExtensionToFactoryMap();
map.put("ecore", ecoreFactory);
map.put("genmodel", ecoreFactory);

GenModelPackage.eINSTANCE.eClass();

Resource res = set.getResource(uri, true);
try
{
res.load(new HashMap());
}
catch (IOException e)
{
}

GenModel genModel = null;
TreeIterator<EObject> list = res.getAllContents();
while (list.hasNext())
{
EObject obj = list.next();
if (obj instanceof GenModel)
{
genModel = (GenModel) obj;
break;
}
}
genModel.reconcile();
String modelName = genModel.getModelName();
System.out.println("genModel name: " + modelName);

String dir = genModel.getTemplateDirectory();
System.out.println(" - template did: " + dir);

List<String> staticPkgList = genModel.getStaticPackages();
System.out.println("staticPkgList size: " + staticPkgList.size());

List<GenPackage> genPkgs = genModel.getGenPackages();
System.out.println("genPkgs size: " + genPkgs.size());
Re: loading genmodel in separate java application [message #526089 is a reply to message #526082] Thu, 08 April 2010 16:13 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33142
Registered: July 2009
Senior Member
Alexey,

Comments below.

Alexey wrote:
> Looking for code snippet to load and intraspect in separate java app a
> GenModel object from *.genmodel file created with EMF UI. The code
> found (below) does not work for me, all package lists are empty,
> though the genmodel name is right. Please help if you know how to make
> it work.
> Thanks.
> Alexey
> ------------------------------
> String pathName = "./slot.genmodel";
Be sure to use an absolute path. E.g., new
java.io.File(pathName).getAbsolutePath().
> URI uri = URI.createFileURI(pathName);
>
> ResourceSet set = new ResourceSetImpl();
> EcoreResourceFactoryImpl ecoreFactory = new
> EcoreResourceFactoryImpl();
> Resource.Factory.Registry registry =
> set.getResourceFactoryRegistry();
> Map<String, Object> map = registry.getExtensionToFactoryMap();
> map.put("ecore", ecoreFactory);
> map.put("genmodel", ecoreFactory);
>
> GenModelPackage.eINSTANCE.eClass();
>
> Resource res = set.getResource(uri, true);
> try
> {
> res.load(new HashMap());
> }
> catch (IOException e)
> {
> }
>
> GenModel genModel = null;
> TreeIterator<EObject> list = res.getAllContents();
> while (list.hasNext())
> {
> EObject obj = list.next();
> if (obj instanceof GenModel)
> {
> genModel = (GenModel) obj;
> break;
> }
> }
> genModel.reconcile();
> String modelName = genModel.getModelName();
> System.out.println("genModel name: " + modelName);
>
> String dir = genModel.getTemplateDirectory();
> System.out.println(" - template did: " + dir);
>
> List<String> staticPkgList = genModel.getStaticPackages();
> System.out.println("staticPkgList size: " +
> staticPkgList.size());
>
> List<GenPackage> genPkgs = genModel.getGenPackages();
> System.out.println("genPkgs size: " + genPkgs.size());


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: loading genmodel in separate java application [message #527042 is a reply to message #526089] Tue, 13 April 2010 19:34 Go to previous message
Alexey  is currently offline Alexey Friend
Messages: 36
Registered: March 2010
Member
Thanks. Ed, works fine now.
Alexey
Previous Topic:importing modified xsd to the same EMF project
Next Topic:Quite empty editor project
Goto Forum:
  


Current Time: Fri Apr 26 19:41:27 GMT 2024

Powered by FUDForum. Page generated in 0.03117 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top