ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

DMDL EditorX データモデル検索ダイアログ

2018-12-14 00:00:00 | PG(分散処理)

Asakusa Framework Advent Calendar 2018の14日目、拙作DMDL EditorXの機能の紹介です。

DMDL EditorXのツールバーに、データモデルやプロパティーを検索するダイアログを出すボタンがあります。通常の検索ボタンと同じアイコンなのでDMDL用とは気付かないかもしれませんが^^;

このダイアログではデータモデル名やプロパティー名の部分一致での検索が出来ますが、実は正規表現なので^や$を使うことが出来ます。
さらに*を入れると「.*」を指定したのと同じ事になります。

さらに、snake_caseだけでなく、CamelCaseすなわちクラス名を入れることでも(内部ではsnake_caseに変換されて)検索できるので、意外と便利です。


DMDL EditorX Copy Java Name

2018-12-13 00:05:39 | PG(分散処理)

Asakusa Framework Advent Calendar 2018の13日目、拙作DMDL EditorXの機能の紹介です。

dmdlファイル内のデータモデル名やプロパティー名を右クリックしてポップアップメニューを出すと、「Copy Java Name」というメニューがあります。
これを選択すると、Javaのクラス名の形式(CamelCase)でクリップボードに名称がコピーされます。
Javaソースでクラス名やメソッド名として貼り付けたいときに便利です(笑)

また、Javaソース上でデータモデルのクラス名やsetter/getterメソッドを右クリックしてポップアップメニューを出すと、「Copy DMDL Name」というメニューがあります。
これを選択すると、DMDLの名前の形式(snake_case)でクリップボードに名称がコピーされます。
@Keyのgroupやorderに貼り付けたいときに便利です(笑)


DMDL EditorX ソース整形のバグ

2018-12-12 00:11:28 | PG(分散処理)

Asakusa Framework Advent Calendar 2018の12日目、拙作DMDL EditorXの機能の紹介です。

dmdlファイルのエディター上でCtrl+Shift+F(Javaソースの整形と同じキー)を押すと、DMDLも整形されます。

ただしちょっと癖があって、ブロック内の先頭のコメントはインデントが付きません。
インデントの定義はちゃんとしているんですが、ブロック内の先頭はその定義の対象外になっているようなのですorz

また、Eclipse Oxygen.3a Release (4.7.3a)だと、コピペして貼り付けたソースの末尾のセミコロンが消えることがあります。これは見た目だけの問題で、dmdlファイルを開き直すとちゃんと表示されます。
たぶんDMDL EditorXが使用しているXtextのバグだと思います。

 


DMDL EditorX モデル名・プロパティー名の入力補完

2018-12-11 00:36:27 | PG(分散処理)

Asakusa Framework Advent Calendar 2018の11日目、拙作DMDL EditorXの機能の紹介です。

DMDL EditorXでは、dmdlファイルの編集中にCtrl+SPACE(Windowsの場合)で入力補完が出来ます。
カーソルのある場所で入力できるキーワードの他に、@directio.csv内の要素なんかも補完できます。
要素のデフォルト値も補完の候補に表示されます。

また、今年加わった機能として、モデル名やプロパティー名の補完があります。
大文字を小文字にしたり(DMDLのモデル名やプロパティー名は小文字である必要がある)、アンダースコアが2つ以上あると1つにしたりするもので、RDBのテーブル名(大文字)を貼り付けて補完することでDMDLの命名ルールに則ったものに変換することが出来ます。

ただしプロパティー名の変換では、「"説明" PROPERTY_NAME : データ型;」のような形になっていないと使えません。
Xtextの定義としてプロパティー名部分を変換対象にしてあるのですが、"説明"が付いていないとカーソル位置をプロパティー名として認識してくれないようなのですorz


DMDL EditorX モデル作成ウィザード

2018-12-10 00:00:00 | PG(分散処理)

Asakusa Framework Advent Calendar 2018の10日目、拙作DMDL EditorXの機能の紹介です。

DMDL EditorXにはデータモデルを新規作成する為のウィザードがあります。が、自分はこれはほとんど使いません^^;

基本となるデータに対しては、実業務ではExcelでファイルレイアウトやテーブルレイアウトを定義することが多く、そこからDMDLを生成する方が簡単・確実だからです。

その他のデータ(作業用のデータモデル)に関しても、既存データモデルから(テキストベースで)コピペした方が楽だし確実です(笑)

ただ、結合モデル集計モデルを使う場合だけはウィザードで作る事もあります。
矢印っぽい記号が->なのか=>なのか覚えてないからです^^;