Search in sources :

Example 1 with ComponentManager

use of org.xmpp.component.ComponentManager in project Openfire by igniterealtime.

the class KrakenPlugin method initializePlugin.

public void initializePlugin(PluginManager manager, File pluginDirectory) {
    setLoggerProperty("log4j.appender.openfire", "net.sf.kraken.util.Log4JToOpenfireAppender");
    setLoggerProperty("log4j.appender.openfiredebug", "net.sf.kraken.util.DebugOnlyLog4JToOpenfireAppender");
    setLoggerProperty("log4j.net.sf.kraken", "TRACE, openfire");
    this.pluginDirectory = pluginDirectory;
    this.pluginManager = manager;
    // Check if the IM Gateway plugin is installed and stop loading this plugin if found
    File pluginDir = new File(JiveGlobals.getHomeDirectory(), "plugins");
    File[] jars = pluginDir.listFiles(new FileFilter() {

        public boolean accept(File pathname) {
            String fileName = pathname.getName().toLowerCase();
            return (fileName.equalsIgnoreCase("gateway.jar"));
        }
    });
    if (jars.length > 0) {
        // Do not load this plugin since the original IM Gateway plugin is still installed
        System.out.println("IM Gateway plugin found. Stopping Kraken");
        throw new IllegalStateException("This plugin cannot run next to the IM Gateway plugin");
    }
    transports = new Hashtable<String, TransportInstance>();
    ComponentManager componentManager = ComponentManagerFactory.getComponentManager();
    sessionRouter = new TransportSessionRouter(this);
    /* Set up AIM transport. */
    transports.put("aim", new TransportInstance(TransportType.aim, LocaleUtils.getLocalizedString("gateway.aim.name", "kraken"), "net.sf.kraken.protocols.oscar.OSCARTransport", componentManager, sessionRouter));
    maybeStartService("aim");
    /* Set up ICQ transport. */
    transports.put("icq", new TransportInstance(TransportType.icq, LocaleUtils.getLocalizedString("gateway.icq.name", "kraken"), "net.sf.kraken.protocols.oscar.OSCARTransport", componentManager, sessionRouter));
    maybeStartService("icq");
    /* Set up IRC transport. */
    transports.put("irc", new TransportInstance(TransportType.irc, LocaleUtils.getLocalizedString("gateway.irc.name", "kraken"), "net.sf.kraken.protocols.irc.IRCTransport", componentManager, sessionRouter));
    maybeStartService("irc");
    /* Set up MSN transport. */
    transports.put("msn", new TransportInstance(TransportType.msn, LocaleUtils.getLocalizedString("gateway.msn.name", "kraken"), "net.sf.kraken.protocols.msn.MSNTransport", componentManager, sessionRouter));
    maybeStartService("msn");
    /* Set up Yahoo transport. */
    transports.put("yahoo", new TransportInstance(TransportType.yahoo, LocaleUtils.getLocalizedString("gateway.yahoo.name", "kraken"), "net.sf.kraken.protocols.yahoo.YahooTransport", componentManager, sessionRouter));
    maybeStartService("yahoo");
    /* Set up XMPP transport. */
    transports.put("xmpp", new TransportInstance(TransportType.xmpp, LocaleUtils.getLocalizedString("gateway.xmpp.name", "kraken"), "net.sf.kraken.protocols.xmpp.XMPPTransport", componentManager, sessionRouter));
    maybeStartService("xmpp");
    /* Set up GTalk transport. */
    transports.put("gtalk", new TransportInstance(TransportType.gtalk, LocaleUtils.getLocalizedString("gateway.gtalk.name", "kraken"), "net.sf.kraken.protocols.xmpp.XMPPTransport", componentManager, sessionRouter));
    maybeStartService("gtalk");
    /* Set up LiveJournal transport. */
    transports.put("livejournal", new TransportInstance(TransportType.livejournal, LocaleUtils.getLocalizedString("gateway.livejournal.name", "kraken"), "net.sf.kraken.protocols.xmpp.XMPPTransport", componentManager, sessionRouter));
    maybeStartService("livejournal");
    /* Set up SIMPLE transport. */
    transports.put("simple", new TransportInstance(TransportType.simple, LocaleUtils.getLocalizedString("gateway.simple.name", "kraken"), "net.sf.kraken.protocols.simple.SimpleTransport", componentManager, sessionRouter));
    maybeStartService("simple");
    /* Set up Gadu-Gadu transport. */
    transports.put("gadugadu", new TransportInstance(TransportType.gadugadu, LocaleUtils.getLocalizedString("gateway.gadugadu.name", "kraken"), "net.sf.kraken.protocols.gadugadu.GaduGaduTransport", componentManager, sessionRouter));
    maybeStartService("gadugadu");
    /* Set up QQ transport. */
    transports.put("qq", new TransportInstance(TransportType.qq, LocaleUtils.getLocalizedString("gateway.qq.name", "kraken"), "net.sf.kraken.protocols.qq.QQTransport", componentManager, sessionRouter));
    maybeStartService("qq");
    /* Set up SameTime transport. */
    transports.put("sametime", new TransportInstance(TransportType.sametime, LocaleUtils.getLocalizedString("gateway.sametime.name", "kraken"), "net.sf.kraken.protocols.sametime.SameTimeTransport", componentManager, sessionRouter));
    maybeStartService("sametime");
    /* Set up Facebook transport. */
    transports.put("facebook", new TransportInstance(TransportType.facebook, LocaleUtils.getLocalizedString("gateway.facebook.name", "kraken"), "net.sf.kraken.protocols.xmpp.XMPPTransport", componentManager, sessionRouter));
    maybeStartService("facebook");
    /* Set up MySpaceIM transport. */
    transports.put("myspaceim", new TransportInstance(TransportType.myspaceim, LocaleUtils.getLocalizedString("gateway.myspaceim.name", "kraken"), "net.sf.kraken.protocols.myspaceim.MySpaceIMTransport", componentManager, sessionRouter));
    maybeStartService("myspaceim");
    /* Set up RenRen transport. */
    transports.put("renren", new TransportInstance(TransportType.renren, LocaleUtils.getLocalizedString("gateway.renren.name", "kraken"), "net.sf.kraken.protocols.xmpp.XMPPTransport", componentManager, sessionRouter));
    maybeStartService("renren");
}
Also used : TransportSessionRouter(net.sf.kraken.session.cluster.TransportSessionRouter) ComponentManager(org.xmpp.component.ComponentManager) FileFilter(java.io.FileFilter) File(java.io.File)

Aggregations

File (java.io.File)1 FileFilter (java.io.FileFilter)1 TransportSessionRouter (net.sf.kraken.session.cluster.TransportSessionRouter)1 ComponentManager (org.xmpp.component.ComponentManager)1