Synchronisation zu jeder Suchentität hinzufügen

Wie bereits angemerkt, muss die Staging-Datenbank des Servers für generische Suche aktualisiert werden, wenn an Entitäten Änderungen vorgenommen werden, die zum Suchservice gehören. Eine einzelne Entität kann in mehreren Suchservices verwendet werden und jeder dieser Suchservices muss Änderungen an dieser Entität widerspiegeln.

Die Klasse SearchController muss sicherstellen, dass alle Informationen der Staging-Datenbank aktuell sind. Wenn der entsprechende Vorgang der Suchserviceentität ausgeführt wird, müssen die Methoden insert, modify und remove der Klasse SearchController von der Anwendung aufgerufen werden. Mit den Vorgängen insert und modify des Suchcontrollers werden die detaillierten Strukturdaten zu der angegebenen Entität in die Tabelle 'SearchServiceRow' eingefügt. Für die Schnittstelle remove ist ein Schlüssel erforderlich, mit dem das zu entfernende Entitätsobjekt und der Name der Entität angegeben werden.

/** 
 * Generic insertion 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 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