/* * DrakkarKeel - An Enterprise Collaborative Search Platform * * The contents of this file are subject under the terms described in the * DRAKKARKEEL_LICENSE file included in this distribution; you may not use this * file except in compliance with the License. * * 2013-2014 DrakkarKeel Platform. */ package drakkar.prow.facade.desktop.event; import drakkar.oar.facade.event.FacadeDesktopListener; public interface SearchListener extends FacadeDesktopListener { /** * Notifica al oyente FacadeListener registrado en la aplicación del cliente * los resultados de la búsqueda invocada * * @param evt instancia de SearchEvent * * <br><br> * El objeto SearchEvent(evt), en dependencia de la acción a notificar tiene la * tiene los siguientes parámetros: * <br><pre> * public void notifySearchResults(SearchEvent evt){ * Response rsp = evt.getResponse(); * int searchType = (Integer) rsp.get(SEARCH_TYPE); * switch (reply) { * case INDIVIDUAL_SEARCH: * ....... * case COLLAB_SEARCH: * ..... * } * } * </pre> * * La siguiente tabla muestra la relación de campos(clave-valor) de los posibles * tipos de eventos que pueden originar esta notificación. Las constantes clave(key) * pertenecen a la clase <b>​drakkar.oar.​util.​KeyTransaction </b> y los valores(values) a * la clase <b> drakkar.oar.​util.​SeekerAction </b>. * * * <br><br><table border = 1 summary="Shows property keys and associated values"> * <tr><th>Key</th> * <th>Associated Value</th><th>Description</th></tr> * <tr> * <td rowspan= 2><code>SEARCH_TYPE</code></td> * <td><code>INDIVIDUAL_SEARCH<code></td> * <td>Notifica los resultados de una búsqueda individual.</td> * </tr> * <tr> * <td><code>COLLAB_SEARCH<code></td> * <td>Notifica los resultados de una búsqueda colaborativa.</td> * </tr> * * </table> * * <br><b>Case:<b> INDIVIDUAL_SEARCH * <br><table border = 1 summary="Shows property keys and associated values"> * <tr> * <th>Key</th> * <th>Associated Value</th> * <th>Description</th></tr> * <tr> * <td><code>IS_EMPTY</code></td> * <td><code>Boolean<code></td> * <td>True si se encontraron resultados, false en caso contrario.</td> * </tr> * <tr> * <td><code>SEARCH_RESULTS<code></td> * <td><code>ResultSetMetaData<code></td> * <td>Resultados de la búsqueda.<b>Nota:</b> si IS_EMPTY = true, el valor de * este atributo será nulo, por lo que se recomienda verificar antes(IS_EMPTY). * </td> * </tr> * * </table> * * <br><b>Case:<b> COLLAB_SEARCH * <br><table border = 1 summary="Shows property keys and associated values"> * <tr> * <th>Key</th> * <th>Associated Value</th> * <th>Description</th></tr> * * <tr> * <td><code>SEARCH_RESULTS<code></td> * <td><code>ResultSetMetaData<code></td> * <td>Resultados de la búsqueda.</td> * </tr> * * <tr> * <td><code>SEEKER_EMITTER<code></td> * <td><code>Seeker<code></td> * <td>Instancia del objeto Seeker, que representa al seeker que ejecutó la * búsqueda colaborativa.</td> * </tr> * * </table> * */ public void notifySearchResults(SearchEvent evt); /** * Notifica los buscadores disponibles en el servidor * @param evt instancia de la evento SearchEvent * * * El objeto SearchEvent contiene la relación de buscadores disponibles en el * servidor, para la búsquedas de los clientes(seekers). * <pre> * public void notifyAvailableSearchers(SearchEvent evt){ * Response rsp = evt.getResponse(); * String [] searchers = (String[]) rsp.get(SEARCHERS); * ... * } * </pre> * * La siguiente tabla muestra la relación de campos(clave-valor) de esta notificación. * Las constantes clave(key) pertenecen a la clase <b>​drakkar.oar.​util.​KeyTransaction </b>. * * * <table border = 1 summary="Shows property keys and associated values"> * <tr><th>Key</th> * <th>Associated Value</th><th>Description</th></tr> * <tr> * <td><code>SEARCHERS</code></td> * <td><code>String[] <code></td> * <td>Listado de los nombres de buscadores disponibles en el servidor.</td> * </tr> * * </table> */ public void notifyAvailableSearchers(SearchEvent evt); /** * Notifica los servidores subversión disponibles en el servidor (Falta Arreglar esto) * * @param evt instancia de la evento SearchEvent * * * El objeto SearchEvent contiene la relación de buscadores disponibles en el * servidor, para la búsquedas de los clientes(seekers). * <pre> * public void notifyAvailableSearchers(SearchEvent evt){ * Response rsp = evt.getResponse(); * String [] searchers = (String[]) rsp.get(SEARCHERS); * ... * } * </pre> * * La siguiente tabla muestra la relación de campos(clave-valor) de esta notificación. * Las constantes clave(key) pertenecen a la clase <b>​drakkar.oar.​util.​KeyTransaction </b>. * * * <table border = 1 summary="Shows property keys and associated values"> * <tr><th>Key</th> * <th>Associated Value</th><th>Description</th></tr> * <tr> * <td><code>SEARCHERS</code></td> * <td><code>String[] <code></td> * <td>Listado de los nombres de buscadores disponibles en el servidor.</td> * </tr> * * </table> */ public void notifyAvailableSVNRepositories(SearchEvent evt); /** * Notifica los principios de búsqueda disponibles en el servidor * @param evt instancia de la evento SearchEvent * * * El objeto SearchEvent contiene la relación de buscadores disponibles en el * servidor, para la búsquedas de los clientes(seekers). * <pre> * public void notifyAvailableSearchPrinciples(SearchEvent evt){ * Response rsp = evt.getResponse(); * ArrayList<String> principles = (ArrayList<String>) rsp.get(SEARCH_PRINCIPLES); * ... * } * </pre> * * La siguiente tabla muestra la relación de campos(clave-valor) de esta notificación. * Las constantes clave(key) pertenecen a la clase <b>​drakkar.oar.​util.​KeyTransaction </b>. * * * <table border = 1 summary="Shows property keys and associated values"> * <tr><th>Key</th> * <th>Associated Value</th><th>Description</th></tr> * <tr> * <td ><code>SEARCH_PRINCIPLES</code></td> * <td><code>ArrayList<String> <code></td> * <td>Principios de búsquedas disponibles para el seeker.</td> * </tr> * * </table> */ public void notifyAvailableSearchPrinciples(SearchEvent evt); }