Пример #1
0
		/**
	 * 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);
		}