CBE イベントをルール・ベースの Enterprise Console イベント・クラスにマップすると、 各コンテキスト・データ・エレメントは、結果の Enterprise Console イベントの 2 つの属性にマップされます。
これらの 2 つの属性の両方の名前が Enterprise Console イベント・クラス定義の属性名に一致しない場合、コンテキスト・データ・エレメントは廃棄されます。
表 1 に、CBE コンテキスト・データ・エレメントの Enterprise Console イベントの属性へのマッピングを示します。
コンテキスト・データ・エレメントのサブフィールド |
Enterprise Console 属性 |
---|---|
両方の属性名で使用されます。 |
|
コンテキスト・データ・エレメントから作成される属性のいずれかの値 |
|
contextDataElement.contextId |
コンテキスト・データ・エレメントから作成される属性のいずれかの値 |
表 1. CBE コンテキスト・データ・エレメントの Enterprise Console 属性へのマッピング
以下のセクションでは、CBE コンテキスト・データ・エレメントを Enterprise Console イベントの属性にマップする方法について詳しく説明します。
コンテキスト・データ・エレメントは、結果の Enterprise Console イベントの 2 つの属性にマップされます。
ctx.contextDataElement.name=contextDataElement.value ctx.contextDataElement.name.type=contextDataElement.type
例として、以下のコンテキスト・データ・エレメントを持つ CBE イベントを考えてみましょう。
<CommonBaseEvent ...> <contextDataElements name="myContext" type="String"> <contextValue>contextValue</contextValue> </contextDataElements> ... </CommonBaseEvent>
Enterprise Console イベントの結果の属性と対応する値は以下のとおりです。
ctx.myContext=contextValue ctx.myContext.type=String
マップされたコンテキスト・データ・エレメントの名前が Enterprise Console イベントの別の属性の名前と競合する場合、そのコンテキスト・データ・エレメントは廃棄されます。詳しくは、『コンテキスト・データ・エレメントの名前の競合』を参照してください。
注:『名前』で説明したように、コンテキスト・データ・エレメントの type 属性は、コンテキスト・データ・エレメントから作成される 2 番目の属性の値として使用されます。
『名前』で説明したように、コンテキスト・データ・エレメントの contextValue 属性および contextId 属性は、コンテキスト・データ・エレメントから作成される 2 番目の属性の値として使用されます。
CBE フォーマットのイベントに格納できるのは contextValue または contextId のみで、 contextValue は contextId より優先されます。そのため、元のコンテキスト・データ・エレメントが両方の値セットを持つ場合 (CBE 仕様では不正)、変換アルゴリズムにより contextId サブフィールドが廃棄されます。
Common Base Event フォーマットのイベントの Enterprise Console イベント・フォーマットへの変換