|
Re: [ATL] AtlLaunch [message #74058 is a reply to message #74001] |
Thu, 31 January 2008 11:28 |
wong Messages: 54 Registered: July 2009 |
Member |
|
|
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.
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.02077 seconds