/** * Pre-processes incoming presence stanzas. This method checks for validity * of the messages (see {@link #servesLocalUsersOnly()}. If the stanza is * found to be legitimate, it is forwarded to * {@link #handlePresence(Presence)}. * * @param message * The presence stanza to process. */ private sealed void processPresence(Presence presence) { log.Trace("(serving component '{}') Processing presence stanza: {}", getName(), presence.toXML()); if (servesLocalUsersOnly() && !sentByLocalEntity(presence)) { log.Info("(serving component '{}') Dropping presence " + "stanza sent by a user from another domain: {}", getName(), presence.getFrom()); log.Debug("(serving component '{}') Dropping presence " + "stanza sent by a user from another domain: {}", getName(), presence.toXML()); return; } handlePresence(presence); }