/* * 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; import drakkar.oar.Request; import drakkar.oar.Seeker; import static drakkar.oar.util.KeyTransaction.*; import static drakkar.oar.util.SeekerAction.*; import java.io.Serializable; import java.sql.Date; import java.util.HashMap; import java.util.Map; /** * Esta clase permite construir objetos Request para efectuar las diferentes * operaciones soportados por DrakkarKeel referente a las búsquedas en historiales */ public class RequestTrackFactory implements Serializable{ private static final long serialVersionUID = 80000000000012L; public RequestTrackFactory() { } /*********************TRACK RECOMMENDATION********************************/ /** * Devuelve un objeto Request para solicitar el historial de recomendaciones a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * * @return objeto Request */ public static Request getRFRecommendationTrack(String sessionName) { Map<Object, Object> hash = new HashMap<>(3); hash.put(OPERATION, GET_RECOMMENDATION_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, SESSION_TRACK); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de recomendaciones a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param seeker usuario que realizó la búsqueda * * * @return objeto Request */ public static Request getRFRecommendationTrack(String sessionName, Seeker seeker) { Map<Object, Object> hash = new HashMap<>(4); hash.put(OPERATION, GET_RECOMMENDATION_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(SEEKER, seeker); hash.put(TRACK_FILTER, SEEKER_TRACK); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de recomendaciones a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param date fecha en que se realizó la búsqueda * * @return objeto Request */ public static Request getRFRecommendationTrack(String sessionName, Date date) { Map<Object, Object> hash = new HashMap<>(4); hash.put(OPERATION, GET_RECOMMENDATION_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, DATE_TRACK); hash.put(DATE, date); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de recomendaciones a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param query consulta de la búsqueda * * * @return objeto Request */ public static Request getRFRecommendationTrack(String sessionName, String query) { Map<Object, Object> hash = new HashMap<>(4); hash.put(OPERATION, GET_RECOMMENDATION_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, QUERY_TRACK); hash.put(QUERY, query); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de recomendaciones a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param seeker usuario que realizó la búsqueda * @param query consulta de la búsqueda * * * @return objeto Request */ public static Request getRFRecommendationTrack(String sessionName, Seeker seeker, String query) { Map<Object, Object> hash = new HashMap<>(5); hash.put(OPERATION, GET_RECOMMENDATION_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, QUERY_SEEKER_TRACK); hash.put(SEEKER, seeker); hash.put(QUERY, query); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de recomendaciones a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param date fecha en que se realizó la búsqueda * @param query consulta de la búsqueda * * * @return objeto Request */ public static Request getRFRecommendationTrack(String sessionName, String query, Date date) { Map<Object, Object> hash = new HashMap<>(5); hash.put(OPERATION, GET_RECOMMENDATION_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, QUERY_DATE_TRACK); hash.put(DATE, date); hash.put(QUERY, query); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de recomendaciones a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param seeker usuario que realizó la búsqueda * @param date fecha en que se realizó la búsqueda * * * @return objeto Request */ public static Request getRFRecommendationTrack(String sessionName, Seeker seeker, Date date) { Map<Object, Object> hash = new HashMap<>(5); hash.put(OPERATION, GET_RECOMMENDATION_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, SEEKER_DATE_TRACK); hash.put(SEEKER, seeker); hash.put(DATE, date); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de recomendaciones a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param seeker usuario que realizó la búsqueda * @param date fecha en que se realizó la búsqueda * @param query consulta de la búsqueda * * * @return objeto Request */ public static Request getRFRecommendationTrack(String sessionName, Seeker seeker, Date date, String query) { Map<Object, Object> hash = new HashMap<>(6); hash.put(OPERATION, GET_RECOMMENDATION_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, QUERY_SEEKER_DATE_TRACK); hash.put(SEEKER, seeker); hash.put(DATE, date); hash.put(QUERY, query); return new Request(hash); } /*********************TRACK SEARCH********************************/ /** * Devuelve un objeto Request para solicitar el historial de búsquedas a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param group clasificador de documentos * * <b>Nota:</b> * Las posibles constantes para clasificar los documentos están definidas en * la clase SeekerAction del paquete drakkar.oar.util, ellas son: * <br> * <br> * <tt>- TRACK_SEARCH_REVIEWED/Revisados</tt><br> * <tt>- TRACK_SEARCH_SELECTED_RELEVANT/Seleccionados Relevantes</tt> * <tt>- TRACK_SEARCH_ALL/Todos</tt> * <br> * <br> * * @return objeto Request */ public static Request getRFSearchTrack(String sessionName, int group) { Map<Object, Object> hash = new HashMap<>(4); hash.put(OPERATION, GET_SEARCH_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, SESSION_TRACK); hash.put(DOCUMENT_GROUP, group); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de búsquedas a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param seeker usuario que realizó la búsqueda * @param group clasificador de documentos * * <b>Nota:</b> * Las posibles constantes para clasificar los documentos están definidas en * la clase SeekerAction del paquete drakkar.oar.util, ellas son: * <br> * <br> * <tt>- TRACK_SEARCH_REVIEWED/Revisados</tt><br> * <tt>- TRACK_SEARCH_SELECTED_RELEVANT/Seleccionados Relevantes</tt> * <tt>- TRACK_SEARCH_ALL/Todos</tt> * <br> * <br> * * @return objeto Request */ public static Request getRFSearchTrack(String sessionName, Seeker seeker, int group) { Map<Object, Object> hash = new HashMap<>(5); hash.put(OPERATION, GET_SEARCH_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(SEEKER, seeker); hash.put(TRACK_FILTER, SEEKER_TRACK); hash.put(DOCUMENT_GROUP, group); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de búsquedas a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param date fecha en que se realizó la búsqueda * @param group clasificador de documentos * * <b>Nota:</b> * Las posibles constantes para clasificar los documentos están definidas en * la clase SeekerAction del paquete drakkar.oar.util, ellas son: * <br> * <br> * <tt>- TRACK_SEARCH_REVIEWED/Revisados</tt><br> * <tt>- TRACK_SEARCH_SELECTED_RELEVANT/Seleccionados Relevantes</tt> * <tt>- TRACK_SEARCH_ALL/Todos</tt> * <br> * <br> * * @return objeto Request */ public static Request getRFSearchTrack(String sessionName, Date date, int group) { Map<Object, Object> hash = new HashMap<>(5); hash.put(OPERATION, GET_SEARCH_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, DATE_TRACK); hash.put(DATE, date); hash.put(DOCUMENT_GROUP, group); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de búsquedas a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param query consulta de la búsqueda * @param group clasificador de documentos * * <b>Nota:</b> * Las posibles constantes para clasificar los documentos están definidas en * la clase SeekerAction del paquete drakkar.oar.util, ellas son: * <br> * <br> * <tt>- TRACK_SEARCH_REVIEWED/Revisados</tt><br> * <tt>- TRACK_SEARCH_SELECTED_RELEVANT/Seleccionados Relevantes</tt> * <tt>- TRACK_SEARCH_ALL/Todos</tt> * <br> * <br> * * @return objeto Request */ public static Request getRFSearchTrack(String sessionName, String query, int group) { Map<Object, Object> hash = new HashMap<>(5); hash.put(OPERATION, GET_SEARCH_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, QUERY_TRACK); hash.put(QUERY, query); hash.put(DOCUMENT_GROUP, group); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de búsquedas a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param seeker usuario que realizó la búsqueda * @param query consulta de la búsqueda * @param group clasificador de documentos * * <b>Nota:</b> * Las posibles constantes para clasificar los documentos están definidas en * la clase SeekerAction del paquete drakkar.oar.util, ellas son: * <br> * <br> * <tt>- TRACK_SEARCH_REVIEWED/Revisados</tt><br> * <tt>- TRACK_SEARCH_SELECTED_RELEVANT/Seleccionados Relevantes</tt> * <tt>- TRACK_SEARCH_ALL/Todos</tt> * <br> * <br> * * @return objeto Request */ public static Request getRFSearchTrack(String sessionName, Seeker seeker, String query, int group) { Map<Object, Object> hash = new HashMap<>(6); hash.put(OPERATION, GET_SEARCH_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, QUERY_SEEKER_TRACK); hash.put(SEEKER, seeker); hash.put(QUERY, query); hash.put(DOCUMENT_GROUP, group); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de búsquedas a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param date fecha en que se realizó la búsqueda * @param query consulta de la búsqueda * @param group clasificador de documentos * * <b>Nota:</b> * Las posibles constantes para clasificar los documentos están definidas en * la clase SeekerAction del paquete drakkar.oar.util, ellas son: * <br> * <br> * <tt>- TRACK_SEARCH_REVIEWED/Revisados</tt><br> * <tt>- TRACK_SEARCH_SELECTED_RELEVANT/Seleccionados Relevantes</tt> * <tt>- TRACK_SEARCH_ALL/Todos</tt> * <br> * <br> * * @return objeto Request */ public static Request getRFSearchTrack(String sessionName, String query, Date date, int group) { Map<Object, Object> hash = new HashMap<>(6); hash.put(OPERATION, GET_SEARCH_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, QUERY_DATE_TRACK); hash.put(DATE, date); hash.put(QUERY, query); hash.put(DOCUMENT_GROUP, group); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de búsquedas a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param seeker usuario que realizó la búsqueda * @param date fecha en que se realizó la búsqueda * @param group clasificador de documentos * * <b>Nota:</b> * Las posibles constantes para clasificar los documentos están definidas en * la clase SeekerAction del paquete drakkar.oar.util, ellas son: * <br> * <br> * <tt>- TRACK_SEARCH_REVIEWED/Revisados</tt><br> * <tt>- TRACK_SEARCH_SELECTED_RELEVANT/Seleccionados Relevantes</tt> * <tt>- TRACK_SEARCH_ALL/Todos</tt> * <br> * <br> * * @return objeto Request */ public static Request getRFSearchTrack(String sessionName, Seeker seeker, Date date, int group) { Map<Object, Object> hash = new HashMap<>(6); hash.put(OPERATION, GET_SEARCH_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, SEEKER_DATE_TRACK); hash.put(SEEKER, seeker); hash.put(DATE, date); hash.put(DOCUMENT_GROUP, group); return new Request(hash); } /** * Devuelve un objeto Request para solicitar el historial de búsquedas a * partir de los parámetros entrados * * @param sessionName nombre de la sesión * @param seeker usuario que realizó la búsqueda * @param date fecha en que se realizó la búsqueda * @param query consulta de la búsqueda * @param group clasificador de documentos * * <b>Nota:</b> * Las posibles constantes para clasificar los documentos están definidas en * la clase SeekerAction del paquete drakkar.oar.util, ellas son: * <br> * <br> * <tt>- TRACK_SEARCH_REVIEWED/Revisados</tt><br> * <tt>- TRACK_SEARCH_SELECTED_RELEVANT/Seleccionados Relevantes</tt> * <tt>- TRACK_SEARCH_ALL/Todos</tt> * <br> * <br> * * @return objeto Request */ public static Request getRFSearchTrack(String sessionName, Seeker seeker, Date date, String query, int group) { Map<Object, Object> hash = new HashMap<>(7); hash.put(OPERATION, GET_SEARCH_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(TRACK_FILTER, QUERY_SEEKER_DATE_TRACK); hash.put(SEEKER, seeker); hash.put(DATE, date); hash.put(QUERY, query); hash.put(DOCUMENT_GROUP, group); return new Request(hash); } ////////////////////// /** * Devuelve un objeto Request para solicitar la lista de consultas efectuadas * en una sesión para una fecha de la sesión, por los miembros de la misma. * * @param sessionName nombre de la sesión * @param date * * @return objeto Request */ public static Request getRFSessionTrack(String sessionName, Date date) { Map<Object, Object> hash = new HashMap<>(3); hash.put(OPERATION, GET_SESSION_TRACK); hash.put(SESSION_NAME, sessionName); hash.put(DATE, date); return new Request(hash); } }