2012-02-09 3 views
0

わかりやすくするために、私は何種類かのクエリを記述する複数のXtext DSLを持っています。それらのうちの1つが私の「ベース」DSLです。私は今私のDSLの一つを私の "ベース" DSLに翻訳し、モデルの文字列表現を取得したいと思っています。EObjectツリー(モデル)からXtextResourceを取得する

私はその後、私は手動で(私はそのEmbeddedEditorから得た)ソース-DSLのXtextResourceを横断し、私のモデル(EObjectツリー)を構築するための目標-DSLファクトリを使用

MyDslFactory factory = new MyDslFactoryImpl(); 

経由EFactoryを作成しました。 今、私はそのモデルのテキスト表現を取得したいと思いますが、これは私が立ち往生する場所です。私はXtextResourceの文字列表現を取得する方法を知っているので、それは行く方法ですが、EObject-treeからXtextResourceを作成する方法はわかりません。 org.eclipse.xtext.junit.AbstractXtextTestsで

そこ方法

doGetResource(InputStream in, URI uri) 

ですが、今、私は私のモデルからInputStreamを取得する方法を見つけることができません。

オブジェクトツリーからXtextResourceを作成する方法はありますか?それとも、やりたいことを簡単にする方法はありますか?

答えて

2

テキストのシリアライゼーションだけが必要な場合は、注入を使用してorg.eclipse.xtext.serializer.ISerializerのインスタンスを取得する必要があります。

Formatterでいくつかの書式設定規則を定義していることを確認してください。そうでなければ、出力の可読性は少し「限定」になります;-)

関連する問題