org.nuiton.wikitty.services
Class WikittyServiceDelegator

java.lang.Object
  extended by org.nuiton.wikitty.services.WikittyServiceDelegator
All Implemented Interfaces:
WikittyService
Direct Known Subclasses:
WikittyServiceAccessStat, WikittyServiceCached, WikittyServiceCajoClient, WikittyServiceCajoServer, WikittyServiceEnhanced, WikittyServiceNotifier, WikittyServiceSecurity

public class WikittyServiceDelegator
extends Object
implements WikittyService

Wikitty service delegator.

Version:
$Revision: 646 $ Last update : $Date: 2010-12-22 18:50:50 +0100 (mer., 22 déc. 2010) $ By : $Author: bpoussin $
Author:
chatellier

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.nuiton.wikitty.WikittyService
WikittyService.ServiceListenerType
 
Field Summary
protected  WikittyService delegate
          Delegated wikitty service.
 
Constructor Summary
WikittyServiceDelegator()
           
WikittyServiceDelegator(WikittyService delegate)
           
 
Method Summary
 void addWikittyServiceListener(WikittyListener 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.
 WikittyEvent clear(String securityToken)
          Use with caution : It will delete ALL indexes from search engine !
 WikittyEvent delete(String securityToken, Collection<String> ids)
          Delete all object if id exists.
 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)
          Delete specified tree node and all sub nodes.
 boolean exists(String securityToken, String wikittyId)
          true if wikitty with id exists, even wikitty is deleted
 PagedResult<String> findAllByCriteria(String securityToken, Criteria criteria)
           
 String findByCriteria(String securityToken, Criteria criteria)
          First lonely (or first one) wikitty object that match criteria, if no wikitty found or first retrived is not authorized for the user return null
 List<String> getAllExtensionIds(String securityToken)
          Return all extension id (ex: "extName[version])").
 List<String> getAllExtensionsRequires(String securityToken, String extensionName)
          Return all extension id (ex: "extName[version])") where extensionName is required.
 WikittyService getDelegate()
          Get delegated service.
 boolean isDeleted(String securityToken, String wikittyId)
          true if wikitty is deleted, throw an exception if id don't exist
 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
 void removeWikittyServiceListener(WikittyListener listener, WikittyService.ServiceListenerType type)
          Remove wikitty service listener.
 WikittyEvent replay(String securityToken, List<WikittyEvent> events, boolean force)
          Replay all events in argument on this WikittyService
 List<Wikitty> restore(String securityToken, List<String> id)
          Restore wikitty
 Map<String,Integer> restoreChildren(String securityToken, String wikittyId, Criteria filter)
          Retrieve all wikitties children (no recursively) with count of an other one Wikitty reference by wikittyId MUST include the 'WikittyTreeNode' extension Count is number of attachment in subtree (recursively).
 WikittyExtension restoreExtension(String securityToken, String id)
          Load extension from id.
 WikittyExtension restoreExtensionLastVersion(String securityToken, String name)
          Search extension with name in last version.
 Map.Entry<String,Integer> restoreNode(String securityToken, String wikittyId, Criteria filter)
          Retrieve wikitty node with count.
 WikittyTree restoreTree(String securityToken, String wikittyId)
          Retrieve all wikitties children (recursively) of an other one Wikitty reference by wikittyId MUST include the 'Node' extension
 Wikitty restoreVersion(String securityToken, String wikittyId, String version)
          Restore wikitty in specifique version.
 void setDelegate(WikittyService delegate)
          Set delegated service.
 WikittyEvent store(String securityToken, Collection<Wikitty> wikitties, boolean force)
          Manage Update and creation.
 WikittyEvent storeExtension(String securityToken, Collection<WikittyExtension> exts)
          Manage Update and creation
 void syncSearchEngine(String securityToken)
          Synchronise search engine with wikitty storage engine, i.e. clear and reindex all wikitties.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

delegate

protected WikittyService delegate
Delegated wikitty service.

Constructor Detail

WikittyServiceDelegator

public WikittyServiceDelegator()

WikittyServiceDelegator

public WikittyServiceDelegator(WikittyService delegate)
Method Detail

getDelegate

public WikittyService getDelegate()
Get delegated service.

Returns:
delegate service

setDelegate

public void setDelegate(WikittyService delegate)
Set delegated service.

Parameters:
delegate - delegate

addWikittyServiceListener

public void addWikittyServiceListener(WikittyListener 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(WikittyListener 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

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

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
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
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 ?)

store

public WikittyEvent store(String securityToken,
                          Collection<Wikitty> wikitties,
                          boolean force)
Description copied from interface: WikittyService
Manage Update and creation.

Specified by:
store in interface WikittyService
Parameters:
securityToken - security token
wikitties - list of wikitty to be persisted
force - boolean force non version version increment on saved wikitty or force version on wikitty creation (version 0.0)
Returns:
update response

getAllExtensionIds

public List<String> getAllExtensionIds(String securityToken)
Description copied from interface: WikittyService
Return all extension id (ex: "extName[version])").

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

getAllExtensionsRequires

public List<String> getAllExtensionsRequires(String securityToken,
                                             String extensionName)
Description copied from interface: WikittyService
Return all extension id (ex: "extName[version])") where extensionName is required.

Specified by:
getAllExtensionsRequires in interface WikittyService
Parameters:
securityToken - security token
extensionName - extension name
Returns:
extension id list

storeExtension

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

Specified by:
storeExtension in interface WikittyService
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
Parameters:
securityToken - security token

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
Parameters:
securityToken - security token
Returns:
the corresponding object, exception if no such object found.

restoreExtensionLastVersion

public WikittyExtension restoreExtensionLastVersion(String securityToken,
                                                    String name)
Description copied from interface: WikittyService
Search extension with name in last version.

Specified by:
restoreExtensionLastVersion in interface WikittyService
Parameters:
securityToken - security token
name - extension name
Returns:
the corresponding object, exception if no such object found.

restore

public List<Wikitty> restore(String securityToken,
                             List<String> id)
Description copied from interface: WikittyService
Restore wikitty

Specified by:
restore in interface WikittyService
Parameters:
securityToken - security token
id - list of wikitty ids to restore
Returns:
list of corresponding wikitty, if one id is not valid (no object or deleted or no authorisation) this id return null and result list can have null elements

delete

public WikittyEvent delete(String securityToken,
                           Collection<String> ids)
Description copied from interface: WikittyService
Delete all object if id exists.

Specified by:
delete in interface WikittyService
Parameters:
securityToken - security token
ids - object's ids to remove

findAllByCriteria

public PagedResult<String> findAllByCriteria(String securityToken,
                                             Criteria criteria)
Specified by:
findAllByCriteria in interface WikittyService
Parameters:
securityToken - security token
Returns:

findByCriteria

public String findByCriteria(String securityToken,
                             Criteria criteria)
Description copied from interface: WikittyService
First lonely (or first one) wikitty object that match criteria, if no wikitty found or first retrived is not authorized for the user return null

Specified by:
findByCriteria in interface WikittyService
Parameters:
securityToken - security token
Returns:
wikitty id object or null

restoreTree

public WikittyTree restoreTree(String securityToken,
                               String wikittyId)
Description copied from interface: WikittyService
Retrieve all wikitties children (recursively) of an other one Wikitty reference by wikittyId MUST include the 'Node' extension

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

deleteTree

public WikittyEvent deleteTree(String securityToken,
                               String wikittyId)
Description copied from interface: WikittyService
Delete specified tree node and all sub nodes.

Specified by:
deleteTree in interface WikittyService
Parameters:
securityToken - security token
wikittyId - tree node id to delete
Returns:
delete wikitty ids

restoreNode

public Map.Entry<String,Integer> restoreNode(String securityToken,
                                             String wikittyId,
                                             Criteria filter)
Description copied from interface: WikittyService
Retrieve wikitty node with count. Wikitty reference by wikittyId MUST include the 'WikittyTreeNode' extension. Count is number of attachment in subtree. If filter is not null only attachments that satisfy filter are counted

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

restoreChildren

public Map<String,Integer> restoreChildren(String securityToken,
                                           String wikittyId,
                                           Criteria filter)
Description copied from interface: WikittyService
Retrieve all wikitties children (no recursively) with count of an other one Wikitty reference by wikittyId MUST include the 'WikittyTreeNode' extension Count is number of attachment in subtree (recursively). If filter is not null only attachments that satisfy filter are counted

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

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

syncSearchEngine

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

Specified by:
syncSearchEngine in interface WikittyService
Parameters:
securityToken - security token

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. On ne peut pas passer seulement l'id du wikitty en parametre car de nouvelles extensions ont peut lui etre ajouter depuis la derniere sauvegarde

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

exists

public boolean exists(String securityToken,
                      String wikittyId)
Description copied from interface: WikittyService
true if wikitty with id exists, even wikitty is deleted

Specified by:
exists in interface WikittyService

isDeleted

public boolean isDeleted(String securityToken,
                         String wikittyId)
Description copied from interface: WikittyService
true if wikitty is deleted, throw an exception if id don't exist

Specified by:
isDeleted in interface WikittyService
Returns:


Copyright © 2009-2011 CodeLutin. All Rights Reserved.