Gestion des résultats de recherche

Tout comme il est nécessaire de convertir les structs clés Cúram en objets CuramQuery, les documents CuramDocument renvoyés par les recherches doivent également être convertis en structs Cúram pour être utilisés dans l'application.

La méthode de recherche SearchServiceConnector renvoie les résultats sous forme d'un objet SearchServerResults. Il s'agit d'une liste de documents CuramDocument, chaque document CuramDocument contenant une liste de zones CuramField. Une classe utilitaire appelée curam.core.impl.util.CuramDocToResultStruct est fournie pour la conversion des documents CuramDocuments et des structs Cúram.

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

Cette méthode nécessite un document CuramDocument et une instance de struct (via le paramètre structObj). Pour chaque zone du document CuramDocument, la méthode essaye de trouver un attribut dans la struct dont le nom et le type de données sont les mêmes. Une struct contenant toutes les valeurs mappées est renvoyée, elle doit être transtypée vers une struct du bon type.

Si les noms des attributs de votre struct ne correspondent pas aux noms des zones définis pour votre service de recherche (voir Zone et nom), alors vous pouvez définir un mappage entre eux à l'aide du paramètre de dictionnaire. Le mappage s'effectue des noms de zone dans le service de recherche aux noms d'attribut dans la struct. Ajoutez simplement les paires de chaînes à la mappe de hachage, avec le nom de la zone comme clé et le nom de l'attribut de struct comme valeur. La fonction de conversion fait ensuite correspondre les noms de zone aux noms d'attribut à l'aide de cette mappe de hachage.

Remarque : Remarquez que les attributs de votre struct de résultats dont les noms correspondent aux zones dans votre document doivent contenir des types Cúram simples, et ne pas être des structs agrégées.