2012-07-19 3 views
1

Я пытаюсь преобразовать Acceleo из BPEL в Java. Я сделал 2 или 3 учебника, и все это связано с использованием моделей ввода UML, хотя я думаю, что понял, как мне работать с моделью bpel и ее мета-моделью bpel.ecore.Acceleo первые шаги для преобразования BPEL-файла в классы Java

Хотя, у меня возникла проблема при запуске очень простого преобразования, которое должно просто генерировать java-файл с именем моего файла процесса BPEL.

Вот мой Acceleo generate.mtl файл:

[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] 

и здесь входной .bpel файл (только часть):

<!-- 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> 

здесь ошибка я получаю:

Генерация не смогла сгенерировать какой-либо файл, поскольку нет элементов модели , которые соответствуют, по меньшей мере, типу первый параметр одного ваших основных шаблонов. Проблема может быть вызвана проблемой с регистрацией вашей метамодели «registerPackages» в Java-пусковой установке вашего генератора. Он мог бы также исходить из недостающего [комментария @ main /] в шаблоне, используемом как точка входа поколения.

Я использую Eclipse Modeling Юнона 4.2 и Acceleo 3.3.0 Спасибо :-)

ответ

0

Кажется, я обнаружил проблему.

Я загрузил и установил Eclipse Indigo Modeling 3.7.2, добавил плагин Acceleo 3.3 с сайта обновления, а плагин версии BPEL 1.0 и преобразование Acceleo сразу работают, никаких особых вещей делать я просто не делаю получить ошибку больше.

Я думаю, что проблема связана с тем, что я уже испытал здесь http://www.eclipse.org/forums/index.php/m/895663/#msg_895663, выполняя некоторые учебные пособия по BPEL, в рамках Eclipse Juno и плагина BPEL.

Надеется, что это поможет кто-то сталкивается с тем же проблемами

0

Эта ошибка обычно возникает, когда вы определяете «главный» шаблон на целевой тип, для которого ваша модель дон У меня есть какие-то случаи. В этом примере ваш основной шаблон:

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

определяется как элемент «Процесс» в качестве входных данных. Вы должны убедиться, что ваша модель ввода содержит элементы этого типа.

Пожалуйста, также обязательно зарегистрируйте свой завод по производству пакетов и ресурсов (необязательно, для файлов BPEL, возможно, не будет). Это делается в классе Java, сгенерированном рядом с вашим основным модулем: посмотрите примерную реализацию «registerPackage» и «registerFactories». Ваша регистрация BPEL должна быть близка к образцам, которые мы предоставляем.

+0

Привет Kellindil - относительно входного элемента, да у меня есть элемент «Process» в моем файле: AxA

+0

public void registerPackages (ResourceSet resourceSet) и public void registerResourceFactories (ResourceSet resourceSet) только в случае автономного генератора, правильно? В любом случае, я перепроверяю регистрационные образцы – AxA

+0

В случае автономности, да ... нормально. Eclipse должен позаботиться об этом для вас в номинальном случае, но некоторые пакеты нуждаются в специальной интеграции, которая выполняется только через собственных редакторов. Я не знаю BPEL, чтобы узнать, является ли это одним из этих случаев. – Kellindil