english japanese german

スクリプトエディタ

astah* APIを使用してモデルにアクセス可能となるスクリプトエディタを表示するプラグインです。
スクリプト言語で astahにアクセスできます。ECMAScript(JavaScript)の編集と実行が可能です。
astah* professional、UML 7.2以降は、製品に同梱されているため、プラグインのインストールは不要です。

   概要


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

  1. 上記Downloadボタンからastah_script_plugin-x.x.x.zip ファイルをダウンロードし、任意のフォルダへ展開します。
  2. 展開したフォルダの"sample_scripts"フォルダに、12種のサンプルJavaScriptファイルが格納されています。
  3. .jarファイルを、astah*図上にドラッグ&ドロップします。
  4. プラグイン概要のダイアログが表示されるので[はい]を選択します。
  5. 次に表示されるメッセージに従ってastah*を再起動します。
    astahプラグイン
  6. [ツール]メニュー配下に、[スクリプト]が追加されている事をご確認ください。
    astah, アスター, スクリプトプラグイン

   利用方法

  1. スクリプトを実行したいプロジェクトファイルを開きます。
  2. [ツール] - [スクリプトエディタ]を選択してエディタを開きます。(プラグインでご利用の場合は、[ツール] - [スクリプト])
    astahプラグイン
  3. 上段にスクリプトを入力するか、またはスクリプトエディタのメニュー[ファイル] - [開く]を選択し、予め用意しておいたJavaScriptのファイルを開きます。(サンプルスクリプト
    astah, アスター, スクリプトプラグイン
  4. ツールバーの三角ボタンを押下するか、スクリプトエディタのメニュー[アクション] - [実行]を選択します。
    (ショートカットキー[Ctrl+R]でも実行できます)
    astah, アスター, スクリプトプラグイン
  5. 下段に実行結果が表示されます。
    astah, アスター, スクリプトプラグイン
  6. 入力したスクリプトは [ファイル] - [名前を付けて保存]で保存できます。

   サンプルスクリプト

サンプルスクリプトは、「Scriptプラグインで、すぐに使えるサンプル集」をご覧ください。
プラグインでご利用の方は、ダウンロードした[sample_scripts]フォルダ内に、下記の合計15ケのJavaScriptサンプルファイルが格納されています。

addSetterGetter 選択した属性に対するSetter/Getter操作を追加
addStereotypeToSelectedModel.js 選択したモデルにステレオタイプを追加
checkEdition.js 起動中のエディションを表示
countClasses.js 開いているプロジェクトファイルに含まれるクラスの数を表示
createAndOpenDiagram.js 新しいクラス図を作成
createEREntities.js 指定した論理名・物理名を用いてERエンティティを作成
exportCsv.js CSV形式で出力
printClasses.js 開いているプロジェクトファイルに含まれるクラスの名称を表示
printERIndex ERモデル中に定義されているインデックスの情報を列挙
printMindmapTopics.js 開いているマインドマップのトピックをリスト表示
printPackageAndClassInfo.js パッケージ名、クラス名を列挙
printPresentationProperties.js 選択した図要素のプロパティをリスト表示
searchAndEdit.js キーワードを含むクラスを検索し、色を設定、ノートを付加
searchMessagesWithoutOperation.js シーケンス図の操作が指定されていないメッセージを検索
useJavaGUI.js ダイアログが表示され、Java GUIを使用できる

スクリプトのサンプルコードは、ご利用のJavaのバージョンで、スクリプトの表記が異なります。astah* professional/UML/community 6.9以前をご利用の場合は、[sample scripts] - [java7]フォルダをご参照ください。(一部のサンプルスクリプトはモデル編集のAPIを必要とするため、astah* community版では利用できません)


   解説

▶定義済みの変数を使えます。

projectAccessor astah APIのprojectAccessorオブジェクトで、nullの場合はastahにプロジェクトが存在しない。
astah projectAccessorと同じ。
astahWindow astahのメインウィンドウオブジェクト
scriptWindow スクリプトプラグインのウィンドウオブジェクト

▶スクリプトで astah APIを使えます。


   動作環境によるスクリプトの修正について

astah* professional、UML、community 7.0、astah* GSN 1.1以降は、システム要件のJavaバージョンが8にあがりました。
astah* professional、UML、community 6.9以前、あるいはastah* GSN 1.0以前のバージョンで作成した jre7用のスクリプトは、下記のように修正してご利用ください。

★importPackageの修正

修正前

importPackage(com.change_vision.jude.api.inf.editor);
//use the classes in the package

修正方法1:JavaImporterを用いる

with(new JavaImporter(com.change_vision.jude.api.inf.editor)) {
//use the classes in the package
}

修正方法2:"nashorn:mozilla_compat.js"を読み込む

load("nashorn:mozilla_compat.js");
importPackage(com.change_vision.jude.api.inf.editor);
//use the classes in the package

修正方法3:Java.typeを用いる

var TransactionManager = Java.type("com.change_vision.jude.api.inf.editor.TransactionManager");
//use the class

★println の修正

修正前

println("astah*");

修正方法1:printlnをprintに書き換える

print("astah*");

修正方法2:println=print;を追加する

println = print;
println("astah*");

★.class の修正

修正前

var classes = astah.findElements(IClass);

修正方法:.classを追加する

var classes = astah.findElements(IClass.class);

★その他

その他の修正は、こちらをご参照ください。


   他のスクリプト言語を使う

OSGi bundleかつJSR223準拠のjarを利用することで、他のスクリプト言語を使用できます。

  1. 使用したいスクリプト言語の jarファイルをダウンロードします。(例. groovy-all.jar, jruby-###.jar)
  2. astah plugins フォルダに 1のjarファイルをコピーします。(~/.astah/plugins)
  3. astah*を起動します。