org.nuiton.wikitty
Interface WikittyService

All Known Implementing Classes:
WikittyServiceAccessStat, WikittyServiceCached, WikittyServiceCajoClient, WikittyServiceCajoServer, WikittyServiceDelegator, WikittyServiceEnhanced, WikittyServiceHook, 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: 774 $ Last update: $Date: 2011-04-11 11:49:21 +0200 (lun., 11 avril 2011) $ by : $Author: echatellier $
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
 List<PagedResult<String>> findAllByCriteria(String securityToken, List<Criteria> criteria)
          Looking for Wikitty that match criteria.
 List<String> findByCriteria(String securityToken, List<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. for each criteria in parametre there is a result associated with the same index.
 TreeNodeResult<String> findTreeNode(String securityToken, String wikittyId, int depth, boolean count, Criteria filter)
          Retrieve all node from wikittyId, this node is returned too.
 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
 WikittyExtension restoreExtension(String securityToken, String extensionId)
          Load extension from id.
 WikittyExtension restoreExtensionLastVersion(String securityToken, String name)
          Search extension with name in last version.
 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
extNames - extension's names 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

List<PagedResult<String>> findAllByCriteria(String securityToken,
                                            List<Criteria> criteria)
Looking for Wikitty that match criteria. More than one criteria can be passed in parametre, for each criteria in parametre there is a PagedResult associated with the same index.

Parameters:
securityToken - security token
criteria -
Returns:

findByCriteria

List<String> findByCriteria(String securityToken,
                            List<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. for each criteria in parametre there is a result associated with the same index.

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

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

findTreeNode

TreeNodeResult<String> findTreeNode(String securityToken,
                                    String wikittyId,
                                    int depth,
                                    boolean count,
                                    Criteria filter)
Retrieve all node from wikittyId, this node is returned too. Returned wikitty must include the 'WikittyTreeNode' extension. depth ask the recursively level:
  • 0 return only wikittyId passed in argument
  • 1 return wikittyId passed in argument, and his children
  • ...
  • negative value return all node if count is true, integer in return map is number of attachment in subtree (recursively). If filter is not null only attachments that satisfy filter are counted. if count is false, all integer are fixed to 0

    Parameters:
    securityToken - security token
    wikittyId - root node to begin
    depth - depth of node returned
    count - if true return count of attachment
    filter - filter on attachment count
    Returns:
    Since:
    3.1

  • 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-2011 CodeLutin. All Rights Reserved.