AbstractReconciler - Global
L’include de script AbstractReconciler fournit des méthodes à utiliser comme classe de base pour créer votre propre rapprochement Discovery.
Il s’agit d’une classe de base abstraite qui permet de rapprocher les données nouvellement découvertes dans une XMLMemoryTable avec une liste connexe de la base de données. L’include de script AbstractReconciler implémente la logique commune et les méthodes d’assistance pour le rapprochement des listes connexes d’un élément CMDB particulier avec les informations découvertes présentes dans une instance MemoryTable.
La plupart de cette logique est très simple, mais un bit peut ne pas l’être : la résolution des références à des enregistrements précédemment rapprochés. Cette fonctionnalité consiste à collecter des informations lors du rapprochement d’une liste connexe, puis à transmettre ces informations au réconciliateur pour une autre liste connexe. Par exemple, pendant le rapprochement des partitions de commutateur, des informations sont collectées (dans une instance de carte) qui mappe un numéro d’interface pour une partition à l’sys_id de l’enregistrement de la partition dans la table des partitions. Ensuite, lorsque les ports de commutation sont rapprochés, une référence à la partition de commutateur qui contient le port de commutation peut être résolue à l’aide de cette carte.
AbstractReconciler : getReconciliationField()
Détermine si les données nouvellement découvertes sont différentes des données déjà présentes dans la base de données pour l’élément actuel.
Cette méthode n’est invoquée que pour les éléments qui ont été redétectés.
Méthode obligatoire, doit être remplacée dans toutes les sous-classes concrètes.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si les données ont changé. |
AbstractReconciler : getReconciliationKey()
Obtient la valeur de chaîne du champ à utiliser comme clé pour rechercher un enregistrement dans les données nouvellement découvertes.
Cette valeur sera utilisée pour tenter de trouver un enregistrement dans les données détectées, à l’aide de la colonne retournée par la méthode getReconciliationKey( ).
Méthode obligatoire, doit être remplacée dans toutes les sous-classes concrètes.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Valeur à utiliser comme clé dans les données détectées. |
AbstractReconciler : hasChanged()
Renvoie la valeur true si les données nouvellement découvertes sont différentes des données déjà présentes dans la base de données pour cet élément.
Cette méthode n’est invoquée que pour les éléments qui ont été redétectés.
Méthode obligatoire, doit être remplacée dans toutes les sous-classes concrètes.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si les données découvertes sont différentes des données déjà présentes dans la base de données. |
AbstractReconciler : markAbsent()
Marque les CI comme absents en définissant l’état de l’installation sur « Absent » ; D’autres tables sont marquées en définissant le champ (présumé présent) « absent » sur vrai.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
AbstractReconciler : markPresent()
Marque les CI comme présents en définissant l’état de l’installation sur « Installé » ; D’autres tables sont marquées en définissant le champ (présumé présent) « absent » sur faux.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
AbstractReconciler : process()
Rapproche les données nouvellement découvertes avec les données déjà présentes dans la base de données et résout les références aux données précédemment rapprochées.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
AbstractReconciler : readDatabaseFields()
Lit l’enregistrement de la table de mémoire actuelle des données nouvellement découvertes et vérifie leur validité.
Méthode obligatoire, doit être remplacée dans toutes les sous-classes concrètes.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si les données sont valides. |
AbstractReconciler : readDiscovered()
Lit l’enregistrement de la table de mémoire actuelle des données nouvellement découvertes et vérifie leur validité.
Méthode obligatoire, doit être remplacée dans toutes les sous-classes concrètes.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si les données sont valides. |
AbstractReconciler : resolveReferenceFields()
Lit les champs de l’enregistrement de base de données actuel dans les champs membres de l’instance.
Méthode obligatoire, doit être remplacée dans toutes les sous-classes concrètes.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
AbstractReconciler : setDatabaseFields()
Définit les champs de base de données de l’enregistrement actuel sur les valeurs des informations nouvellement découvertes.
Cette méthode est invoquée à la fois pour les nouveaux enregistrements de base de données et pour les enregistrements de base de données existants lorsque les données détectées ont changé.
Méthode obligatoire, doit être remplacée dans toutes les sous-classes concrètes.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
AbstractReconciler : setup()
Remplacement facultatif des sous-classes concrètes qui nécessitent une configuration spéciale.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
AbstractReconciler : track(String sys_id)
Méthode facultative à remplacer dans des sous-classes concrètes qui doivent résoudre des champs de référence.
Cette méthode est invoquée après la lecture des données découvertes valides. Généralement, les implémentations utilisent certaines de ces données découvertes comme clé dans une carte (transmise dans la classe de réconciliation concrète lors de son instanciation) qui retourne le sys_id de l’enregistrement de base de données contenant les informations référencées. Toutefois, les implémentations ne sont pas nécessaires pour utiliser cette approche.
| Nom | Type | Description |
|---|---|---|
| sys_id | Chaîne | La sys_id de l’enregistrement de base de données actuel. |
| Type | Description |
|---|---|
| nul |