Domanda

I'm trying a transformation with Acceleo from BPEL to Java. I did 2 or 3 tutorials and all involved the use of UML input models, though I think I understood how I should deal with a bpel model and its bpel.ecore meta-model.

Though, I'm having a problem on running a very easy transformation which should just generate a java file with the name of my BPEL process file.

Here is my Acceleo generate.mtl file:

[comment encoding = UTF-8 /]
[module generate('http:///org/eclipse/bpel/model/bpel.ecore')]

[template public generateElement(aProcess : Process)]
[comment @main /]
[file (aProcess.name, false, 'UTF-8')]
[/file]
[/template]

and here the input .bpel file (just a part of it) :

<!-- BPEL_sayHelloProcess BPEL Process [Generated by the Eclipse BPEL Designer] -->
<!-- Date: Wed Jul 18 11:00:50 CEST 2012 -->
<bpel:process name="BPEL_sayHelloProcess"
         targetNamespace="http://bpeltojava.uni"
         suppressJoinFailure="yes"
....
....
</bpel:process>

here is the error I get:

The generation failed to generate any file because there are no model elements that matches at least the type of the first parameter of one of your main templates. The problem may be caused by a problem with the registration of your metamodel, please see the method named "registerPackages" in the Java launcher of your generator. It could also come from a missing [comment @main/] in the template used as the entry point of the generation.

I'm using Eclipse Modeling Juno 4.2 and Acceleo 3.3.0 Thank you :-)

È stato utile?

Soluzione 2

It seems I found out the problem.

I downloaded and installed Eclipse Indigo Modeling 3.7.2, added the Acceleo 3.3 plugin from the update site, and the BPEL plugin version 1.0 and the Acceleo transformation works right away, no particular things to do, I simply don't get the error anymore.

I think the problem relies, as I already experienced here http://www.eclipse.org/forums/index.php/m/895663/#msg_895663 while doing some tutorials on BPEL, within Eclipse Juno and the BPEL plugin.

Hope this will help somebody else encountering same troubles

Altri suggerimenti

This error usually arises when you define your 'main' template on a target type for which your model don't have any instances. In this example, your main template :

[template public generateElement(aProcess : Process)]
[comment @main /]

is defined to take "Process" elements as input. You need to make sure that your input model does contain elements of this type.

Please also make sure to properly register your package and resource factory (optional, there might not be any for BPEL files). This is done in the Java class generated beside your main module : look at the sample implementation of "registerPackage" and "registerFactories". Your BPEL registrations should look close to the samples we provide.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top