DMDL Editorプラグイン

この文書ではEclipseのDMDL Editorプラグインを紹介します。

DMDL Editorプラグインとは

DMDL EditorX は ひしだま氏が開発しているOSSのEclipseプラグインで、DMDLスクリプトファイルに関する編集機能 [1] を追加します。

まだ開発途上ですが、DMDLの編集が便利になります。

  • DMDLスクリプトのキーワードに色が付きます。
  • 別のデータモデルを参照しているデータモデルにおいて、参照元データモデルへジャンプすることが出来ます。
  • GradleやMavenを使わずにEclipse上でDMDLスクリプトのコンパイルを行い、Javaのデータモデルクラスを生成することが出来ます。(現在は Shafu で行うことが出来ます)
  • Javaソース上のデータモデルのクラス名あるいはメソッド名からDMDLスクリプトファイルへジャンプすることが出来ます。
[1]機能やインストール手順の詳細については、 DMDL EditorX のサイトを確認してください。

DMDL Editorプラグインのインストール

前提条件

DMDL Editorプラグインを利用するには、Eclipse環境に Xtext がインストールされている必要があります。

Jinrikisha バージョン 0.10.4 に同梱されているEclipseにはXtextが含まれていますが、異なるEclipse環境を利用する場合、必要に応じてXtextをインストール [2] してください。

[2]Xtextのインストールについては、 Xtextのダウンロードサイト などを確認してください。

インストール手順

  1. Eclipseを起動します。
  2. Eclipseのメニューバーの ヘルプ(Help) から 新規ソフトウェアのインストール(Install New Software) を選択し、インストールダイアログを開きます。
  3. 作業対象(Work with) の右側にある 追加(Add) ボタンを押して以下のリポジトリの情報を入力し、 OK ボタンを押します。
項目 説明
名前(Name) サイトの名前(例: dmdl-editor
ロケーション(Location) https://hishidama.github.io/xtext-dmdl-editor/site/
  1. 名前(Name) に表示されている DMDL EditorX にチェックを入れます。
  2. 次へ(Next) ボタンを押していき、最後に 完了(Finish) ボタンを押すと DMDL Editorプラグインがダウンロード・インストールされます。
  3. Eclipseを再起動します。

Note

DMDL EditorXはXtextの機能を使っており、DMDL EditorXを使用するEclipseプロジェクトでXtextが有効になっている必要があります。 (通常のJavaプロジェクトではパッケージエクスプローラー上のプロジェクトのアイコンにJマークが付いていますが、Xtextが有効になっているとXマークに変わります) DMDL EditorXのインストール後、dmdlファイルを初めて開いた時などにXtextネイチャーがEclipseプロジェクトに登録され、Xtextが有効になります。

Tip

ShafuEclipseプロジェクト情報の再構成 や gradlewコマンド でEclipseプロジェクト情報を再構成すると、Xtextネイチャーの情報がクリアされ、Xtextに依存した機能が使えなくなります。 この場合は、いずれかのDMDLスクリプトファイルを新規に開く(開いている場合は一旦閉じてから再度開く)と再び使えるようになります。

Tip

Asakusaアプリケーションのbuild.gradleに以下の定義を追加しておくと、Eclipseプロジェクト情報の再構成を行ってもXtextネイチャーの情報がクリアされなくなります。

eclipse {
    project {
        natures 'org.eclipse.xtext.ui.shared.xtextNature'
    }
}

DMDL Editorプラグインの機能の紹介

DMDL EditorXには色々な機能がありますが、簡単に役立つものを紹介します。

参照元データモデルへのジャンプ

別のデータモデルを参照しているデータモデルにおいて、参照元データモデルの定義場所へジャンプする機能です。

例えば以下のような集計モデルのモデル定義において、 Ctrl キーを押しながら joined_sales_info をマウスでクリックすると、joined_sales_infoが定義されているモデルの定義行へジャンプします。

summarized category_summary = joined_sales_info => {
  ...
}

DMDLソースの整形

DMDLのソースの整形を行う機能です。

Ctrl + Shift + F を押すとソースが整形されます。

DMDLのコンパイル

DMDLのコンパイルを行う機能です。

Note

通常は GradleやMavenのコマンドでDMDLのコンパイル を行ってJavaのデータモデルクラスを生成しますが、 DMDL EditorXではGradleやMavenを使わずにコンパイルすることが出来ます。

ツールバーの「DMDL compile」のアイコンをクリックすると、コンパイルが実行されます(コンソール上にコンパイルメッセージが表示されます)。

Note

現在は Shafu でDMDLのコンパイルを行うことが出来ますが、DMDL EditorXでコンパイルを行うと、DMDLスクリプトファイルにエラーがあった場合にEclipseの 問題ビュー にエラー内容が表示されます。そこからエラー箇所へジャンプすることも出来ます。

JavaソースからDMDLへのジャンプ

Javaのソースコード上のデータモデルのクラスやメソッドから定義元のDMDLへジャンプする機能です。

例えば以下のような演算子クラスのソースコードにおいて、 ErrorRecord (データモデルのクラス名)や setMessageAsString (データモデルのメソッド名)を Ctrl キーを押しながらマウスでクリックすると、ジャンプ先の選択肢が表示されます。 ここで「 Open DMDL 」を選ぶとDMDLスクリプトファイルへジャンプします。

@Update
public void setErrorMessage(ErrorRecord record, String message) {
    record.setMessageAsString(message);
}