Bonjour,

J'essaie d'exécuter une transformation, essentiellement via le code donné ici : http://wiki.eclipse.org/QVTOML/Examples/InvokeInJava.

Cela fonctionne pour mes ressources:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    URI transformationURI = URI.createURI("platform:/resource/tests/transforms/ecore2uml.qvto");
    TransformationExecutor executor = new TransformationExecutor(transformationURI);
 
    ResourceSet resourceSet = new ResourceSetImpl();
    Resource inResource = resourceSet.getResource(URI.createURI("platform:/resource/tests/model/Model1.ecore"), true);        
    EList<EObject> inObjects = inResource.getContents();
 
    ModelExtent input = new BasicModelExtent(inObjects);        
    ModelExtent output = new BasicModelExtent();
 
    ExecutionContextImpl context = new ExecutionContextImpl();
    context.setConfigProperty("keepModeling",true);
 
    ExecutionDiagnostic result = executor.execute(context, input, output);
 
    if(result.getSeverity() == Diagnostic.OK) {
        // the output objects got captured in the output extent
        List<EObject> outObjects = output.getContents();
        // let's persist them using a resource 
        ResourceSet resourceSet2 = new ResourceSetImpl();
        Resource outResource = resourceSet2.getResource(URI.createURI("platform:/resource/tests/model/Model2.uml"), true);
Mais un message d'erreur se produit lorsque j'exécute cette transformation qvto :
Exception in thread "main" java.lang.RuntimeException: Cannot create a resource for 'platform:/resource/tests/model/Model1.ecore'; a registered resource factory is needed
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource (ResourceSetImpl.java:394) :
Ce qu'il a déclaré lors de la ressource est nul.

Je suis habitué d'une ressource .ecore.

Quelqu'un saurait-il m'expliquer ce qui ne va pas ?

Merci d'avance pour votre aide.