M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

JP1/AJS2 Jobdocをリカバリージョブに対応させた

思い立ったが吉日というかなんというか。ふと、以前このブログでも紹介したJP1/AJS2ユニット定義ドキュメント化ツールの生成するSVGがリカバリージョブに対応していないことに気がついて、テンプレートとロジックを修正しました。Githubリポジトリ・ページはこちら

リカバリージョブは先行するジョブユニットが異常終了のステータスとなったときにだけ起動する特殊なユニットです。JP1/AJS2 View上、リカバリージョブはアイコン右上に赤い四角に「R」の文字でマーキングされます。またリカバリージョブを指す(後続ジョブとして指定する)関連線は赤色で表示されます。

例えば以下のようなユニット定義があるとします:

unit=FOON0000,AAAAA,BBBBB,CCCCC;
{
	ty=n;
	sz=5×5;
	el=.CONDITION,n,+0 +0;
	el=BARN0001,n,+80 +48;
	el=BARN0002,rn,+240 +144;
	el=BARN0003,n,+240 +48;
	el=BAZN0001,pj,+400 +48;
	ar=(f=BARN0001,t=BARN0002);
	ar=(f=BARN0001,t=BARN0003);
	ar=(f=BARN0003,t=BAZN0001);
	unit=.CONDITION,AAAAA,BBBBB,CCCCC;
	{
		ty=rc;
		cm="起動条件";
	}
	unit=BARN0001,AAAAA,BBBBB,CCCCC;
	{
		ty=n;
		cm="ふつうのジョブネット";
		sz=5×5;
	}
	unit=BARN0002,AAAAA,BBBBB,CCCCC;
	{
		ty=rn;
		cm="リカバリージョブネット";
		sz=5×5;
	}
	unit=BARN0003,AAAAA,BBBBB,CCCCC;
	{
		ty=n;
		cm="ふつうのジョブネット";
		sz=5×5;
	}
	unit=BAZN0001,AAAAA,BBBBB,CCCCC;
	{
		ty=pj;
		cm="ふつうのPCジョブ";
		sc="foo/bar/baz.exe";
	}
}

これをツールで処理すると:

java -jar jp1ajs2.jobdoc-1.5.1-RELEASE-jar-with-dependencies.jar \
-s src/test/resources/SAMPLE.unitdef \
--source-file-charset utf-8 \
-t FOON0000

出力されたドキュメントでは以下のようなマップ表示になります:
f:id:m12i:20150517130137p:plain

m12i.hatenablog.com