CBE의 컨텍스트 데이터 요소에 대한 맵핑 규칙으로 Enterprise Console 이벤트에 같은 속성 이름이 포함될 수 있습니다. 그러나 이는 이벤트 서버에서는 허용되지 않습니다. 맵핑 메커니즘에서 "ctx." 접두어를 CBE 이벤트의 컨텍스트 데이터 요소로 작성된 속성 이름에 추가하여 이러한 가능성을 제거합니다.
Enterprise Console 이벤트에 이미 맵핑된 다른 컨텍스트 요소 이름과의 충돌로 반복하는 컨텍스트 요소가 삭제됩니다.
예를 들어, 다음 컨텍스트 데이터 요소가 있는 CBE 이벤트가 있다고 가정합니다.
<CommonBaseEvent ...> <contextDataElements name="repeat_count" type="String"> <contextValue>contextValue</contextValue> </contextDataElements> <contextDataElements name="my_Context" type="String"> <contextValue>contextValue</contextValue> </contextDataElements> <contextDataElements name="my_Context" type="other_type"> <contextId>http://www.ibm.com</contextId> </contextDataElements> <contextDataElements name="my:Context" type="other_type"> <contextId>http://www.ibm.com</contextId> </contextDataElements> ... </CommonBaseEvent>
Enterprise Console 이벤트에서 결과 속성 및 해당 값은 다음과 같습니다.
ctx.repeat_count=contextValue ctx.repeat_count.type=String ctx.my_Context=contextValue ctx.my_Context.type=String
첫 번째 "repeat_count" 요소의 이름은 Enterprise Console EVENT 클래스의 속성과 동일합니다. 그러나 ctx 접두어의 추가로 이름 충돌을 피할 수 있습니다.
"my_Context"로 이름 지정된 두 번째 컨텍스트 데이터 요소는 Enterprise Console 이벤트의 결과에 중복 이름이 있기 때문에 맵핑되지 않습니다.
"my:Context"로 이름 지정된 세 번째 컨텍스트 데이터 요소는 ":" 문자가 Enterprise Console 이벤트의 속성 이름에서 올바른 문자가 아니므로 맵핑되지 않습니다. 따라서 Enterprise Console 이벤트의 속성에 맵핑되기 전에 "_"(밑줄) 문자로 이를 대체해야 합니다. "my_Context" 결과 이름이 이미 사용되었기 때문에 컨텍스트 데이터 요소는 삭제됩니다.
확장된 데이터 요소는 컨텍스트 데이터 요소 전에 맵핑됩니다. 이렇기 때문에 확장된 데이터 요소의 변환된 이름과 컨텍스트 데이터 요소의 변환된 이름 간의 충돌하는 이름으로 컨텍스트 데이터 요소가 삭제됩니다.
예를 들어, 다음 컨텍스트 데이터 요소가 있는 CBE 이벤트가 있다고 가정합니다.
<CommonBaseEvent ...> <extendedDataElements name="ctx.my_Context" type="string"> <values>my value</values> </extendedDataElements> <contextDataElements name="my_Context" type="other_type"> <contextId>http://www.ibm.com</contextId> </contextDataElements> ... </CommonBaseEvent>
Enterprise Console 이벤트에서 결과 속성 및 해당 값은 다음과 같습니다.
ctx.my_Context='my value'
"my_Context"로 이름 지정된 컨텍스트 데이터 요소는 Enterprise Console 이벤트의 결과에 중복 이름이 있기 때문에 맵핑되지 않습니다. 컨텍스트 데이터 요소에 이름 충돌이 있으면 관련 ctx.ContextDataElement.name.type도 작성되지 않습니다.
Common Base Event 형식의 컨텍스트 데이터 요소를 Enterprise Console 이벤트 형식으로 맵핑