package org.jivesoftware.openfire.plugin.gojara.messagefilter.processors; import org.jivesoftware.openfire.interceptor.PacketRejectedException; import org.jivesoftware.openfire.plugin.gojara.database.DatabaseManager; import org.xmpp.packet.Packet; /** * This class is only for logging messages between the gateway and the * registered clients. It uses the database to save the packets from the past 60 * (configurable) minutes. * * @author Holger Bergunde * @author axel.frederik.brand */ public class StatisticsProcessor extends AbstractRemoteRosterProcessor{ private DatabaseManager _db; public StatisticsProcessor() { Log.info("Created StatisticsProcessor"); _db = DatabaseManager.getInstance(); } /** * At this Point we Already know: * neither of both JIDS is malformed (Package wouldn't have been intercepted) * Package is incoming & processed * * Either From or To contains the watched,passed subdomain * From does not Equal To (This way we exclude PING sent by spectrum To spectrum * From AND To are NOT empty (null), this way we exclude packets sent to server itself...change Maininterceptor if we want to change this * */ @Override public void process(Packet packet, String subdomain, String to, String from) throws PacketRejectedException { String type = packet.getClass().getName(); _db.addNewLogEntry(subdomain, type, from, to); } }