Suchergebnisse bearbeiten

Ähnlich wie die Cúram-Schlüsselstrukturen in CuramQuery-Objekte konvertiert werden müssen, sind auch die bei Suchabfragen zurückgegebenen CuramDocument-Objekte für die Verwendung in der Anwendung in Cúram-Strukturen zu konvertieren.

Bei der Suchmethode SearchServiceConnector werden die Ergebnisse in Form eines SearchServerResults-Objekts zurückgegeben. Dieses besteht aus einer Liste von CuramDocument-Objekten und jedes CuramDocument-Objekt besteht aus einer Liste von CuramField-Objekten. Für die Konvertierung zwischen CuramDocument-Objekten und Cúram-Strukturen wird eine Dienstprogrammklasse namens curam.core.impl.util.CuramDocToResultStruct bereitgestellt.

static java.lang.Object convert(CuramDocument document, 
     java.lang.Object structObj, 
     java.util.HashMap dictionary)

Diese Methode verwendet ein CuramDocument-Objekt und eine Strukturinstanz (über den Parameter 'structObj'). Die Methode versucht, für jedes Feld in dem CuramDocument-Objekt ein Attribut in der Struktur zu finden, das denselben Namen und Datentyp aufweist. Es wird eine Struktur zurückgegeben, die alle zugeordneten Werte enthält. Diese sollte in eine Struktur des korrekten Typs umgesetzt werden.

Wenn die Namen der Attribute Ihrer Struktur nicht den Namen entsprechen, die Sie für Ihren Suchservice definiert haben (siehe Feld und name), können Sie mithilfe des Parameters 'dictionary' eine Zuordnung zwischen ihnen definieren. Die Zuordnung erfolgt von den Feldnamen in dem Suchservice zu den Attributnamen in der Struktur. Fügen Sie die Zeichenfolgepaare einfach zu der HashMap hinzu, wobei der Feldname als Schlüssel und der Name des Strukturattributs als Wert dient. Die Konvertierungsfunktion gleicht dann mit dieser HashMap die Feldnamen mit den Attributnamen ab.

Anmerkung: Beachten Sie, dass die Attribute in Ihrer Ergebnisstruktur, deren Namen mit Feldern in Ihrem Dokument übereinstimmen, einfache Cúram-Typen haben müssen, keine aggregierten Strukturen.