org.nuiton.wikitty.services
Class WikittyServiceSlave

java.lang.Object
  extended by org.nuiton.wikitty.services.WikittyServiceDelegator
      extended by org.nuiton.wikitty.services.WikittyServiceSlave
All Implemented Interfaces:
org.jivesoftware.smack.PacketListener, WikittyService

public class WikittyServiceSlave
extends WikittyServiceDelegator
implements org.jivesoftware.smack.PacketListener

This classe override all modification method (store, delete, clear) to send modification to master. All read method are directly done localy. Slave is listener of master event and synchronize local data when event are received Configuration:

  • master service url
  • master service xmpp room
  • sync state file
  • sync state intervale Il n'est pas necessaire que l'on sache exactement quel est le dernier event jouer. Car on peut rejouer plusieurs fois l'event sans qu'il y ait de probleme. Il faut juste que l'on ne loupe pas d'event.

    Version:
    $Revision: 650 $ Last update: $Date: 2010-12-23 12:44:57 +0100 (jeu., 23 déc. 2010) $ by : $Author: sletellier $
    Author:
    poussin

    Nested Class Summary
     
    Nested classes/interfaces inherited from interface org.nuiton.wikitty.WikittyService
    WikittyService.ServiceListenerType
     
    Field Summary
    protected  org.nuiton.util.ApplicationConfig config
               
    protected  long lastState
               
    protected  long lastStateSaveDate
               
    protected  WikittyService master
               
    protected  String pseudo
               
    protected  String room
               
    protected  int syncIntervale
               
    protected  RandomAccessFile syncStateFile
               
     
    Fields inherited from class org.nuiton.wikitty.services.WikittyServiceDelegator
    delegate
     
    Constructor Summary
    WikittyServiceSlave(org.nuiton.util.ApplicationConfig config, WikittyService ws)
               
     
    Method Summary
     WikittyEvent clear(String securityToken)
               
     WikittyEvent delete(String securityToken, Collection<String> ids)
               
     WikittyEvent deleteExtension(String securityToken, Collection<String> extNames)
               
     WikittyEvent deleteTree(String securityToken, String wikittyId)
               
    protected  long getLastState()
               
    protected  void initXMPP(org.nuiton.util.ApplicationConfig config)
              TODO poussin 20101117 reutilise le transporter plutot que de dupliquer le code.
     String login(String login, String password)
               
     void logout(String securityToken)
               
     void processPacket(org.jivesoftware.smack.packet.Packet packet)
              used for MUC message
    protected  void processRemoteEvent(WikittyEvent event)
               
    protected  void setLastState(long date)
               
     WikittyEvent store(String securityToken, Collection<Wikitty> wikitties, boolean force)
               
     WikittyEvent storeExtension(String securityToken, Collection<WikittyExtension> exts)
               
     
    Methods inherited from class org.nuiton.wikitty.services.WikittyServiceDelegator
    addWikittyServiceListener, canDelete, canRead, canWrite, exists, findAllByCriteria, findByCriteria, getAllExtensionIds, getAllExtensionsRequires, getDelegate, isDeleted, removeWikittyServiceListener, replay, restore, restoreChildren, restoreExtension, restoreExtensionLastVersion, restoreNode, restoreTree, restoreVersion, setDelegate, syncSearchEngine
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Field Detail

    room

    protected String room

    pseudo

    protected String pseudo

    master

    protected WikittyService master

    config

    protected org.nuiton.util.ApplicationConfig config

    lastState

    protected long lastState

    syncStateFile

    protected RandomAccessFile syncStateFile

    syncIntervale

    protected int syncIntervale

    lastStateSaveDate

    protected long lastStateSaveDate
    Constructor Detail

    WikittyServiceSlave

    public WikittyServiceSlave(org.nuiton.util.ApplicationConfig config,
                               WikittyService ws)
    Method Detail

    getLastState

    protected long getLastState()

    setLastState

    protected void setLastState(long date)

    initXMPP

    protected void initXMPP(org.nuiton.util.ApplicationConfig config)
    TODO poussin 20101117 reutilise le transporter plutot que de dupliquer le code. Le probleme est de passer de la meilleur facon possible le xmpp server et la room qui ne sont pas donnes par les memes cles de config. Il y a aussi l'historique qu'il faut recuperer ici alors que dans le transporter qui est utilise pour les client, il n'y a pas besoin d'historique. Le but est de pouvoir creer facilement de nouveau transporter sans devoir modifier cette classe. Si persistent est vrai alors il faut toujours utilise le meme user id

    Parameters:
    props -

    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 -

    processRemoteEvent

    protected void processRemoteEvent(WikittyEvent event)

    login

    public String login(String login,
                        String password)
    Specified by:
    login in interface WikittyService
    Overrides:
    login in class WikittyServiceDelegator

    logout

    public void logout(String securityToken)
    Specified by:
    logout in interface WikittyService
    Overrides:
    logout in class WikittyServiceDelegator

    store

    public WikittyEvent store(String securityToken,
                              Collection<Wikitty> wikitties,
                              boolean force)
    Specified by:
    store in interface WikittyService
    Overrides:
    store in class WikittyServiceDelegator

    storeExtension

    public WikittyEvent storeExtension(String securityToken,
                                       Collection<WikittyExtension> exts)
    Specified by:
    storeExtension in interface WikittyService
    Overrides:
    storeExtension in class WikittyServiceDelegator

    delete

    public WikittyEvent delete(String securityToken,
                               Collection<String> ids)
    Specified by:
    delete in interface WikittyService
    Overrides:
    delete in class WikittyServiceDelegator

    deleteExtension

    public WikittyEvent deleteExtension(String securityToken,
                                        Collection<String> extNames)
    Specified by:
    deleteExtension in interface WikittyService
    Overrides:
    deleteExtension in class WikittyServiceDelegator

    deleteTree

    public WikittyEvent deleteTree(String securityToken,
                                   String wikittyId)
    Specified by:
    deleteTree in interface WikittyService
    Overrides:
    deleteTree in class WikittyServiceDelegator

    clear

    public WikittyEvent clear(String securityToken)
    Specified by:
    clear in interface WikittyService
    Overrides:
    clear in class WikittyServiceDelegator


    Copyright © 2010-2011 CodeLutin. All Rights Reserved.