M12i.

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

JP1/AJS2でユニット定義情報に不正なarパラメータが登場

直近、JP1/AJS2に関連する開発プロジェクトを行っていて、メンバーが数時間悩まされた事象です。

事象

JP1/AJS2(v7)のユニット定義情報をJP1/AJS2 View画面で「退避」(エクスポート)すると、出力されたユニット定義情報のなかに、値が不正なユニット定義パラメーターarが混入するケースがある。この定義情報を「回復」(インポート)しようとすると入力エラーが発生する。エラーメッセージはどこの行のどのパラメータがNGであるかなどは一切言及してくれない。

混入するのは次のようなユニット名が不正な状態のarで、from/toを表すタプルのキーに対応する値が空文字列となってしまっている:

...
ar=(f=,t=UNIT0000);
ar=(f=UNIT0000,t=UNIT1000);
...


arはユニットの関連線(矢印)を定義するためのパラメーターであるが、Viewの画面で見る限りこの不正な値に対応する関連線は表示されない。たしかに表示しようがない内容ではある。

原因

不明。ただ、特定ユニットレベルで明確な再現性があることから、「退避」以前に、JP1/AJS2 Managerの内部データベースに登録されている定義情報からして不正な状態となっているものと考えられる。

対策

「退避」前のユニット定義情報をJP1/AJS2 View画面から編集(実質的にはジョブネットごと削除)してしまうか、「退避」後のユニット定義情報(テキストファイル)から当該のarパラメーターの行を除去してしまう。