Ajout de la synchronisation à chaque entité de recherche

Comme indiqué précédemment, la base de données de transfert de Generic Search Server doit être mise à jour régulièrement lorsque des modifications sont apportées aux entités associées au service de recherche. Une entité unique peut très bien être utilisée dans plus d'un service de recherche, et chacun de ces services de recherche doit refléter les changements apportés à cette entité.

La classe SearchController est responsable de vérifier que toutes les informations de la base de données de transfert sont à jour. Les méthodes SearchController insert, modify et remove doivent être appelées à partir de l'application lorsque l'opération d'entité du service de recherche correspondant est exécutée. Les opérations SearchController insert et modify modifient les informations de la table SearchServiceRow avec les données de struct des détails d'entité spécifiés. L'interface remove nécessite une clé qui identifie l'objet d'entité en cours de suppression, ainsi que le nom de l'entité.

/** 
 * Insertion générique de mises à jour d'entité dans la base de données. 
 * 
 * @param details the object details. 
 * @param entityName the name of the entity 
 * @throws AppException application exception retrieving the 
 *   registrar
 * or during Mapper insert. 
 * @throws InformationalException information exception.
 */ 

public final void insert(final Object details, 
  final String entityName) 
    throws AppException, InformationalException
/** 
 * Generic Modify of entity updates to the database.  
 * 
 * @param details the object details. 
 * @param entityName the name of the entity 
 * @throws AppException application exception retrieving the 
 *   registrar 
 * or during Mapper modify.
 * @throws InformationalException information exception. 
 */ 
public final void modify(final Object details, 
  final String entityName) 
    throws AppException, InformationalException
/**
 * Generic remove of entity from the database.  
 *  
 * @param key the object key. 
 * @param entityName the name of the entity  
 * @throws AppException application exception.  
 * @throws InformationalException information exception.  
 */ 
public final void remove(final Object key, 
  final String entityName) throws AppException, 
    InformationalException