org.nuiton.wikitty
Interface WikittyService

All Known Implementing Classes:
WikittyServiceAccessStat, WikittyServiceCached, WikittyServiceDelegator, WikittyServiceEnhanced, WikittyServiceInMemory, WikittyServiceNotifier, WikittyServiceSecurity, WikittyServiceStorage, WikittyServiceTransaction

public interface WikittyService

Wikitty service. The main implementation for this interface is WikittyServiceStorage. It can be used alone but this implementation doesn't deal with all stuffs described in this interface. Thus, other functionalities are added to the implementation through objects that decorate WikittyServiceStorage :

WikittyServiceCached
add a cache for wikitties
WikittyServiceSecurity
add user authentication support and right management
WikittyServiceNotifier
add notifications between client of the same wikitty service

Version:
$Revision: 648 $ Last update: $Date: 2010-12-22 18:59:58 +0100 (mer., 22 déc. 2010) $ by : $Author: bpoussin $
Author:
poussin

Nested Class Summary
static class WikittyService.ServiceListenerType
          Event listener type.
 
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 treeNodeId)
          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.
 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 extensionId)
          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)
          Deprecated. cette methode retourne des wikitty or seul la methode restore doit le faire (centralisation de la restoration). Il faut donc que cette methode n'existe que sur le proxy et utilise les autres methodes
 Wikitty restoreVersion(String securityToken, String wikittyId, String version)
          Restore wikitty in specifique version.
 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.
 

Method Detail

addWikittyServiceListener

void addWikittyServiceListener(WikittyListener listener,
                               WikittyService.ServiceListenerType type)
Add new wikitty service listener. Warning, listener is referenced as WeakReference, but sure to another reference to work.

Parameters:
listener - listener to add
type - type of event to listen
See Also:
WikittyService.ServiceListenerType

removeWikittyServiceListener

void removeWikittyServiceListener(WikittyListener listener,
                                  WikittyService.ServiceListenerType type)
Remove wikitty service listener. Warning, listener is referenced as WeakReference, but sure to another reference to work.

Parameters:
listener - listener to remove
type - type of event to listen
See Also:
WikittyService.ServiceListenerType

login

String login(String login,
             String password)
Authenticate someone on WikittyService. securityToken returned must be used to call others methods

Parameters:
login - can be application specifique login, but best practice is to use email user
password -
Returns:
return token securityToken

logout

void logout(String securityToken)
Unanthenticate someone by disabled securityToken

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

clear

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

Parameters:
securityToken - security token

canWrite

boolean canWrite(String securityToken,
                 Wikitty wikitty)
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

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

boolean canDelete(String securityToken,
                  String wikittyId)
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

Parameters:
securityToken - security token
wikittyId - wikitty id
Returns:
vrai le la suppression ne posera pas de probleme.

canRead

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

Parameters:
securityToken - security token
wikittyId - wikitty id
Returns:
vrai si l'utilisateur peut lire l'obbjet

exists

boolean exists(String securityToken,
               String wikittyId)
true if wikitty with id exists, even wikitty is deleted


isDeleted

boolean isDeleted(String securityToken,
                  String wikittyId)
true if wikitty is deleted, throw an exception if id don't exist

Parameters:
securityToken -
wikittyId -
Returns:

replay

WikittyEvent replay(String securityToken,
                    List<WikittyEvent> events,
                    boolean force)
Replay all events in argument on this 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

WikittyEvent store(String securityToken,
                   Collection<Wikitty> wikitties,
                   boolean force)
Manage Update and creation.

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

List<String> getAllExtensionIds(String securityToken)
Return all extension id (ex: "extName[version])").

Parameters:
securityToken - security token
Returns:
extension ids list

getAllExtensionsRequires

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

Parameters:
securityToken - security token
extensionName - extension name
Returns:
extension id list

storeExtension

WikittyEvent storeExtension(String securityToken,
                            Collection<WikittyExtension> exts)
Manage Update and creation

Parameters:
securityToken - security token
exts - list of wikitty extension to be persisted
Returns:
update response

deleteExtension

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

Parameters:
securityToken - security token
ids - extension's ids to remove

restoreExtension

WikittyExtension restoreExtension(String securityToken,
                                  String extensionId)
Load extension from id. Id is 'name[version]'.

Parameters:
securityToken - security token
extensionId -
Returns:
the corresponding object, exception if no such object found.

restoreExtensionLastVersion

WikittyExtension restoreExtensionLastVersion(String securityToken,
                                             String name)
Search extension with name in last version.

Parameters:
securityToken - security token
name - extension name
Returns:
the corresponding object, exception if no such object found.

restore

List<Wikitty> restore(String securityToken,
                      List<String> id)
Restore wikitty

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

WikittyEvent delete(String securityToken,
                    Collection<String> ids)
Delete all object if id exists.

Parameters:
securityToken - security token
ids - object's ids to remove

findAllByCriteria

PagedResult<String> findAllByCriteria(String securityToken,
                                      Criteria criteria)
Parameters:
securityToken - security token
criteria -
Returns:

findByCriteria

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

Parameters:
securityToken - security token
criteria -
Returns:
wikitty id object or null

restoreTree

@Deprecated
WikittyTree restoreTree(String securityToken,
                                   String wikittyId)
Deprecated. cette methode retourne des wikitty or seul la methode restore doit le faire (centralisation de la restoration). Il faut donc que cette methode n'existe que sur le proxy et utilise les autres methodes

Retrieve all wikitties children (recursively) of an other one Wikitty reference by wikittyId MUST include the 'Node' extension

Parameters:
securityToken - security token
wikittyId -
Returns:

deleteTree

WikittyEvent deleteTree(String securityToken,
                        String treeNodeId)
Delete specified tree node and all sub nodes.

Parameters:
securityToken - security token
treeNodeId - tree node id to delete
Returns:
delete wikitty ids

restoreNode

Map.Entry<String,Integer> restoreNode(String securityToken,
                                      String wikittyId,
                                      Criteria filter)
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

Parameters:
securityToken - security token
wikittyId -
filter -
Returns:

restoreChildren

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). If filter is not null only attachments that satisfy filter are counted

Parameters:
securityToken - security token
wikittyId -
filter -
Returns:

restoreVersion

Wikitty restoreVersion(String securityToken,
                       String wikittyId,
                       String version)
Restore wikitty in specifique version. Authorisation is checked on last version even for previous wikitty version

Parameters:
securityToken - security token

syncSearchEngine

void syncSearchEngine(String securityToken)
Synchronise search engine with wikitty storage engine, i.e. clear and reindex all wikitties.

Parameters:
securityToken - security token


Copyright © 2009-2010 CodeLutin. All Rights Reserved.