Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編


7.18.5 getPropertiesByGroup(外部プロパティ取込関数)

引数に指定した外部プロパティファイルから,引数に指定したキーワードがマッピングされているグループに属するプロパティを取得する関数です。

外部プロパティファイルの定義規則は,「5.6.5(7) Java呼出アクティビティから利用できるAPI」を参照してください。

外部プロパティ取込関数は,cscdt_api.jarにパッケージされたクラスを利用します。このためusrconf.cfg(J2EEサーバ用オプション定義ファイル)にcscdt_api.jarファイルのクラスパスを指定してください。

〈この項の構成〉

(1) 関数仕様

関数仕様を次の表に示します。

表7‒60 getPropertiesByGroupの関数仕様

#

項目

1

パッケージ

jp.co.Hitachi.soft.csc.dt.customfunc

2

クラス

CSCCustomGroupedProperties

3

メソッド

getPropertiesByGroup

引数に指定した外部プロパティファイルから,引数に指定したキーワードに対応したグループに属するプロパティを取得する関数

4

引数1

java.lang.Object

filePath

外部プロパティファイルの絶対パス

相対パスを指定した場合は,サポートしません。

5

引数2

java.lang.Object

keyword

取得対象キーワード

6

引数3

java.lang.Object

namespace

戻り値の名前空間を使用する要素に付与する名前空間URI

出力結果のプロパティにprefix付きのパス要素があり,かつ,この引数に空文字列が指定された場合は,外部プロパティ取込関数は異常終了(例外をスロー)します。

7

戻り値

org.w3c.dom.NodeLis

外部プロパティファイル内でkeywordにマッピングされたグループに属するプロパティのリスト

(2) 注意事項

外部プロパティファイルは,各プロパティのキー値を次の形式と見なしてXMLノードに展開します。

GroupID.NodeName[.NodeName]*

先頭のGroupIDは,取得対象のグループを決定するために使用し,戻り値のXMLノードリストから取り除きます。続くNodeName[.NodeName]をピリオド(.)で区切られたXML要素名としてXML階層構造に展開します。

NodeNameにピリオド(.)を含める場合は,「¥.」(円記号またはバックスラッシュに続くピリオド)にエスケープしてください。

filePathパラメタに指定したパスに,次に示す外部プロパティファイルに起因するエラーが発生した場合,外部プロパティ取込関数は例外を発生してエラー終了します。

(3) 変換例

filePathで指定する外部プロパティファイルが次の定義例の場合の,変換例を「表7-61 変換例」に示します。

group1 = Group1Key1, Group1Key2, Group1Key3
group2 = Group2Key1, Group2Key2, Group2Key3
group1.nodeA.node1 = Property Value 1
group1.nodeA.node2 = Property Value 2
group1.nodeA.node\\.X = Property Value 3
group2.nodeA = Property Value 4
group2.nodeB = Property Value 5
表7‒61 変換例

入力データ(keyword引数)

出力結果

Group1Key1,

Group1Key2,

Group1Key3 のどれか

[

<nodeA>

<node1>Property Value 1</node1>

<node2>Property Value 2</node2>

<node.X>Property Value 3</node.X>

</nodeA>

]

Group2Key1,

Group2Key2,

Group2Key3 のどれか

[

<nodeA>Property Value 4</nodeA>

<nodeB>Property Value 5</nodeB>

]

上記以外

[](空のノードリスト)

外部プロパティ取込関数をTP1アダプタ接続先動的変更のヘッダ割当変数に設定する場合の,外部プロパティファイルの定義例と変換例を次に示します。

# Sample external property for TP1 Dynamic Connection function
g0 = g0
g0.tpdh\:TP1DynamicConnection.tpdh\:static_host = localhost
g0.tpdh\:TP1DynamicConnection.tpdh\:static_port = 10001
 
g1 = g1
g1.tpdh\:TP1DynamicConnection.tpdh\:static_host = tp1.unknown.nothing
g1.tpdh\:TP1DynamicConnection.tpdh\:static_port = 10002

namespace引数に「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/tp1dynamics/header」を指定したときの変換例を次の表に示します。

表7‒62 変換例(ヘッダ割当変数に設定した場合)

入力データ(keyword引数)

出力結果

g0

[

<tpdh:TP1DynamicConnection xmlns:tpdh="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/tp1dynamics/header">

<tpdh:static_host>localhost</tpdh:static_host>

<tpdh:static_port>10001</tpdh:static_port>

</tpdh:TP1DynamicConnection>

]

g1

[

<tpdh:TP1DynamicConnection xmlns:tpdh="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/tp1dynamics/header">

<tpdh:static_host>tp1.unknown.nothing</tpdh:static_host>

<tpdh:static_port>10002</tpdh:static_port>

</tpdh:TP1DynamicConnection>

]

上記以外

[](空のノードリスト)