[ATL] AtlLaunch [message #74001] |
Wed, 30 January 2008 13:04  |
Eclipse User |
|
|
|
Hello,
I downloaded the the Atllaunch example from the
http://wiki.eclipse.org/ATL_Howtos. Then change the parameter to my own
model. But I got a empty outputInstance after the launch the AtlLaunch.
All my models and ams script are tested. And there is no exception come
out on the console window.
My workplace info: Eclipse, Ecore, EMF.
???????
Thank you for any help.
Wong.
|
|
|
Re: [ATL] AtlLaunch [message #74058 is a reply to message #74001] |
Thu, 31 January 2008 06:28   |
Eclipse User |
|
|
|
Hello,
I add the code here. It is a very basic transformation(From inputInstance
>> outputInstance), but I can not get it work. And no exception found Help
please.
I can put on ecore model and atl script well if you need.
------------------------------------------------------------ ---------------
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.net.URL;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.atl.eclipse.engine.AtlLauncher;
import org.atl.eclipse.engine.AtlModelHandler;
import org.atl.engine.vm.nativelib.ASMModel;
class ATLTransformations {
public static void main(String[] args) {
runATLTransformation();
}
public static void runATLTransformation() {
try {
AtlModelHandler emfamh =
AtlModelHandler.getDefault(AtlModelHandler.AMH_EMF);
URL asmurl = ATLTransformations.class.getResource("../DM2CG.asm");
ASMModel inputMetaModel = emfamh.loadModel("DOMAIN", emfamh.getMof(),
ATLTransformations.class.getResource("../Metamodels/skos2.ecore ").openStream());
ASMModel outputMetaModel = emfamh.loadModel("COURSE", emfamh.getMof(),
ATLTransformations.class.getResource("../Metamodels/Course.ecore ").openStream());
ASMModel inputInstance = emfamh.loadModel("inputInstance",
emfamh.getMof(),
ATLTransformations.class.getResource("../caviar.ecore").openStream());
ASMModel outputInstance;
Map<String, ASMModel> models = new HashMap<String, ASMModel>();
models.put(inputMetaModel.getName(), inputMetaModel);
models.put(outputMetaModel.getName(), outputMetaModel);
System.out.println("Trans MM: "+inputMetaModel.getName()+" >>>
"+outputMetaModel.getName());
models.put("IN", inputInstance); // input model
outputInstance = emfamh.newModel("coursexmi", outputMetaModel); //
output model
models.put("OUT", outputInstance);
System.out.println("Trans Instance: "+inputInstance.getName()+" >>>
"+outputInstance.getName());
Map params = Collections.EMPTY_MAP;
Map libs = Collections.EMPTY_MAP;
System.out.println("ASM: "+asmurl.getPath());
AtlLauncher.getDefault().launch(asmurl, libs, models, params);
OutputStream out = new FileOutputStream(new
File("C:/workspaceEclipse/Antworks/bin/zzzz.xmi"));
AtlModelHandler.getHandler(outputMetaModel).saveModel(output Instance,out);
System.out.println(outputInstance);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
-----------------------------------------------------------
Thank you for your help.
Wong.
|
|
|
|
|
|
|
Re: [ATL] AtlLauncher [message #74544 is a reply to message #74295] |
Tue, 05 February 2008 16:07  |
Eclipse User |
|
|
|
Hello,
Thank you for your reply. I updated all atl files to the newest version.
But I got this error. and Does the AtlLauncher work with eclipse 3.3 or I
have to use the 3.2 ?
Exception in thread "main" java.lang.NoClassDefFoundError:
org/eclipse/core/runtime/jobs/ISchedulingRule
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at
org.eclipse.m2m.atl.engine.AtlModelHandler.getDefault(AtlMod elHandler.java:55)
at JavaATL.ATLTransformations.runATLTransformation(JavaATL.java :51)
at JavaATL.ATLTransformations.main(JavaATL.java:43)
Thank you very much.
wong.
|
|
|
Powered by
FUDForum. Page generated in 0.13738 seconds