Cómo trabajar con resultados de búsqueda

De forma similar al requisito de convertir estructuras clave de Cúram en objetos CuramQuery, los CuramDocuments devueltos por las búsquedas también deben convertirse en estructuras de Cúram para ser utilizados en la aplicación.

El método de búsqueda SearchServiceConnector devuelve resultados en forma de objeto SearchServerResults. Consta de una lista de CuramDocuments y cada CuramDocument consta de una lista de CuramFields. Se proporciona una clase de programa de utilidad denominada curam.core.impl.util.CuramDocToResultStruct para convertir entre CuramDocuments y estructuras de Cúram.

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

Este método toma un CuramDocument y una instancia de estructura (por medio del parámetro structObj). Para cada campo del CuramDocument, el método intenta encontrar un atributo en la estructura con el mismo nombre y tipo de datos. Se devuelve una estructura que contiene todos los valores correlacionados y se debe convertir en una estructura del tipo correcto.

Si los nombres de los atributos de su estructura no se corresponden con los nombres de los campos que ha definido para el servicio de búsqueda (consulte el apartado Campo y name), puede definir una correlación entre ellos utilizando el parámetro dictionary. La correlación es de los nombres de campo del servicio de búsqueda con los nombres de atributos de la estructura; solo tiene que añadir los pares de series a la correlación hash, con el nombre del campo como clave y el nombre del campo atributo de estructura como valor. La función de conversión hará coincidir después los nombres de los campos con los nombres de los atributo utilizando esta correlación hash

Nota: Tenga en cuenta que los atributos de la estructura de resultados cuyos nombres corresponden a los campos del documento deben tener tipos de Cúram simples y no deben ser estructuras agregadas.