org.nuiton.wikitty
Class XMPPNotifierTransporter

java.lang.Object
  extended by org.nuiton.wikitty.XMPPNotifierTransporter
All Implemented Interfaces:
org.jivesoftware.smack.PacketListener, WikittyServiceNotifier.RemoteNotifierTransporter

public class XMPPNotifierTransporter
extends java.lang.Object
implements org.jivesoftware.smack.PacketListener, WikittyServiceNotifier.RemoteNotifierTransporter

Transporter d'event via xmpp. Pour que ca fonctionne il faut un serveur xmpp avec une room

Configuration

  • wikitty.xmpp.server = adresse du serveur (ex: im.codelutin.com)
  • wikitty.xmpp.room = adresse de la room (ex: wikitty-event@im.codelutin.com)
  • wikitty.notification.persistent = [true|false] indique si on doit recevoir tous les messages sans en loupe un seul. Pour cela il faut que la room soit archivee. (FIXME poussin 20101014 pas encore implantee)

    Version:
    $Revision$ Last update: $Date$ by : $Author$
    Author:
    poussin

    Field Summary
    protected  org.jivesoftware.smack.XMPPConnection connection
               
    protected  org.jivesoftware.smackx.muc.MultiUserChat muc
               
    protected  boolean persistent
              if persistent is true use Chat otherwize use MUC.
    static java.lang.String PROPERTY_EVENT_NAME
               
    protected  java.lang.String pseudo
               
    protected  java.lang.String room
               
    static java.lang.String WIKITTY_NOTIFICATION_PERSISTENT
               
    static java.lang.String WIKITTY_XMPP_ROOM
               
    static java.lang.String WIKITTY_XMPP_SERVER
               
    protected  WikittyServiceNotifier ws
              Notifier service reference reference.
     
    Constructor Summary
    XMPPNotifierTransporter(WikittyServiceNotifier ws, java.util.Properties props)
               
     
    Method Summary
    static java.lang.String getUniqueLoginName()
              Recherche le meilleur nom a utiliser comme pseudo pour cette machine.
    protected  void initXMPP(java.util.Properties props)
              Si persistent est vrai alors il faut toujours utilise le meme user id
     void processPacket(org.jivesoftware.smack.packet.Packet packet)
              used for MUC message
     void sendMessage(WikittyServiceEvent event)
              Send a jgroup message to all other channel member.
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Field Detail

    PROPERTY_EVENT_NAME

    public static final java.lang.String PROPERTY_EVENT_NAME
    See Also:
    Constant Field Values

    WIKITTY_XMPP_SERVER

    public static final java.lang.String WIKITTY_XMPP_SERVER
    See Also:
    Constant Field Values

    WIKITTY_XMPP_ROOM

    public static final java.lang.String WIKITTY_XMPP_ROOM
    See Also:
    Constant Field Values

    WIKITTY_NOTIFICATION_PERSISTENT

    public static final java.lang.String WIKITTY_NOTIFICATION_PERSISTENT
    See Also:
    Constant Field Values

    ws

    protected WikittyServiceNotifier ws
    Notifier service reference reference.


    persistent

    protected boolean persistent
    if persistent is true use Chat otherwize use MUC. Chat permit to received event missed after deconnection


    room

    protected java.lang.String room

    pseudo

    protected java.lang.String pseudo

    connection

    protected org.jivesoftware.smack.XMPPConnection connection

    muc

    protected org.jivesoftware.smackx.muc.MultiUserChat muc
    Constructor Detail

    XMPPNotifierTransporter

    public XMPPNotifierTransporter(WikittyServiceNotifier ws,
                                   java.util.Properties props)
    Parameters:
    ws -
    props -
    Method Detail

    initXMPP

    protected void initXMPP(java.util.Properties props)
    Si persistent est vrai alors il faut toujours utilise le meme user id

    Parameters:
    props -

    sendMessage

    public void sendMessage(WikittyServiceEvent event)
                     throws java.lang.Exception
    Description copied from interface: WikittyServiceNotifier.RemoteNotifierTransporter
    Send a jgroup message to all other channel member.

    Specified by:
    sendMessage in interface WikittyServiceNotifier.RemoteNotifierTransporter
    Parameters:
    event - message to send
    Throws:
    java.lang.Exception

    processPacket

    public void processPacket(org.jivesoftware.smack.packet.Packet packet)
    used for MUC message

    Specified by:
    processPacket in interface org.jivesoftware.smack.PacketListener
    Parameters:
    packet -

    getUniqueLoginName

    public static java.lang.String getUniqueLoginName()
    Recherche le meilleur nom a utiliser comme pseudo pour cette machine. Un UUID est toujours ajouter en debut, pour potentiellement lancer plusieurs application en meme temps sur la meme machine et etre sur que le pseudo soit bien unique. Le pseudo, n'est pas seulement un UUID, pour pouvoir facilement faire du debug en entrant dans le channel et voir les ip des machiens connectees

    Returns:


    Copyright © 2009-2010 CodeLutin. All Rights Reserved.