Ради простоты скажем, у меня есть несколько Xtext DSL, которые все описывают какой-то запрос. Одним из них является мой «базовый» DSL. Теперь я хотел бы перевести один из моих DSL в мой «базовый» DSL и получить строковое представление модели.
Я создал EFactory через
MyDslFactory factory = new MyDslFactoryImpl();
Затем я вручную обхожу XtextResource исходного DSL (я получил это из EmbeddedEditor) и использую фабрику target-DSL для построения моей модели (дерева EObject).
Теперь я хотел бы получить текстовое представление этой модели, но именно здесь я застрял. Я знаю, как получить строковое представление XtextResource, так что я думаю, что это путь, но я не знаю, как создать XtextResource из EObject-дерева.
В org.eclipse.xtext.junit.AbstractXtextTests есть метод
doGetResource(InputStream in, URI uri)
но сейчас я не нахожу способ получить InputStream от моей модели.
Есть ли способ создать XtextResource из дерева объектов или есть более простой способ сделать то, что я хотел бы сделать?