/* * 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.util.HashMap; import java.util.List; import java.util.Map; /** * Esta clase es permite construir objetos Request para efectuar los diferentes * métodos soportados por DRakkarKeel para la mensajería */ public class RequestMessageFactory implements Serializable{ private static final long serialVersionUID = 80000000000007L; /** * Devuelve un objeto Request para enviar un mensaje a toda la sesión * * @param sessionName nombre de la sesión * @param message contenido del mensaje * * @return objeto request * */ public static Request create(String sessionName, String message) { Map<Object, Object> hash = new HashMap<>(3); hash.put(OPERATION, SEND_SESSION_MESSAGE); hash.put(SESSION_NAME, sessionName); hash.put(MESSAGE, message); return new Request(hash); } /** * Devuelve un objeto Request para enviar un mensaje a un usuario determinado * * @param sessionName nombre de la sesión * @param receptor a quien va destinado el mensaje * @param message contenido del mensaje * * @return objeto request */ public static Request create(String sessionName, Seeker receptor, String message) { Map<Object, Object> hash = new HashMap<>(4); hash.put(OPERATION, SEND_SINGLE_MESSAGE); hash.put(SESSION_NAME, sessionName); hash.put(MEMBER_RECEPTOR, receptor); hash.put(MESSAGE, message); return new Request(hash); } /** * Devuelve un objeto Request para enviar un mensaje a un grupo de usuarios * * @param sessionName nombre de la sesión * @param receptors a quienes va destinado el mensaje * @param message contenido del mensaje * * @return objeto request */ public static Request create(String sessionName, List<Seeker> receptors, String message) { Map<Object, Object> hash = new HashMap<>(4); hash.put(OPERATION, SEND_GROUP_MESSAGE); hash.put(SESSION_NAME, sessionName); hash.put(SEEKERS_RECEPTORS, receptors); hash.put(MESSAGE, message); return new Request(hash); } }