org.nuiton.wikitty
Class WikittyServiceCached

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

public class WikittyServiceCached
extends Object
implements WikittyService

Override some method of WikittyService to use cache

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

Nested Class Summary
 
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  WikittyCache cache
          Cache.
static String WIKITTY_CACHE_ALLWAYS_RESTORE_COPIES_POLICY_OPTION
          used as property name in props given in the constructor
static String WIKITTY_CACHE_LISTENEVENTS_OPTION
          Utiliser pour mettre à jour le cache en ecoutant les evenements sur le service.
protected  WikittyService ws
          Delegated wikitty service implementation.
 
Constructor Summary
WikittyServiceCached(WikittyService ws)
          Default constructor.
WikittyServiceCached(WikittyService ws, Properties props)
          Constructor with configuration.
 
Method Summary
 void addLabel(String securityToken, String wikittyId, String label)
          Override to refresh wikitty after put label
 void addWikittyServiceListener(WikittyServiceListener listener, WikittyService.ServiceListenerType type)
          Add new wikitty service listener.
 boolean canDelete(String securityToken, String wikittyId)
          Verifie que l'utilisateur associe au securityToken peut supprimer le wikitty dont on passe l'identifiant.
 boolean canRead(String securityToken, String wikittyId)
          Un utilisateur peu lire un objet, s'il est Reader ou a defaut: - owner - AppAdmin - Admin - Writer
 boolean canWrite(String securityToken, Wikitty wikitty)
          Verifie si l'utilisateur lie au securityToken a le droit d'ecrire le Wikitty passe en argument
 void clear(String securityToken)
          Use with caution : It will delete ALL indexes from search engine !
 void delete(String securityToken, Collection<String> ids)
          delete objets in cache
 void delete(String securityToken, String id)
          delete object in cache
 List<String> deleteTree(String securityToken, String wikittyId)
          just wrap service method
 Set<String> findAllAppliedLabels(String securityToken, String wikittyId)
          just wrap service method
 PagedResult<String> findAllByCriteria(String securityToken, Criteria criteria)
          just wrap service method
 PagedResult<String> findAllByCriteria(String securityToken, WikittyTransaction transaction, Criteria criteria)
          just wrap service method
 PagedResult<String> findAllByLabel(String securityToken, String label, int firstIndex, int endIndex)
          just wrap service method
 Wikitty findByCriteria(String securityToken, Criteria criteria)
          just wrap service method
 Wikitty findByCriteria(String securityToken, WikittyTransaction transaction, Criteria criteria)
          just wrap service method
 Wikitty findByLabel(String securityToken, String label)
          just wrap service method
 List<String> getAllExtensionIds(String securityToken)
          just wrap service method
 List<String> getAllExtensionsRequires(String securityToken, String extensionName)
          just wrap service method
 String login(String login, String password)
          Authenticate someone on WikittyService. securityToken returned must be used to call others methods
 void logout(String securityToken)
          Unanthenticate someone by disabled securityToken
protected  void registerWikittyServiceListener(Properties props)
          Add cache as service listener if configuration request it.
 void removeWikittyServiceListener(WikittyServiceListener listener, WikittyService.ServiceListenerType type)
          Remove wikitty service listener.
 List<Wikitty> restore(String securityToken, List<String> ids)
          Overriden to put all restored object from server in cache.
 Wikitty restore(String securityToken, String id)
          just wrap service method
 List<Wikitty> restore(String securityToken, WikittyTransaction transaction, List<String> ids)
          Overriden to put all restored object from server in cache
 Map<TreeNode,Integer> restoreChildren(String securityToken, String wikittyId, Criteria filter)
          just wrap service method
 WikittyExtension restoreExtension(String securityToken, String id)
          just wrap service method
 WikittyExtension restoreExtension(String securityToken, WikittyTransaction transaction, String id)
          Action is done in transaction passed in argument.
 WikittyExtension restoreExtensionLastVersion(String securityToken, String name)
          just wrap service method
 WikittyExtension restoreExtensionLastVersion(String securityToken, WikittyTransaction transaction, String name)
          just wrap service method
 Map.Entry<TreeNode,Integer> restoreNode(String securityToken, String wikittyId, Criteria filter)
          just wrap service method
 Tree restoreTree(String securityToken, String wikittyId)
          just wrap service method
 Wikitty restoreVersion(String securityToken, String wikittyId, String version)
          Restore wikitty in specifique version.
 UpdateResponse store(String securityToken, Collection<Wikitty> wikitties)
          Overriden to put wikitty in cache
 UpdateResponse store(String securityToken, Collection<Wikitty> wikitties, boolean force)
          Overriden to put wikitty in cache
 UpdateResponse store(String securityToken, Wikitty wikitty)
          Overriden to update wikitty and put it in cache
 UpdateResponse store(String securityToken, WikittyTransaction transaction, Collection<Wikitty> wikitties, boolean force)
          Overriden to put wikitty in cache
 UpdateResponse storeExtension(String securityToken, Collection<WikittyExtension> exts)
          just wrap service method
 UpdateResponse storeExtension(String securityToken, WikittyExtension ext)
          just wrap service method
 UpdateResponse storeExtension(String securityToken, WikittyTransaction transaction, Collection<WikittyExtension> exts)
          Manage Update and creation, action is done in transaction passed in argument
 UpdateResponse syncEngin(String securityToken)
          Synchronise search engine with wikitty storage engine, i.e. clear and reindex all wikitties.
protected  Wikitty wrapWikitty(Wikitty wikitty)
          wrap the wikitty or copy it according to allwaysRestoreCopies value
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WIKITTY_CACHE_LISTENEVENTS_OPTION

public static final String WIKITTY_CACHE_LISTENEVENTS_OPTION
Utiliser pour mettre à jour le cache en ecoutant les evenements sur le service. Le service ws doit supporter l'enregistrement de listener.

See Also:
Constant Field Values

WIKITTY_CACHE_ALLWAYS_RESTORE_COPIES_POLICY_OPTION

public static final String WIKITTY_CACHE_ALLWAYS_RESTORE_COPIES_POLICY_OPTION
used as property name in props given in the constructor

See Also:
Constant Field Values

cache

protected WikittyCache cache
Cache.


ws

protected WikittyService ws
Delegated wikitty service implementation.


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(WikittyService, Properties) and set the good property.

Constructor Detail

WikittyServiceCached

public WikittyServiceCached(WikittyService ws)
Default constructor.

Parameters:
ws - delegate service

WikittyServiceCached

public WikittyServiceCached(WikittyService ws,
                            Properties props)
Constructor with configuration.

Parameters:
ws - delegate service
props - properties (can be null)
Method Detail

wrapWikitty

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


registerWikittyServiceListener

protected void registerWikittyServiceListener(Properties props)
Add cache as service listener if configuration request it.

Parameters:
props - properties (can be null)

login

public String login(String login,
                    String password)
Description copied from interface: WikittyService
Authenticate someone on WikittyService. securityToken returned must be used to call others methods

Specified by:
login in interface WikittyService
Parameters:
login - can be application specifique login, but best practice is to use email user
Returns:
return token securityToken

logout

public void logout(String securityToken)
Description copied from interface: WikittyService
Unanthenticate someone by disabled securityToken

Specified by:
logout in interface WikittyService
Parameters:
securityToken - security token previously returned by login. If securityToken is not valid, this method do nothing

canWrite

public boolean canWrite(String securityToken,
                        Wikitty wikitty)
Description copied from interface: WikittyService
Verifie si l'utilisateur lie au securityToken a le droit d'ecrire le Wikitty passe en argument

Specified by:
canWrite in interface WikittyService
Parameters:
securityToken - le token de securite qui permet de retrouver l'utilisateur et ainsi verifier les droits
wikitty - le wikitty a sauver
Returns:
vrai si l'utilisateur peut sauver l'objet

canDelete

public boolean canDelete(String securityToken,
                         String wikittyId)
Description copied from interface: WikittyService
Verifie que l'utilisateur associe au securityToken peut supprimer le wikitty dont on passe l'identifiant. Seul le propriétaire de l'objet ou un admin peut supprimer un objet. Si l'id de l'objet est invalide, la methode retourne true, car la suppression d'un id invalide ne fait rien

Specified by:
canDelete in interface WikittyService
Parameters:
securityToken - security token
wikittyId - wikitty id
Returns:
vrai le la suppression ne posera pas de probleme.

canRead

public boolean canRead(String securityToken,
                       String wikittyId)
Description copied from interface: WikittyService
Un utilisateur peu lire un objet, s'il est Reader ou a defaut: - owner - AppAdmin - Admin - Writer

Specified by:
canRead in interface WikittyService
Parameters:
securityToken - security token
wikittyId - wikitty id
Returns:
vrai si l'utilisateur peut lire l'obbjet

clear

public void 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
Parameters:
securityToken - security token

addLabel

public void addLabel(String securityToken,
                     String wikittyId,
                     String label)
Override to refresh wikitty after put label

Specified by:
addLabel in interface WikittyService
Parameters:
wikittyId -
label -
securityToken - security token

delete

public void delete(String securityToken,
                   String id)
delete object in cache

Specified by:
delete in interface WikittyService
Parameters:
id -
securityToken - security token

delete

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

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

findAllAppliedLabels

public Set<String> findAllAppliedLabels(String securityToken,
                                        String wikittyId)
just wrap service method

Specified by:
findAllAppliedLabels in interface WikittyService
Parameters:
wikittyId -
securityToken - security token
Returns:

findAllByCriteria

public PagedResult<String> findAllByCriteria(String securityToken,
                                             Criteria criteria)
just wrap service method

Specified by:
findAllByCriteria in interface WikittyService
Parameters:
criteria -
securityToken - security token
Returns:

findAllByCriteria

public PagedResult<String> findAllByCriteria(String securityToken,
                                             WikittyTransaction transaction,
                                             Criteria criteria)
just wrap service method

Specified by:
findAllByCriteria in interface WikittyService
Parameters:
criteria -
securityToken - security token
Returns:

findAllByLabel

public PagedResult<String> findAllByLabel(String securityToken,
                                          String label,
                                          int firstIndex,
                                          int endIndex)
just wrap service method

Specified by:
findAllByLabel in interface WikittyService
Parameters:
label -
firstIndex -
endIndex -
securityToken - security token
Returns:

findByCriteria

public Wikitty findByCriteria(String securityToken,
                              Criteria criteria)
just wrap service method

Specified by:
findByCriteria in interface WikittyService
Parameters:
criteria -
securityToken - security token
Returns:

findByCriteria

public Wikitty findByCriteria(String securityToken,
                              WikittyTransaction transaction,
                              Criteria criteria)
just wrap service method

Specified by:
findByCriteria in interface WikittyService
Parameters:
securityToken -
criteria -
transaction -
Returns:

findByLabel

public Wikitty findByLabel(String securityToken,
                           String label)
just wrap service method

Specified by:
findByLabel in interface WikittyService
Parameters:
label -
securityToken - security token
Returns:

getAllExtensionIds

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

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

getAllExtensionsRequires

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

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

restore

public Wikitty restore(String securityToken,
                       String id)
just wrap service method

Specified by:
restore in interface WikittyService
Parameters:
id -
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
Parameters:
ids - id to restore
securityToken - security token
Returns:
restored wikitties

restore

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

Specified by:
restore in interface WikittyService
Parameters:
securityToken - security token
transaction - transaction to use
ids - wikitty ids to restore
Returns:
wikitty list

restoreChildren

public Map<TreeNode,Integer> restoreChildren(String securityToken,
                                             String wikittyId,
                                             Criteria filter)
just wrap service method

Specified by:
restoreChildren in interface WikittyService
Parameters:
wikittyId -
filter -
securityToken - security token
Returns:

restoreExtension

public WikittyExtension restoreExtension(String securityToken,
                                         String id)
just wrap service method

Specified by:
restoreExtension in interface WikittyService
Parameters:
id -
securityToken - security token
Returns:

restoreExtensionLastVersion

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

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

restoreExtensionLastVersion

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

Specified by:
restoreExtensionLastVersion in interface WikittyService
Parameters:
name -
securityToken - security token
transaction - transaction used to do the action (must not be null)
Returns:

restoreNode

public Map.Entry<TreeNode,Integer> restoreNode(String securityToken,
                                               String wikittyId,
                                               Criteria filter)
just wrap service method

Specified by:
restoreNode in interface WikittyService
Parameters:
wikittyId -
filter -
securityToken - security token
Returns:

restoreTree

public Tree restoreTree(String securityToken,
                        String wikittyId)
just wrap service method

Specified by:
restoreTree in interface WikittyService
Parameters:
wikittyId -
securityToken - security token
Returns:

deleteTree

public List<String> deleteTree(String securityToken,
                               String wikittyId)
just wrap service method

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

store

public UpdateResponse store(String securityToken,
                            Wikitty wikitty)
Overriden to update wikitty and put it in cache

Specified by:
store in interface WikittyService
Parameters:
wikitty -
securityToken - security token
Returns:

store

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

Specified by:
store in interface WikittyService
Parameters:
wikitties -
securityToken - security token
Returns:

store

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

Specified by:
store in interface WikittyService
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:

store

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

Specified by:
store in interface WikittyService
Parameters:
wikitties -
force - boolean force non version version increment on saved wikitty or force version on wikitty creation (version 0.0)
securityToken - security token
transaction - transaction used to do the action (must not be null)
Returns:

storeExtension

public UpdateResponse storeExtension(String securityToken,
                                     WikittyExtension ext)
just wrap service method

Specified by:
storeExtension in interface WikittyService
Parameters:
ext -
securityToken - security token
Returns:

storeExtension

public UpdateResponse storeExtension(String securityToken,
                                     Collection<WikittyExtension> exts)
just wrap service method

Specified by:
storeExtension in interface WikittyService
Parameters:
exts -
securityToken - security token
Returns:

storeExtension

public UpdateResponse storeExtension(String securityToken,
                                     WikittyTransaction transaction,
                                     Collection<WikittyExtension> exts)
Description copied from interface: WikittyService
Manage Update and creation, action is done in transaction passed in argument

Specified by:
storeExtension in interface WikittyService
Parameters:
securityToken - security token
transaction - transaction used to do the action (must not be null)
exts - list of wikitty extension to be persisted
Returns:
update response

restoreExtension

public WikittyExtension restoreExtension(String securityToken,
                                         WikittyTransaction transaction,
                                         String id)
Description copied from interface: WikittyService
Action is done in transaction passed in argument.

Specified by:
restoreExtension in interface WikittyService
Parameters:
securityToken - security token
transaction - transaction used to do the action (must not be null)
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
Parameters:
securityToken - security token

addWikittyServiceListener

public void addWikittyServiceListener(WikittyServiceListener listener,
                                      WikittyService.ServiceListenerType type)
Description copied from interface: WikittyService
Add new wikitty service listener. Warning, listener is referenced as WeakReference, but sure to another reference to work.

Specified by:
addWikittyServiceListener in interface WikittyService
Parameters:
listener - listener to add
type - type of event to listen
See Also:
WikittyService.ServiceListenerType

removeWikittyServiceListener

public void removeWikittyServiceListener(WikittyServiceListener listener,
                                         WikittyService.ServiceListenerType type)
Description copied from interface: WikittyService
Remove wikitty service listener. Warning, listener is referenced as WeakReference, but sure to another reference to work.

Specified by:
removeWikittyServiceListener in interface WikittyService
Parameters:
listener - listener to remove
type - type of event to listen
See Also:
WikittyService.ServiceListenerType

syncEngin

public UpdateResponse syncEngin(String securityToken)
Description copied from interface: WikittyService
Synchronise search engine with wikitty storage engine, i.e. clear and reindex all wikitties.

Specified by:
syncEngin in interface WikittyService
Parameters:
securityToken - security token
Returns:
update response


Copyright © 2009-2010 CodeLutin. All Rights Reserved.