@Override public void processStanza(Stanza packet) { final Message message = (Message) packet; // Get the MUCUser extension final MUCUser mucUser = MUCUser.from(message); // Check if the MUCUser extension includes an invitation if (mucUser.getInvite() != null) { EntityBareJid mucJid = message.getFrom().asEntityBareJidIfPossible(); if (mucJid == null) { LOGGER.warning("Invite to non bare JID: '" + message.toXML(null) + "'"); return; } // Fire event for invitation listeners final MultiUserChat muc = getMultiUserChat(mucJid); final XMPPConnection connection = connection(); final MUCUser.Invite invite = mucUser.getInvite(); final EntityJid from = invite.getFrom(); final String reason = invite.getReason(); final String password = mucUser.getPassword(); for (final InvitationListener listener : invitationsListeners) { listener.invitationReceived(connection, muc, from, reason, password, message, invite); } } } };
/** * Fires invitation listeners. */ private void fireInvitationListeners(String room, String inviter, String reason, String password, Message message) { InvitationListener[] listeners; synchronized (invitationsListeners) { listeners = new InvitationListener[invitationsListeners.size()]; invitationsListeners.toArray(listeners); } for (InvitationListener listener : listeners) { listener.invitationReceived(connection, room, inviter, reason, password, message); } }
/** * Fires invitation listeners. */ private void fireInvitationListeners(String room, String inviter, String reason, String password, Message message) { InvitationListener[] listeners; synchronized (invitationsListeners) { listeners = new InvitationListener[invitationsListeners.size()]; invitationsListeners.toArray(listeners); } for (InvitationListener listener : listeners) { listener.invitationReceived(connection, room, inviter, reason, password, message); } }
/** * Fires invitation listeners. */ private void fireInvitationListeners(String room, String inviter, String reason, String password, Message message) { InvitationListener[] listeners; synchronized (invitationsListeners) { listeners = new InvitationListener[invitationsListeners.size()]; invitationsListeners.toArray(listeners); } for (InvitationListener listener : listeners) { listener.invitationReceived(connection, room, inviter, reason, password, message); } }
/** * Fires invitation listeners. */ private void fireInvitationListeners(String room, String inviter, String reason, String password, Message message) { InvitationListener[] listeners = null; synchronized (invitationsListeners) { listeners = new InvitationListener[invitationsListeners.size()]; invitationsListeners.toArray(listeners); } for (int i = 0; i < listeners.length; i++) { listeners[i].invitationReceived(connection, room, inviter, reason, password, message); } }