/* * Jicofo, the Jitsi Conference Focus. * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jitsi.jicofo.log; import org.jitsi.videobridge.log.*; /** * A utility class with static methods which initialize <tt>Event</tt> instances * with pre-determined fields. * * @author Boris Grozev */ public class LogEventFactory { /** * The names of the columns of a "focus created" event. */ private static final String[] FOCUS_CREATED_COLUMNS = new String[] { "room_jid" }; /** * The names of the columns of an "endpoint display name" event. */ private static final String[] ENDPOINT_DISPLAY_NAME_COLUMNS = new String[] { "conference_id", "endpoint_id", "display_name" }; /** * The names of the columns of a "peer connection stats" event. */ private static final String[] PEER_CONNECTION_STATS_COLUMNS = new String[] { "conference_id", "endpoint_id", "stats" }; /** * The names of the columns of a "conference room" event. */ private static final String[] CONFERENCE_ROOM_COLUMNS = new String[] { "conference_id", "room_jid" }; /** * Creates a new "focus created" <tt>Event</tt>. * @param roomJid the JID of the MUC for which the focus was created. * * @return the <tt>Event</tt> which was created. */ public static Event focusCreated( String roomJid) { return new Event("focus_created", FOCUS_CREATED_COLUMNS, new Object[] { roomJid, }); } /** * Creates a new "endpoint display name changed" <tt>Event</tt>, which * conference ID to the JID of the associated MUC. * * @param conferenceId the ID of the COLIBRI conference. * @param endpointId the ID of the COLIBRI endpoint. * @param displayName the new display name. * * @return the <tt>Event</tt> which was created. */ public static Event endpointDisplayNameChanged( String conferenceId, String endpointId, String displayName) { return new Event("endpoint_display_name", ENDPOINT_DISPLAY_NAME_COLUMNS, new Object[] { conferenceId, endpointId, displayName }); } public static Event peerConnectionStats( String conferenceId, String endpointId, String stats) { return new Event("peer_connection_stats", PEER_CONNECTION_STATS_COLUMNS, new Object[] { conferenceId, endpointId, stats }); } /** * Creates a new "room conference" <tt>Event</tt> which binds a COLIBRI * conference ID to the JID of the associated MUC. * * @param conferenceId the ID of the COLIBRI conference. * @param roomJid the JID of the MUC for which the focus was created. * * @return the <tt>Event</tt> which was created. */ public static Event conferenceRoom( String conferenceId, String roomJid) { return new Event("conference_room", CONFERENCE_ROOM_COLUMNS, new Object[] { conferenceId, roomJid }); } }