org.nuiton.wikitty.services
Class WikittyServiceCached

java.lang.Object
  extended by org.nuiton.wikitty.services.WikittyServiceDelegator
      extended by org.nuiton.wikitty.services.WikittyServiceCached
All Implemented Interfaces:
WikittyService

public class WikittyServiceCached
extends WikittyServiceDelegator

Override some method of WikittyService to use cache

Version:
$Revision: 1136 $ Last update: $Date: 2011-08-12 16:24:03 +0200 (Fri, 12 Aug 2011) $ by : $Author: tchemit $
Author:
poussin

Nested Class Summary
static class WikittyServiceCached.RemoteWikittyListener
          Classe permettant de recevoir les events distants et mettre a jour le cache
 
Nested classes/interfaces inherited from interface org.nuiton.wikitty.WikittyService
WikittyService.ServiceListenerType
 
Field Summary
protected  boolean allwaysRestoreCopies
          cache policy (configuration) if true the cache will always restore copies of the wikitty if false the cache will restore wikitties that do a lazy copy when the wikitty is modified (WikittyCopyOnWrite instances) default set to false.
protected  long asked
          nombre de solicitation du cache
protected  WikittyCache cache
          Cache.
protected  long missed
          nombre de fois que l'objet demande n'etait pas dans le cache
protected  WikittyServiceCached.RemoteWikittyListener remoteWikittyListener
          pour recevoir les events du serveur et synchroniser le cache
 
Fields inherited from class org.nuiton.wikitty.services.WikittyServiceDelegator
delegate
 
Constructor Summary
WikittyServiceCached(org.nuiton.util.ApplicationConfig config, WikittyService ws, WikittyCache cache)
          Constructor with configuration.
 
Method Summary
protected  void cacheClearExtension()
           
protected  void cacheClearWikitty()
           
protected  WikittyExtension cacheGetExtensions(String id)
           
protected  Wikitty cacheGetWikitty(String id)
           
protected  void cachePutExtension(Collection<WikittyExtension> wikitties)
           
protected  void cachePutExtension(WikittyExtension ext)
          Only WikittyImpl can be put in real cache implementation.
protected  void cachePutWikitty(Collection<Wikitty> wikitties)
           
protected  void cachePutWikitty(Wikitty w)
          Only WikittyImpl can be put in real cache implementation.
protected  void cacheRemoveExtension(Collection<String> extIds)
           
protected  void cacheRemoveExtension(String extId)
           
protected  void cacheRemoveWikitty(Collection<String> ids)
           
protected  void cacheRemoveWikitty(String id)
           
 WikittyEvent clear(String securityToken)
          Use with caution : It will delete ALL indexes from search engine ! This operation should be disabled in production environment.
 WikittyEvent delete(String securityToken, Collection<String> ids)
          delete objets in cache
 WikittyEvent deleteExtension(String securityToken, Collection<String> extNames)
          Delete all extension if id exists and no wikitty used this extension.
 WikittyEvent deleteTree(String securityToken, String wikittyId)
          just wrap service method
 List<String> getAllExtensionIds(String securityToken)
          just wrap service method
 List<String> getAllExtensionsRequires(String securityToken, String extensionName)
          just wrap service method
 long getAsked()
          Retourne le nombre de solicitation du cache.
 long getMissed()
          Retourne le nombre de fois que l'element dans le cache demande n'y etait pas.
protected  void processEvent(WikittyEvent e)
          Process event to update cache with data in event
 WikittyEvent replay(String securityToken, List<WikittyEvent> events, boolean force)
          Replay all events in argument on this WikittyService
 List<Wikitty> restore(String securityToken, List<String> ids)
          Overriden to put all restored object from server in cache
 WikittyExtension restoreExtension(String securityToken, String id)
          Load extension from id.
 WikittyExtension restoreExtensionLastVersion(String securityToken, String name)
          just wrap service method
 Wikitty restoreVersion(String securityToken, String wikittyId, String version)
          Restore wikitty in specifique version.
protected  void statAdd(int asked, int missed)
           
 WikittyEvent store(String securityToken, Collection<Wikitty> wikitties, boolean force)
          Overriden to put wikitty in cache
 WikittyEvent storeExtension(String securityToken, Collection<WikittyExtension> exts)
          Manage Update and creation
protected  Wikitty wrapWikitty(Wikitty wikitty)
          Wrap the wikitty or copy it according to allwaysRestoreCopies value.
 
Methods inherited from class org.nuiton.wikitty.services.WikittyServiceDelegator
addWikittyServiceListener, canDelete, canRead, canWrite, exists, findAllByCriteria, findByCriteria, findTreeNode, getDelegate, isDeleted, login, logout, removeWikittyServiceListener, setDelegate, syncSearchEngine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cache

protected WikittyCache cache
Cache.


remoteWikittyListener

protected WikittyServiceCached.RemoteWikittyListener remoteWikittyListener
pour recevoir les events du serveur et synchroniser le cache


allwaysRestoreCopies

protected boolean allwaysRestoreCopies
cache policy (configuration) if true the cache will always restore copies of the wikitty if false the cache will restore wikitties that do a lazy copy when the wikitty is modified (WikittyCopyOnWrite instances) default set to false. To change this value, use WikittyServiceCached#WikittyServiceCached(WikittyService, Properties) and set the good property.


asked

protected long asked
nombre de solicitation du cache


missed

protected long missed
nombre de fois que l'objet demande n'etait pas dans le cache

Constructor Detail

WikittyServiceCached

public WikittyServiceCached(org.nuiton.util.ApplicationConfig config,
                            WikittyService ws,
                            WikittyCache cache)
Constructor with configuration.

Parameters:
config - config
ws - delegate service
cache - wikity cache
Method Detail

statAdd

protected void statAdd(int asked,
                       int missed)

getAsked

public long getAsked()
Retourne le nombre de solicitation du cache.

Returns:

getMissed

public long getMissed()
Retourne le nombre de fois que l'element dans le cache demande n'y etait pas.

Returns:

wrapWikitty

protected Wikitty wrapWikitty(Wikitty wikitty)
Wrap the wikitty or copy it according to allwaysRestoreCopies value.


cacheClearWikitty

protected void cacheClearWikitty()

cacheClearExtension

protected void cacheClearExtension()

cachePutWikitty

protected void cachePutWikitty(Wikitty w)
Only WikittyImpl can be put in real cache implementation. If argument is WikittyCopyOnWrite, we must take internal wikitty to put in cache


cachePutExtension

protected void cachePutExtension(WikittyExtension ext)
Only WikittyImpl can be put in real cache implementation. If argument is WikittyCopyOnWrite, we must take internal wikitty to put in cache


cachePutWikitty

protected void cachePutWikitty(Collection<Wikitty> wikitties)

cachePutExtension

protected void cachePutExtension(Collection<WikittyExtension> wikitties)

cacheRemoveWikitty

protected void cacheRemoveWikitty(String id)

cacheRemoveExtension

protected void cacheRemoveExtension(String extId)

cacheRemoveWikitty

protected void cacheRemoveWikitty(Collection<String> ids)

cacheRemoveExtension

protected void cacheRemoveExtension(Collection<String> extIds)

cacheGetWikitty

protected Wikitty cacheGetWikitty(String id)

cacheGetExtensions

protected WikittyExtension cacheGetExtensions(String id)

clear

public WikittyEvent clear(String securityToken)
Description copied from interface: WikittyService
Use with caution : It will delete ALL indexes from search engine ! This operation should be disabled in production environment.

Specified by:
clear in interface WikittyService
Overrides:
clear in class WikittyServiceDelegator
Parameters:
securityToken - security token

delete

public WikittyEvent delete(String securityToken,
                           Collection<String> ids)
delete objets in cache

Specified by:
delete in interface WikittyService
Overrides:
delete in class WikittyServiceDelegator
Parameters:
ids -
securityToken - security token

getAllExtensionIds

public List<String> getAllExtensionIds(String securityToken)
just wrap service method

Specified by:
getAllExtensionIds in interface WikittyService
Overrides:
getAllExtensionIds in class WikittyServiceDelegator
Parameters:
securityToken - security token
Returns:

getAllExtensionsRequires

public List<String> getAllExtensionsRequires(String securityToken,
                                             String extensionName)
just wrap service method

Specified by:
getAllExtensionsRequires in interface WikittyService
Overrides:
getAllExtensionsRequires in class WikittyServiceDelegator
Parameters:
extensionName -
securityToken - security token
Returns:

restore

public List<Wikitty> restore(String securityToken,
                             List<String> ids)
Overriden to put all restored object from server in cache

Specified by:
restore in interface WikittyService
Overrides:
restore in class WikittyServiceDelegator
Parameters:
securityToken - security token
ids - wikitty ids to restore
Returns:
wikitty list

restoreExtensionLastVersion

public WikittyExtension restoreExtensionLastVersion(String securityToken,
                                                    String name)
just wrap service method

Specified by:
restoreExtensionLastVersion in interface WikittyService
Overrides:
restoreExtensionLastVersion in class WikittyServiceDelegator
Parameters:
name -
securityToken - security token
Returns:

deleteTree

public WikittyEvent deleteTree(String securityToken,
                               String wikittyId)
just wrap service method

Specified by:
deleteTree in interface WikittyService
Overrides:
deleteTree in class WikittyServiceDelegator
Parameters:
wikittyId -
securityToken - security token
Returns:

store

public WikittyEvent store(String securityToken,
                          Collection<Wikitty> wikitties,
                          boolean force)
Overriden to put wikitty in cache

Specified by:
store in interface WikittyService
Overrides:
store in class WikittyServiceDelegator
Parameters:
wikitties -
force - boolean force non version version increment on saved wikitty or force version on wikitty creation (version 0.0)
securityToken - security token
Returns:

storeExtension

public WikittyEvent storeExtension(String securityToken,
                                   Collection<WikittyExtension> exts)
Description copied from interface: WikittyService
Manage Update and creation

Specified by:
storeExtension in interface WikittyService
Overrides:
storeExtension in class WikittyServiceDelegator
Parameters:
securityToken - security token
exts - list of wikitty extension to be persisted
Returns:
update response

deleteExtension

public WikittyEvent deleteExtension(String securityToken,
                                    Collection<String> extNames)
Description copied from interface: WikittyService
Delete all extension if id exists and no wikitty used this extension. extension name must be just the name (extName)

Specified by:
deleteExtension in interface WikittyService
Overrides:
deleteExtension in class WikittyServiceDelegator
Parameters:
securityToken - security token
extNames - extension's names to remove

restoreExtension

public WikittyExtension restoreExtension(String securityToken,
                                         String id)
Description copied from interface: WikittyService
Load extension from id. Id is 'name[version]'.

Specified by:
restoreExtension in interface WikittyService
Overrides:
restoreExtension in class WikittyServiceDelegator
Parameters:
securityToken - security token
Returns:
the corresponding object, exception if no such object found.

restoreVersion

public Wikitty restoreVersion(String securityToken,
                              String wikittyId,
                              String version)
Description copied from interface: WikittyService
Restore wikitty in specifique version. Authorisation is checked on last version even for previous wikitty version

Specified by:
restoreVersion in interface WikittyService
Overrides:
restoreVersion in class WikittyServiceDelegator
Parameters:
securityToken - security token

replay

public WikittyEvent replay(String securityToken,
                           List<WikittyEvent> events,
                           boolean force)
Description copied from interface: WikittyService
Replay all events in argument on this WikittyService

Specified by:
replay in interface WikittyService
Overrides:
replay in class WikittyServiceDelegator
Parameters:
securityToken - security token
events - event to replay
force - for to not change wikitty version (use version in wikitty present in event)
Returns:
new event that represent all event passed in argument. if arguement have: store, store, delete, clear, store. Return event resume all by only one clear + store, because all action before clear is not necessary. Similarly for store + delete for the same object. (note: perhaps this broke history, when history are implanted and two serveur must have same history ?)

processEvent

protected void processEvent(WikittyEvent e)
Process event to update cache with data in event

Parameters:
e -


Copyright © 2009-2011 CodeLutin. All Rights Reserved.