Генерация кода Java с помощью Xtend и Sirius

Итак, моя цель — создать графический DSL. Я создал модель ecore с помощью Eclipse Modeling Framework, после этого я использовал Sirius для создания инструмента графического моделирования, и у меня возникли проблемы с последним шагом, который генерирует код Java. Я хотел бы использовать Xtend для его создания. Любые предложения, что было бы лучшим способом сделать это, или некоторые полезные ссылки?


person user777    schedule 05.06.2018    source источник


Ответы (1)


Есть два аспекта:

  1. сам генератор Xtend, который может быть разработан и протестирован независимо от Sirius. Он примет в качестве входных данных ваши файлы/модели DSL (а не файлы .aird или .odesign из Sirius) и создаст все, что вы хотите. Я не могу помочь в этом аспекте.
  2. интеграция генерации с моделлером на базе Sirius.

Предполагая, что вы знаете, как программно вызвать генератор Xtend, есть несколько способов запустить его изнутри Sirius. Например, вы можете использовать тип Всплывающее меню. инструмент, чтобы добавить запись в контекстное меню вашего моделлера, который затем может вызывать любой код Java, который вы хотите, и запускать оттуда генератор.

Вот что делает Ecore Tools для запуска генератора кода EMF GenModel: объявляет всплывающее меню, которое вызывает этот класс Java для выполнения фактической генерации.

person pcdavid    schedule 06.06.2018
comment
Что ж, когда я создаю экземпляр для своей модели ecore и указываю для него точку обзора, используя sirius в файле .odesign, я хотел бы сгенерировать код из диаграммы, которую я создаю, используя эту точку зрения. - person user777; 06.06.2018
comment
Я застрял на генерации кода из моего DSL-файла с помощью Xtend. Не могли бы вы предоставить ссылку на какой-либо контент, который мог бы мне в этом помочь. - person user777; 06.06.2018