Conflits de noms pour les éléments de données de contexte

La règle de mappage des éléments de données de contexte d'un événement CBE peut entraîner la création d'un nom d'attribut identique à celui d'un autre attribut dans l'événement Enterprise Console, ce qui n'est pas autorisé par le serveur d'événements. Le mécanisme de mappage écarte cette possibilité en ajoutant le préfixe "ctx." aux noms d'attribut créés à partir d'éléments de données de contexte de l'événement CBE.

Tout conflit avec le nom d'un autre élément de données de contexte ayant déjà été mappé dans l'événement Enterprise Console entraîne l'élimination des éléments de données de contexte en double.

Prenons pour exemple un événement CBE ayant les éléments de données de contexte suivants :

<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>

Les attributs résultants, et les valeurs correspondantes, dans l'événement Enterprise Console seraient :

ctx.repeat_count=contextValue
ctx.repeat_count.type=String
ctx.my_Context=contextValue
ctx.my_Context.type=String

Le premier élément "repeat_count" a le même nom qu'un attribut de la classe d'événement Enterprise Console, mais l'ajout du préfixe ctx empêche le conflit de noms.

Le second élément de données de contexte nommé "my_Context" n'est pas mappé car cela entraînerait la création d'un nom d'attribut en double dans l'événement Enterprise Console résultant.

Le troisième élément de données de contexte nommé "my:Context" n'est pas mappé car le caractère ":" n'est pas valide dans un nom d'attribut d'un événement Enterprise Console et doit être remplacé par le caractère "_" (trait de soulignement) avant de pouvoir être mappé à un attribut dans l'événement Enterprise Console. Le nom résultant "my_Context" étant déjà utilisé, l'élément de données de contexte est éliminé.

Priorité des éléments de données de contexte

Les éléments de données étendus sont mappés avant les éléments de données de contexte. Par conséquent, tout conflit entre le nom converti d'un élément de données étendu et celui d'un élément de données de contexte entraîne l'élimination de l'élément de données de contexte.

Prenons pour exemple un événement CBE ayant les éléments de données de contexte suivants :

<CommonBaseEvent ...>
    <extendedDataElements name="ctx.my_Context" type="string">
      <values>ma valeur</values>
    </extendedDataElements>
    <contextDataElements name="my_Context" type="other_type">
      <contextId>http://www.ibm.com</contextId>
    </contextDataElements>
...
</CommonBaseEvent>

Les attributs résultants, et les valeurs correspondantes, dans l'événement Enterprise Console seraient :

ctx.my_Context='ma valeur'

L'élément de données de contexte nommé "my_Context" n'est pas mappé car cela entraînerait la création d'un nom d'attribut en double dans l'événement Enterprise Console résultant. Notez qu'en cas de conflit de noms pour un élément de données de contexte, le nom d'attribut associé ctx.ContextDataElement.name.type n'est pas créé non plus.


Rubrique parente

Mappage d'éléments de données de contexte au format d'événement de base commun avec le format d'événement Enterprise Console


Téléchargements | Bibliothèque | Support | Conditions d'utilisation | Commentaires

(C) Copyright IBM Corporation 1999,2005. All Rights Reserved.