Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » Programmatically Generate Eclipse Project (Edit Code, etc.)
Programmatically Generate Eclipse Project (Edit Code, etc.) [message #1716230] Wed, 02 December 2015 11:14 Go to next message
Florian Goenner is currently offline Florian GoennerFriend
Messages: 15
Registered: December 2015
Junior Member
I am currently working on a project for generating .genmodel files and according to that, model code, edit code and so on from a given .ecore file into a desired directory. Generating model code works just fine for me, however, after invoking
generator.generate(genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, new BasicMonitor.Printing(System.out));
my resulting file only consists of the generated source code, plugin xml, etc. but without the eclipse specific project files (.classpath, compiled java code - bin directory -, .project file). Compared to that, right clicking the .genmodel file -> generate edit code gives me the desired result with the project popping up in the workspace.

Do you have any hints how to achieve that?

Thanks in advance!
Re: Programmatically Generate Eclipse Project (Edit Code, etc.) [message #1716254 is a reply to message #1716230] Wed, 02 December 2015 13:50 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33140
Registered: July 2009
Senior Member
Florian,

You should look in
org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter.ensureProjectExists(String,
Object, Object, boolean, Monitor). Perhaps
org.eclipse.emf.common.EMFPlugin.IS_ECLIPSE_RUNNING is false.

On 02/12/2015 2:12 PM, Florian Goenner wrote:
> I am currently working on a project for generating .genmodel files and
> according to that, model code, edit code and so on from a given .ecore
> file into a desired directory. Generating model code works just fine
> for me, however, after invoking generator.generate(genModel,
> GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, new
> BasicMonitor.Printing(System.out)); my resulting file only consists of
> the generated source code, plugin xml, etc. but without the eclipse
> specific project files (.classpath, compiled java code - bin directory
> -, .project file). Compared to that, right clicking the .genmodel file
> -> generate edit code gives me the desired result with the project
> popping up in the workspace.
> Do you have any hints how to achieve that?
>
> Thanks in advance!
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Programmatically Generate Eclipse Project (Edit Code, etc.) [message #1716839 is a reply to message #1716254] Tue, 08 December 2015 13:52 Go to previous messageGo to next message
Florian Goenner is currently offline Florian GoennerFriend
Messages: 15
Registered: December 2015
Junior Member
Thanks!

I now changed my project to an RCP Application, however, when calling the generation process anew, I am getting the following:

>>  Generating code
>>  Generating edit packages
>>  Creating EMF project TestBookStoreProject.edit (TestBookStoreProject.edit)
>>  Opening 'TestBookStoreProject.edit'.
>>  Refreshing '/TestBookStoreProject.edit'.
org.eclipse.core.runtime.CoreException: Problems encountered while setting project description.
	at org.eclipse.core.internal.resources.Project.setDescription(Project.java:1349)
	at org.eclipse.core.internal.resources.Project.setDescription(Project.java:1376)
	at org.eclipse.emf.codegen.ecore.Generator$EclipseHelper.createEMFProject(Generator.java:836)
	at org.eclipse.emf.codegen.ecore.Generator.createEMFProject(Generator.java:547)
	at org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter$EclipseHelper.ensureProjectExists(GenBaseGeneratorAdapter.java:517)
	at org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter.ensureProjectExists(GenBaseGeneratorAdapter.java:346)
	at org.eclipse.emf.codegen.ecore.genmodel.generator.GenModelGeneratorAdapter.generateEdit(GenModelGeneratorAdapter.java:302)
	at org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter.doGenerate(GenBaseGeneratorAdapter.java:219)
	at org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.generate(AbstractGeneratorAdapter.java:317)
	at org.eclipse.emf.codegen.ecore.generator.Generator.generate(Generator.java:708)
	at org.eclipse.emf.codegen.ecore.generator.Generator.generate(Generator.java:619)
	at org.eclipse.emf.codegen.ecore.Generator$PlatformRunnable$1.run(Generator.java:436)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2313)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2295)
	at org.eclipse.emf.codegen.ecore.Generator$PlatformRunnable.run(Generator.java:466)
	at org.eclipse.emf.codegen.ecore.Generator.run(Generator.java:112)
	at at.jku.sea.cloud.gmf.adapter.plugin.utils.PluginGenerator.generateEditCode(PluginGenerator.java:118)
	at at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication.start(GMFApplication.java:28)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Contains: Nature does not exist: org.eclipse.pde.PluginNature.


I am utterly confused what that means (as I am not absolutely familiar with Eclipse Plug-In Development)

For reference, here is my plugin.xml:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

   <extension
         id="GMFApplication"
         point="org.eclipse.core.runtime.applications">
      <application>
         <run
               class="at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication">
         </run>
      </application>
   </extension>

</plugin>			


Currently, I am calling the code generation process in this manner:

org.eclipse.emf.codegen.ecore.Generator gen = new org.eclipse.emf.codegen.ecore.Generator();
		ArrayList<String> args = new ArrayList<String>();
		args.add("-autoBuild");
		args.add("-reconcile");
		args.add("-model");
		args.add(genModelLocation);
		String[] argsArr = args.toArray(new String[args.size()]);
		gen.run(argsArr);


Again, any help would be greatly appreciated!

[Updated on: Tue, 08 December 2015 14:04]

Report message to a moderator

Re: Programmatically Generate Eclipse Project (Edit Code, etc.) [message #1716842 is a reply to message #1716839] Tue, 08 December 2015 14:07 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33140
Registered: July 2009
Senior Member
Florian,

We do try to set the natures, and one of those is the PDE nature. It
looks like that nature must exist so that implies that the PDE Core
plugin needs to be part of your launch. Same goes for the Java nature.


On 08/12/2015 2:52 PM, Florian Goenner wrote:
> Thanks!
> I now changed my project to an RCP Application, however, when calling
> the generation process anew, I am getting the following:
>
>>> Generating code
>>> Generating edit packages
>>> Creating EMF project TestBookStoreProject.edit
>>> (TestBookStoreProject.edit)
>>> Opening 'TestBookStoreProject.edit'.
>>> Refreshing '/TestBookStoreProject.edit'.
> org.eclipse.core.runtime.CoreException: Problems encountered while
> setting project description.
> at
> org.eclipse.core.internal.resources.Project.setDescription(Project.java:1349)
> at
> org.eclipse.core.internal.resources.Project.setDescription(Project.java:1376)
> at
> org.eclipse.emf.codegen.ecore.Generator$EclipseHelper.createEMFProject(Generator.java:836)
> at
> org.eclipse.emf.codegen.ecore.Generator.createEMFProject(Generator.java:547)
> at
> org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter$EclipseHelper.ensureProjectExists(GenBaseGeneratorAdapter.java:517)
> at
> org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter.ensureProjectExists(GenBaseGeneratorAdapter.java:346)
> at
> org.eclipse.emf.codegen.ecore.genmodel.generator.GenModelGeneratorAdapter.generateEdit(GenModelGeneratorAdapter.java:302)
> at
> org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter.doGenerate(GenBaseGeneratorAdapter.java:219)
> at
> org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.generate(AbstractGeneratorAdapter.java:317)
> at
> org.eclipse.emf.codegen.ecore.generator.Generator.generate(Generator.java:708)
> at
> org.eclipse.emf.codegen.ecore.generator.Generator.generate(Generator.java:619)
> at
> org.eclipse.emf.codegen.ecore.Generator$PlatformRunnable$1.run(Generator.java:436)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2313)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2295)
> at
> org.eclipse.emf.codegen.ecore.Generator$PlatformRunnable.run(Generator.java:466)
> at org.eclipse.emf.codegen.ecore.Generator.run(Generator.java:112)
> at
> at.jku.sea.cloud.gmf.adapter.plugin.utils.PluginGenerator.generateEditCode(PluginGenerator.java:118)
> at
> at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication.start(GMFApplication.java:28)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
> Contains: Nature does not exist: org.eclipse.pde.PluginNature.
>
>
> I am utterly confused what that means (as I am not absolutely familiar
> with Eclipse Plug-In Development)
>
> For reference, here is my plugin.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <?eclipse version="3.4"?>
> <plugin>
>
> <extension
> id="GMFApplication"
> point="org.eclipse.core.runtime.applications">
> <application>
> <run
> class="at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication">
> </run>
> </application>
> </extension>
>
> </plugin>
>
>
> Again, any help would be greatly appreciated!


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Programmatically Generate Eclipse Project (Edit Code, etc.) [message #1716848 is a reply to message #1716842] Tue, 08 December 2015 14:48 Go to previous messageGo to next message
Florian Goenner is currently offline Florian GoennerFriend
Messages: 15
Registered: December 2015
Junior Member
After adding
org.eclipse.pde.core
to the required Plug-In's in my MANIFEST.MF, I am receiving the following:

!SESSION 2015-12-08 15:22:21.971 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_45
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments:  -application at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication
Command-line arguments:  -application at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication -data C:\Users\Florian\Desktop\workspace/../runtime-at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication -dev file:C:/Users/Florian/Desktop/workspace/.metadata/.plugins/org.eclipse.pde.core/at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog

!ENTRY at.jku.sea.cloud.gmf.adapter.plugin 2 0 2015-12-08 15:22:22.616
!MESSAGE Could not resolve module: at.jku.sea.cloud.gmf.adapter.plugin [23]
  Unresolved requirement: Require-Bundle: org.eclipse.pde.core; bundle-version="3.10.2"


!ENTRY org.eclipse.osgi 4 0 2015-12-08 15:22:22.617
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: Application "at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication" could not be found in the registry. The applications available are: org.eclipse.jdt.core.JavaCodeFormatter, org.eclipse.jdt.core.JavaIndexer, org.eclipse.emf.mwe.core.WorkflowRunner, org.eclipse.emf.codegen.ecore.Generator, org.eclipse.ant.core.antRunner, org.eclipse.emf.codegen.CodeGen, org.eclipse.emf.codegen.JMerger, org.eclipse.equinox.app.error.
	at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248)
	at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
An error has occurred. See the log file
C:\Users\Florian\Desktop\workspace\.metadata\.plugins\org.eclipse.pde.core\at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication\1449584542116.log.


Furthermore, after inspecting the produced .project file I also realized, that the entire content of the buildSpec section was missing...
It looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>TestBookStoreProject</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
	</buildSpec>
	<natures>
	</natures>
</projectDescription>


Sorry for the inconvenience I might cause!
Re: Programmatically Generate Eclipse Project (Edit Code, etc.) [message #1716856 is a reply to message #1716848] Tue, 08 December 2015 15:48 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33140
Registered: July 2009
Senior Member
Florian,

It's an issue of what bundle are part of your launch configuration. I
don't know how you created the launch configuration, but be sure to
validate it.


On 08/12/2015 3:48 PM, Florian Goenner wrote:
> After adding org.eclipse.pde.core to the required Plug-In's in my
> MANIFEST.MF, I am receiving the following:
>
> !SESSION 2015-12-08 15:22:21.971
> -----------------------------------------------
> eclipse.buildId=unknown
> java.version=1.8.0_45
> java.vendor=Oracle Corporation
> BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
> Framework arguments: -application
> at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication
> Command-line arguments: -application
> at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication -data
> C:\Users\Florian\Desktop\workspace/../runtime-at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication
> -dev
> file:C:/Users/Florian/Desktop/workspace/.metadata/.plugins/org.eclipse.pde.core/at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication/dev.properties
> -os win32 -ws win32 -arch x86_64 -consoleLog
>
> !ENTRY at.jku.sea.cloud.gmf.adapter.plugin 2 0 2015-12-08 15:22:22.616
> !MESSAGE Could not resolve module: at.jku.sea.cloud.gmf.adapter.plugin
> [23]
> Unresolved requirement: Require-Bundle: org.eclipse.pde.core;
> bundle-version="3.10.2"
>
>
> !ENTRY org.eclipse.osgi 4 0 2015-12-08 15:22:22.617
> !MESSAGE Application error
> !STACK 1
> java.lang.RuntimeException: Application
> "at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication" could not be
> found in the registry. The applications available are:
> org.eclipse.jdt.core.JavaCodeFormatter,
> org.eclipse.jdt.core.JavaIndexer,
> org.eclipse.emf.mwe.core.WorkflowRunner,
> org.eclipse.emf.codegen.ecore.Generator,
> org.eclipse.ant.core.antRunner, org.eclipse.emf.codegen.CodeGen,
> org.eclipse.emf.codegen.JMerger, org.eclipse.equinox.app.error.
> at
> org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248)
> at
> org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
> An error has occurred. See the log file
> C:\Users\Florian\Desktop\workspace\.metadata\.plugins\org.eclipse.pde.core\at.jku.sea.cloud.gmf.adapter.plugin.GMFApplication\1449584542116.log.
>
>
>
> Furthermore, after inspecting the produced .project file I also
> realized, that the entire content of the buildSpec section was
> missing... It looks like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <projectDescription>
> <name>TestBookStoreProject</name>
> <comment></comment>
> <projects>
> </projects>
> <buildSpec>
> </buildSpec>
> <natures>
> </natures>
> </projectDescription>
>
>
> Sorry for the inconvenience I might cause!


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Programmatically Generate Eclipse Project (Edit Code, etc.) [message #1716866 is a reply to message #1716856] Tue, 08 December 2015 16:54 Go to previous messageGo to next message
Florian Goenner is currently offline Florian GoennerFriend
Messages: 15
Registered: December 2015
Junior Member
Thanks for all your help Ed!

My run configuration was really messed up (was missing a ton of equinox plugins)
Thing runs smoothly now

Best regards,

Florian
Re: Programmatically Generate Eclipse Project (Edit Code, etc.) [message #1723042 is a reply to message #1716230] Thu, 11 February 2016 08:57 Go to previous messageGo to next message
Zille Huma is currently offline Zille HumaFriend
Messages: 6
Registered: February 2016
Junior Member
Hi Florian,

I am also trying to generate genmodel for an ecore model in a standalone app. A snippet of the code so far is as follows:

//create .ecore
File outputFile = new File(ecoreOutputPath);
Files.createFile(outputFile.toPath());
Iterator<EPackage> i=result.iterator();
EPackage ep=(EPackage)i.next();
Resource res = set.createResource(URI.createURI(ep.getNsURI()));
res.getContents().add(ep);
res.setURI(URI.createFileURI(ecoreOutputPath));
res.save(new FileOutputStream(outputFile), null);

//create .genmodel
GenModel genModel = GenModelFactory.eINSTANCE.createGenModel();
genModel.setComplianceLevel(GenJDKLevel.JDK70_LITERAL);

can you please guide me how did you generate the genmodel. It would be great help. thanks
Re: Programmatically Generate Eclipse Project (Edit Code, etc.) [message #1723720 is a reply to message #1723042] Wed, 17 February 2016 11:11 Go to previous message
Florian Goenner is currently offline Florian GoennerFriend
Messages: 15
Registered: December 2015
Junior Member
Zille,

This is my code snippet for creating a genmodel

public void createGenModel(final String ecoreLocation,final String genModelDirectory, final String modelCodeDirectory, final String modelPlugInID, final String modelName, final String basePackage, final String prefix)
			throws IOException {
		GenModel genModel = GenModelFactory.eINSTANCE.createGenModel();
		genModel.setComplianceLevel(GenJDKLevel.JDK70_LITERAL);
		genModel.setModelDirectory(modelCodeDirectory);
		genModel.setModelPluginID(modelPlugInID);
		genModel.getForeignModel().add(new Path(ecoreLocation).lastSegment());
		genModel.setModelName(modelName);
		// genModel.setRootExtendsInterface(Constants.GEN_MODEL_EXTENDS_INTERFACE.getValue());
		genModel.initialize(Collections.singleton(loadECoreFile(ecoreLocation)));
		
		GenPackage genPackage = genModel.getGenPackages().get(0);
		genPackage.setPrefix(prefix);
		genPackage.setBasePackage(basePackage);

		try {
			URI genModelURI = URI.createFileURI(genModelDirectory);
			final XMIResourceImpl genModelResource = new XMIResourceImpl(
					genModelURI);
			// genModelResource.getDefaultSaveOptions().put(XMLResource.OPTION_ENCODING,
			// Constants.GEN_MODEL_XML_ENCODING.getValue());
			genModelResource.getContents().add(genModel);
			genModelResource.save(Collections.EMPTY_MAP);
		} catch (IOException e) {
			String msg = null;
			if (e instanceof FileNotFoundException) {
				msg = "Unable to open output file ";
			} else {
				msg = "Unexpected IO Exception writing ";
			}
			throw new RuntimeException(msg, e);
		}
	}


here an example usage: createGenModel(ecorePath, genmodelToDirectory, "/MindmapProject/src", "MindmapProject", "Mindmap", "testpackage", "Mindmap");
Previous Topic:EOperation invocation
Next Topic:generating XMI ID's instead of URI fragment's
Goto Forum:
  


Current Time: Thu Apr 25 05:30:21 GMT 2024

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

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

Back to the top