Map Designer Express では、以下の 2 通りの方法で Java パッケージやその他のカスタム・コードをインポートすることができます。
ここでは、これらの方法について詳しく説明します。
Map Designer Express では、Activity Editor の標準の関数ブロックを使用できるだけでなく、ユーザー独自の Java ライブラリーをインポートして、Activity Editor で関数ブロックとして使用することもできます。 カスタム JAR ライブラリーをアクティビティー設定にインポートすると、その JAR ライブラリーに含まれる public メソッドを、Activity Editor で関数ブロックとして使用できます。
始める前に: 適切なユーザー独自の Java クラスを、.jar ファイルとしてエクスポートする必要があります。
JAR ライブラリーを Activity Editor にインポートするには、以下の手順を実行します。
カスタム .jar ファイルを関数ブロックとして使用できるように Activity Editor にインポートする処理が、System Manager によって試行されます。カスタム .jar ファイルが正常にインポートされると、「Activity Settings」ビューの「BuildBlock Libraries」の下にそのファイルの名前が表示されます。
ヒント: 「Activity Settings」にカスタム .jar ファイルをインポートした後、System Manager でマップやコラボレーション・テンプレートをコンパイルすると、そのカスタム .jar ファイルが、コンパイル CLASSPATH に自動的に含められます。InterChange Server Express でコンパイルを実行できるようにするには、InterChange Server の CLASSPATH に custom.jar ファイルを含める必要があります。カスタム .jar ファイルをインポートできるように InterChange Server Express をセットアップする方法については、サード・パーティーのクラスを Interchange Server Express にインポートするを参照してください。
規則: 「Activity の設定」ビューの設定を変更したときは、変更内容を Activity Editor に反映させるため、Map Designer Express を再始動する必要があります。
結果: Activity Editor を開くと、「My Library」の下に、インポートしたカスタム JAR ライブラリーが表示されます。デフォルトでは、使用可能なカスタム関数ブロックがそれぞれのパッケージ構造に従って表示されます。これらのカスタム関数ブロックは、標準の関数ブロックを使用する場合と同様の方法で、アクティビティーに使用することができます。
Activity Editor にインポートした関数ブロックの表示設定 (名前やアイコンの設定など) は、カスタム JAR ライブラリーのプロパティーを変更することによって、カスタマイズできます。これを行うには、以下の手順を実行します。
結果: 選択したカスタム JAR ライブラリーの「プロパティー」ウィンドウが開き、そのカスタム・ライブラリーに含まれる使用可能な関数ブロックが、ダイアログの右側にツリー表示されます。これらの使用可能な関数ブロックは、それらが含まれる Java クラスや Java パッケージの下位ノードとして表示されます。
Java パッケージや Java クラスに関しては、各エントリーの表示名をカスタマイズできます。また、「Hide level in tree display」チェック・ボックスの設定を変更すれば、その Java パッケージまたは Java クラスを Activity Editor の「My Library」ツリー構造に表示するかどうかについてもカスタマイズすることができます。このオプションを選択したエントリーは、Activity Editor の「My Library」サブツリーに表示されません。通常、このオプションを使用すると便利なのは、カスタム JAR ライブラリー内の Java メソッドが、多数の階層から成るパッケージに含まれる Java クラスに属している場合です。このオプションを選択することで、Activity Editor の「My Library」サブツリーの編成を簡素化することができます。
図 77 に、JAR ライブラリーの表示設定をカスタマイズするときに使用するダイアログを示します。
図 77. JAR ライブラリーの表示設定をカスタマイズするときに使用する「プロパティー」ダイアログ
Activity Editor で関数ブロックとして使用される Java メソッドに関しては、「プロパティー」ウィンドウを使用して、関数ブロックの表示名、説明、およびアイコンを指定したり、パラメーターの表示名を指定したりすることができます。関数ブロックのアイコンをインポートすると、選択したアイコンは「Activity Settings」フォルダーにコピーされ、同じパッケージのほかの関数ブロックに対しても使用できるようになります。
推奨: 関数ブロックのアイコンをインポートする場合、インポートするアイコンは、サイズが 32 ピクセル x 32 ピクセルで形式が .bmp のものにしてください。アイコンの色の深さは、24 ビットまでです。
図 78 に、JAR
ライブラリー内の関数ブロックの表示設定をカスタマイズするときに使用する「プロパティー」ダイアログを示します。
図 78. JAR ライブラリー内の関数ブロックの表示設定をカスタマイズするときに使用する「プロパティー」ダイアログ
規則: 「Activity の設定」ビューの設定を変更したときは、変更内容を Activity Editor に反映させるため、Map Designer Express を再始動する必要があります。
Map Designer Express は、マップの実行に必要な Java パッケージを自動的にインポートします。別の Java パッケージのメソッドを使用する変換コードを作成するか、またはマップ・ユーティリティー (MapUtils) パッケージを使用する場合は、パッケージをマップにインポートする必要があります。 Map Designer Express 外で独自のカスタム Java コードを作成して、そのコードを変換コード内で使用するためにマップにインポートすることもできます。
Java パッケージや他のカスタム・コードをインポートするには、次の手順を行います。
「編集」メニューから「マップ・プロパティー」を選択します。 「マップ・プロパティー」ダイアログを表示する他の方法については、"マップ・プロパティー情報の指定"を参照してください。「マップ・プロパティー」ダイアログ・ボックスが表示されます (図 87 を参照)。
System Manager でマップをコンパイルするための要件については、"マップのコンパイル"を参照してください。
マップの開始時にすべてのステートメントを実行した後に、変換ステップを実行します。
マップ・ユーティリティー・パッケージを使用するには、以下の手順を実行してマップにインポートする必要があります。
import com.crossworlds.MapUtils.*;
インポートしたクラスが JDK ではなくサード・パーティーのものである場合、サーバー・コンパイルをセットアップするために、このクラスを、JCLASSES 変数の インポート済みクラスのパスに追加する必要があります。
推奨: なんらかのメカニズムを 使用して JCLASSES 内の標準のクラスと カスタム・クラスを区別することをお勧めします。
例: 以下の手順を実行し、このようなカスタム・クラスのみを保持する新しい変数を作成し、この新しい変数を JCLASSES に追加します。
例: 製品ディレクトリーの下に dependencies ディレクトリーを作成して、そこに JAR ファイルを保管します。
set DEPENDENCIES=$ProductDir/ dependencies/CwMacroUtils.jar
さらに、Windows 用に以下のエントリーを追加します。
set DEPENDENCIES="%ProductDirS%"¥dependencies¥ CwMacroUtils.jar
UNIX の場合、以下を追加します。
set JCLASSES=$JCLASSES:ExistingJarFiles: $DEPENDENCIES
Windows の場合、以下を追加します。
set JCLASSES=ExistingJarFiles ;%DEPENDENCIES%
ガイドライン: カスタム・クラスをインポートするときに、ソフトウェアがこのカスタム・クラスを検出できなかったことを示すエラー・メッセージが表示されることがあります。その場合は、以下をチェックしてください。
例: パッケージ名が COM.acme.graphics で、カスタム・クラスが Rectangle の場合、パッケージ全体をインポートできます。
import COM.acme.graphics.*;
また、Rectangle カスタム・クラスのみをインポートすることもできます。
import COM.acme.graphics.Rectangle;
例: カスタム・クラスをインポートする場合、%ProductDir%¥lib¥com¥<ProductDir>¥package (ここで、package はパッケージの名前) と呼ばれるフォルダーを作成することがあります。次に、作成したフォルダーにカスタム・クラス・ファイルを格納します。最後に、start_server.bat ファイル内の CLASSPATH 変数に、パス %ProductDir%¥lib を設定します。