Schnittstelle 'Mapper.getObjectList'

/** 
 * Populates the list with all entity objects for the 
 * Search Service given any one of the entity objects used. 
 * @param searchServiceId. the search service identifier 
 * @param obj. The entity object from which all other are 
 *   retrieved
 * @return the list of all entity objects for the this search
 *   service given a specified object parameter. 
 */  
List getObjectList(final SearchServiceKey serviceId, 
  final Object obj) throws AppException, 
    InformationalException;

Wie oben erwähnt, können Daten in einem Suchservice aus einer Reihe verschiedener Entitäten erfasst werden. Außerdem können diese Entitäten durch komplexe Fremdschlüsselbeziehungen zusammengehören (beispielsweise könnte ein Adresseintrag über die Entität 'addressID' mit einem Personeneintrag verbunden sein, die über die Entität 'concernRoleAddressID' verknüpft ist, welche wiederum über die Entität 'concernRoleID' verknüpft ist).

Durch die Aktualisierung einer dieser Entitäten mithilfe der Anwendung werden diese Beziehungen komplexer. Wenn das geschieht, muss der Server für generische Suche ermitteln können, welche Entität gerade betroffen ist, an welchen Suchabfragen sie beteiligt ist und wie sie mit allen anderen in den einzelnen Suchservices enthaltenen Entitäten verbunden ist.

Schließlich müssen ein oder mehrere Dokumente in einem oder mehreren Suchserviceindizes aktualisiert werden und die Angaben in diesen Dokumenten können aus einer Reihe von Entitäten erfasst werden, nicht nur aus der gerade geänderten Entität. Da jeder Suchservice jedoch nur eine einzige Zuordnungsfunktion besitzt, brauchen die einzelnen Implementierungen der Zuordnungsfunktion nur die Angaben zu ihrem eigenen Suchservice zusammenzustellen.

Die Schnittstellenmethode 'getObjectList' befasst sich mit diesem Problem. Bei einem einzelnen aktualisierten Entitätseintrag stellt 'getObjectList' alle anderen ???Dtls-Entitätseinträge zusammen, die für die Aktualisierung des entsprechenden Dokuments im aktuellen Suchserviceindex erforderlich sind. Die Methode 'getObjectList' muss so codiert werden, dass jede der an einem Suchservice beteiligten Entitäten als Startpunkt dieses Prozesses verwendet werden kann. 'getObjectList' hat folgende Aufgaben:

Die Methode 'mapper.getobjectList ()' wird bei folgenden Prozessen aufgerufen:

Beachten Sie, dass bei der ersten Datenbankextraktion die Schnittstellenmethode 'getObjectList' bei jedem aus 'ReadmultiOperation' abgerufenen Element aufgerufen wird. In der Regel ist dies die Entität der obersten Ebene für den vorliegenden Fall (Beispiel: Bei der Extraktion einer Personensuche werden alle Personeneinträge in einem readmulti-Vorgang gelesen. Danach wird 'getObjectList' für jeden Eintrag aufgerufen, um alle übrigen Informationen abzurufen, die für die Erstellung von 'SearchServiceRow' erforderlich sind).

Wenn diese Methode bei einer Eingabe aufgerufen wird, die für diesen Suchservice nicht relevant ist, sollte die Implementierung einfach eine leere Liste zurückgeben.