Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » M2M (model-to-model transformation) » Re: Problem with href
Re: Problem with href [message #493202] Fri, 23 October 2009 15:12
Eclipse UserFriend
Originally posted by: fabrice.lima.lopes.gmail.com

Thank u for reply Cédric.

Yes i registered all the required ecore models in the EPackage registry
in my Java code.

------------------------------------------------------------ -------------
------------------------------------------------------------ -------------
package atl;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.HashMap;

import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.m2m.atl.core.ATLCoreException;
import org.eclipse.m2m.atl.core.IReferenceModel;
import org.eclipse.m2m.atl.core.emf.EMFExtractor;
import org.eclipse.m2m.atl.core.emf.EMFInjector;
import org.eclipse.m2m.atl.core.emf.EMFModel;
import org.eclipse.m2m.atl.core.emf.EMFModelFactory;
import org.eclipse.m2m.atl.core.launch.ILauncher;
import org.eclipse.m2m.atl.engine.emfvm.launch.EMFVMLauncher;

import
com.sebastian2.server.domainobject.emfobject.referential.Ref erentialPackage;

import fcp.FcpPackage;
import fcp.util.FcpResourceFactoryImpl;

public class ToReferential {

public static void main(String[] args) throws ATLCoreException,
FileNotFoundException {

// Préparation de la factory EMF
FcpPackage fcpPackage = FcpPackage.eINSTANCE;
ReferentialPackage refPackage = ReferentialPackage.eINSTANCE;

EMFModelFactory factory = new EMFModelFactory();
factory.getResourceSet().getResourceFactoryRegistry()
.getExtensionToFactoryMap().put("xml",
new FcpResourceFactoryImpl());
factory.getResourceSet().getResourceFactoryRegistry()
.getExtensionToFactoryMap().put("xmi",
new XMIResourceFactoryImpl());
factory.getResourceSet().getPackageRegistry().put(
fcpPackage.getNsURI(), fcpPackage);
factory.getResourceSet().getPackageRegistry().put(
refPackage.getNsURI(), refPackage);

// Chargement des metamodèles
EMFInjector injector = new EMFInjector();
IReferenceModel fcpMetaModel = factory.newReferenceModel();
injector.inject(fcpMetaModel, fcpPackage.eResource());
IReferenceModel refMetaModel = factory.newReferenceModel();
injector.inject(refMetaModel, refPackage.eResource());

// Chargement du montage Fcp
EMFModel fcpModel = (EMFModel) factory.newModel(fcpMetaModel);
injector.inject(fcpModel, "file:/"
+ new File("Model/fcp.xml").getAbsolutePath());

// Lancement de la transformation ATL
EMFModel refModel = (EMFModel) factory.newModel(refMetaModel);
EMFVMLauncher launcher = new EMFVMLauncher();
launcher.initialize(null);
launcher.addInModel(fcpModel, "IN", "FCP");
launcher.addOutModel(refModel, "OUT", "Sebastian");

InputStream atlStream = new FileInputStream(
"Transformations/FCPToSebastian.asm");
HashMap<String, Object> parameters = new HashMap<String, Object>();
launcher.launch(ILauncher.RUN_MODE, new NullProgressMonitor(),
parameters, atlStream);

// Ecriture du modèle Fcp
HashMap<String, Object> options = new HashMap<String, Object>();
EMFExtractor extractor = new EMFExtractor();
extractor.extract(refModel, "file:/"
+ new File("Model/Sebastian.xmi").getAbsolutePath(),options);
}
}
Previous Topic:[QVTO] removing a collection
Next Topic:[QVTO] Adding variables to QVTO environment
Goto Forum:
  


Current Time: Thu Apr 18 15:02:47 GMT 2024

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

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

Back to the top