org.nuiton.wikitty
Class WikittyClient

java.lang.Object
  extended by org.nuiton.wikitty.WikittyClient

public class WikittyClient
extends Object

Wikitty client is object used in client side to access WikittyService. It is used to transform wikitty object used by WikittyService into business objects used by applications. It also manage securityToken for WikittyServiceSecurity. All method that need securityToken and WikittyServiceSecurity must be in this class and not in WikittyUtil

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

Field Summary
protected  org.nuiton.util.ApplicationConfig config
           
protected  String securityToken
          Security token.
protected  WikittyServiceEnhanced wikittyService
          Delegated wikitty service.
 
Constructor Summary
protected WikittyClient()
          Empty constructor (uninitialized wikittyService).
  WikittyClient(org.nuiton.util.ApplicationConfig config)
          Creation du client, le wikittyService est instancier grace au information trouve dans la configuration.
  WikittyClient(org.nuiton.util.ApplicationConfig config, WikittyService wikittyService)
          Creation du client en forcant le wikittyService
 
Method Summary
<E> WikittyQueryResult<E>
castTo(Class<E> target, WikittyQueryResult queryResult)
          Convert all result to the wanted type and return new WikittyQueryResult with this new result list.
 WikittyEvent clear()
          Use with caution : It will delete ALL indexes from search engine ! This operation should be disabled in production environment.
 void delete(Collection<String> ids)
           
<E extends BusinessEntity>
void
delete(E object)
           
<E extends BusinessEntity>
void
delete(List<E> objets)
           
 void delete(String id)
           
 void deleteExtension(Collection<String> extNames)
           
 void deleteExtension(String extName)
           
 WikittyEvent deleteTree(String treeNodeId)
          Delete specified tree node and all sub nodes.
<E extends BusinessEntityImpl>
WikittyQueryResult<E>
findAllByExample(E e, int first, int limit, ElementField... fieldFacet)
          Null field are not used in search request.
<E> List<WikittyQueryResult<E>>
findAllByQuery(Class<E> clazz, List<WikittyQuery> criterias)
          Search object that correspond to criteria and that have all extension needed by BusinessEntity (clazz), if clazz is BusinessEntity class.
protected
<E> List<WikittyQueryResult<E>>
findAllByQuery(Class<E> clazz, List<WikittyQuery> queries, boolean limitToFirst)
          Cette method doit etre l'unique methode finalement utilise par toutes les methodes find avec un cast vers clazz Search object that correspond to criteria and that have all extension needed by BusinessEntity (clazz), if clazz is BusinessEntity class.
<E> WikittyQueryResult<E>
findAllByQuery(Class<E> clazz, WikittyQuery criteria)
          Search object that correspond to criteria and that have all extension needed by BusinessEntity (clazz), if clazz is BusinessEntity class.
<E> WikittyQueryResult<E>[]
findAllByQuery(Class<E> clazz, WikittyQuery c1, WikittyQuery c2, WikittyQuery... otherCriteria)
          /** Search object that correspond to criteria and that have all extension needed by BusinessEntity (clazz), if clazz is BusinessEntity class.
 List<WikittyQueryResult<String>> findAllByQuery(List<WikittyQuery> criteria)
           
 WikittyQueryResult<String> findAllByQuery(WikittyQuery criteria)
           
 WikittyQueryResult<String>[] findAllByQuery(WikittyQuery c1, WikittyQuery c2, WikittyQuery... otherCriteria)
           
 WikittyQueryResultTreeNode<String> findAllIdTreeNode(String wikittyId, int depth, boolean count, WikittyQuery filter)
          Recupere une portion d'arbre a partir de l'id passer en parametre.
<E extends BusinessEntityImpl>
E
findByExample(E e)
          Null field are not used in search request.
<E> List<E>
findByQuery(Class<E> clazz, List<WikittyQuery> criterias)
           
<E> E
findByQuery(Class<E> clazz, WikittyQuery criteria)
           
<E> E[]
findByQuery(Class<E> clazz, WikittyQuery c1, WikittyQuery c2, WikittyQuery... otherCriteria)
           
 List<String> findByQuery(List<WikittyQuery> criteria)
           
 String findByQuery(WikittyQuery criteria)
           
 String[] findByQuery(WikittyQuery c1, WikittyQuery c2, WikittyQuery... otherCriteria)
           
<E extends BusinessEntity>
WikittyQueryResultTreeNode<E>
findTreeNode(Class<E> clazz, String wikittyId, int depth, boolean count, WikittyQuery filter)
          Recupere une portion d'arbre a partir de l'id passer en parametre.
 WikittyQueryResultTreeNode<Wikitty> findTreeNode(String wikittyId, int depth, boolean count, WikittyQuery filter)
          Recupere une portion d'arbre a partir de l'id passer en parametre.
 List<String> getAllExtensionIds()
          Return all extension id (ex: "extName[version])").
 List<String> getAllExtensionsRequires(String extensionName)
          Return all extension id (ex: "extName[version])") where extensionName is required.
static Map<String,org.nuiton.util.TimeLog.CallStat> getCallCount()
           
 org.nuiton.util.ApplicationConfig getConfig()
           
 WikittyUser getLoggedInUser()
          Get the #WikittyUser that is logged in.
 WikittyExtensionMigrationRegistry getMigrationRegistry()
           
 String getSecurityToken()
           
static org.nuiton.util.TimeLog getTimeTrace()
           
 WikittyUser getUser()
          get current wikittyUser logged or null if no user logged
<E extends BusinessEntity>
E
getUser(Class<E> clazz)
          get current logged user wikitty object
 Wikitty getWikitty(BusinessEntity entity)
          Method to get the Wikitty encapsulated into a BusinessEntity This method can go to serveur side, if BusinessEntity is not BusinessEntityImpl, this append when use GWT
 WikittyService getWikittyService()
           
 boolean isMember(String groupName)
          Check that the logged in user is in a group.
 void login(String login, String password)
           
 void logout()
           
<E extends BusinessEntity>
List<E>
restore(Class<E> clazz, List<String> id)
           
<E extends BusinessEntity>
List<E>
restore(Class<E> clazz, List<String> id, boolean checkExtension)
          Restore wikitty entity with specified id or null if entity can't be be found, or checkExtension is true and wikitty don't match extension wanted.
<E extends BusinessEntity>
Set<E>
restore(Class<E> clazz, Set<String> id)
           
<E extends BusinessEntity>
Set<E>
restore(Class<E> clazz, Set<String> id, boolean checkExtension)
           
<E extends BusinessEntity>
E
restore(Class<E> clazz, String id)
          Restore wikitty entity with specified id or null if entity can't be found.
<E extends BusinessEntity>
E
restore(Class<E> clazz, String id, boolean checkExtension)
          Restore wikitty entity with specified id or null if entity can't be found.
 List<Wikitty> restore(List<String> id)
          Restore wikitty entity with specified id or null if entity can't be be found.
 Set<Wikitty> restore(Set<String> id)
           
 Wikitty restore(String id)
          Restore wikitty entity with specified id or null if entity can't be found.
 WikittyExtension restoreExtension(String extensionId)
          Load extension from id.
 List<WikittyExtension> restoreExtensionAndDependenciesLastVesion(Collection<String> extensionNames)
          Search extension with name in last version.
 WikittyExtension restoreExtensionLastVersion(String extensionName)
          Search extension with name in last version.
 Wikitty restoreVersion(String wikittyId, String version)
           
 void setSecurityToken(String securityToken)
           
 void setWikittyService(WikittyService wikittyService)
           
<E extends BusinessEntity>
E
store(E e)
           
<E extends BusinessEntity>
E[]
store(E e1, E e2, E... eN)
           
<E extends BusinessEntity>
List<E>
store(List<E> objets)
          Store to WikittyService objects.
 Wikitty store(Wikitty w)
           
 Wikitty[] store(Wikitty w1, Wikitty w2, Wikitty... wN)
           
 WikittyEvent storeExtension(Collection<WikittyExtension> exts)
          Manage Update and creation.
 WikittyEvent storeExtension(WikittyExtension ext)
          Manage Update and creation.
 List<Wikitty> storeWikitty(List<Wikitty> wikitties)
           
 void syncSearchEngine()
          Synchronize search engine with wikitty storage engine, i.e.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

config

protected org.nuiton.util.ApplicationConfig config

wikittyService

protected WikittyServiceEnhanced wikittyService
Delegated wikitty service.


securityToken

protected String securityToken
Security token.

See Also:
WikittyServiceSecurity.login(String, String)
Constructor Detail

WikittyClient

protected WikittyClient()
Empty constructor (uninitialized wikittyService).


WikittyClient

public WikittyClient(org.nuiton.util.ApplicationConfig config)
Creation du client, le wikittyService est instancier grace au information trouve dans la configuration.

Parameters:
config -

WikittyClient

public WikittyClient(org.nuiton.util.ApplicationConfig config,
                     WikittyService wikittyService)
Creation du client en forcant le wikittyService

Parameters:
config -
wikittyService -
Method Detail

getTimeTrace

public static org.nuiton.util.TimeLog getTimeTrace()

getCallCount

public static Map<String,org.nuiton.util.TimeLog.CallStat> getCallCount()

getMigrationRegistry

public WikittyExtensionMigrationRegistry getMigrationRegistry()

login

public void login(String login,
                  String password)

logout

public void logout()

getSecurityToken

public String getSecurityToken()

setSecurityToken

public void setSecurityToken(String securityToken)

getUser

public WikittyUser getUser()
get current wikittyUser logged or null if no user logged

Returns:
null if no user logged

getUser

public <E extends BusinessEntity> E getUser(Class<E> clazz)
get current logged user wikitty object

Parameters:
clazz - Business class used as User in your application, this extension should be require WikittyUser.
Returns:
null if no user logged

getWikittyService

public WikittyService getWikittyService()

setWikittyService

public void setWikittyService(WikittyService wikittyService)

getConfig

public org.nuiton.util.ApplicationConfig getConfig()

store

public Wikitty store(Wikitty w)

store

public <E extends BusinessEntity> E store(E e)

store

public <E extends BusinessEntity> E[] store(E e1,
                                            E e2,
                                            E... eN)

store

public Wikitty[] store(Wikitty w1,
                       Wikitty w2,
                       Wikitty... wN)

store

public <E extends BusinessEntity> List<E> store(List<E> objets)
Store to WikittyService objects.

Type Parameters:
E - object type
Parameters:
objets - list
Returns:
updated objects list

storeWikitty

public List<Wikitty> storeWikitty(List<Wikitty> wikitties)

restore

public List<Wikitty> restore(List<String> id)
Restore wikitty entity with specified id or null if entity can't be be found.

Parameters:
id - entity ids if null return is empty list
Returns:
wikitty entity with specified id or null if entity can't be found

restore

public Wikitty restore(String id)
Restore wikitty entity with specified id or null if entity can't be found.

Parameters:
id - entity id
Returns:
wikitty entity with specified id or null if entity can't be found

restore

public <E extends BusinessEntity> List<E> restore(Class<E> clazz,
                                                  List<String> id,
                                                  boolean checkExtension)
Restore wikitty entity with specified id or null if entity can't be be found, or checkExtension is true and wikitty don't match extension wanted.

Type Parameters:
E - object type
Parameters:
clazz - entity class
id - entity ids if null return is empty list
checkExtension - if true check that Wikitty result has all extension
Returns:
wikitty entity with specified id or null if entity can't be found or if one wikitty don't have extension wanted by E type

restore

public <E extends BusinessEntity> E restore(Class<E> clazz,
                                            String id)
Restore wikitty entity with specified id or null if entity can't be found.

Type Parameters:
E - object type
Parameters:
clazz - entity class
id - entity id
Returns:
wikitty entity with specified id or null if entity can't be found

restore

public <E extends BusinessEntity> E restore(Class<E> clazz,
                                            String id,
                                            boolean checkExtension)
Restore wikitty entity with specified id or null if entity can't be found.

Type Parameters:
E - object type
Parameters:
clazz - entity class
id - entity id
checkExtension - if true check that Wikitty result has all extension declared in clazz
Returns:
wikitty entity with specified id or null if entity can't be found

restore

public <E extends BusinessEntity> List<E> restore(Class<E> clazz,
                                                  List<String> id)

restore

public Set<Wikitty> restore(Set<String> id)

restore

public <E extends BusinessEntity> Set<E> restore(Class<E> clazz,
                                                 Set<String> id)

restore

public <E extends BusinessEntity> Set<E> restore(Class<E> clazz,
                                                 Set<String> id,
                                                 boolean checkExtension)

delete

public void delete(String id)

delete

public <E extends BusinessEntity> void delete(E object)

delete

public void delete(Collection<String> ids)

delete

public <E extends BusinessEntity> void delete(List<E> objets)

findAllByExample

public <E extends BusinessEntityImpl> WikittyQueryResult<E> findAllByExample(E e,
                                                                             int first,
                                                                             int limit,
                                                                             ElementField... fieldFacet)
Null field are not used in search request.

Parameters:
e - sample wikitty
firstIndex -
endIndex -
fieldFacet -
Returns:

findByExample

public <E extends BusinessEntityImpl> E findByExample(E e)
Null field are not used in search request.

Parameters:
e - sample wikitty
Returns:

findAllByQuery

protected <E> List<WikittyQueryResult<E>> findAllByQuery(Class<E> clazz,
                                                         List<WikittyQuery> queries,
                                                         boolean limitToFirst)
Cette method doit etre l'unique methode finalement utilise par toutes les methodes find avec un cast vers clazz Search object that correspond to criteria and that have all extension needed by BusinessEntity (clazz), if clazz is BusinessEntity class. If one criteria is empty, find all extensions for this criteria else if criteria is null return null.

Type Parameters:
E - object type Can be Wikitty, BusinessEntity, String, Date, Number (returned is BigDecimal), Boolean, byte[]
Parameters:
clazz - entity class
queries - criterias
limitToFirst - if true limit result to first result (first = 0, limit = 1)
Returns:
paged result

findAllByQuery

public <E> List<WikittyQueryResult<E>> findAllByQuery(Class<E> clazz,
                                                      List<WikittyQuery> criterias)
Search object that correspond to criteria and that have all extension needed by BusinessEntity (clazz), if clazz is BusinessEntity class. If one criteria is empty, find all extensions for this criteria else if criteria is null return null.

Type Parameters:
E - object type Can be Wikitty, BusinessEntity, String, Date, Number (returned is BigDecimal), Boolean, byte[]
Parameters:
clazz - entity class
criterias - criterias
Returns:
paged result

findAllByQuery

public <E> WikittyQueryResult<E> findAllByQuery(Class<E> clazz,
                                                WikittyQuery criteria)
Search object that correspond to criteria and that have all extension needed by BusinessEntity (clazz), if clazz is BusinessEntity class. If one criteria is empty, find all extensions for this criteria else if criteria is null return null.

Type Parameters:
E - object type Can be Wikitty, BusinessEntity, String, Date, Number (returned is BigDecimal), Boolean, byte[]
Parameters:
clazz - entity class
criteria - criteria
Returns:
paged result

findAllByQuery

public <E> WikittyQueryResult<E>[] findAllByQuery(Class<E> clazz,
                                                  WikittyQuery c1,
                                                  WikittyQuery c2,
                                                  WikittyQuery... otherCriteria)
/** Search object that correspond to criteria and that have all extension needed by BusinessEntity (clazz), if clazz is BusinessEntity class. If one criteria is empty, find all extensions for this criteria else if criteria is null return null.

Type Parameters:
E - object type Can be Wikitty, BusinessEntity, String, Date, Number (returned is BigDecimal), Boolean, byte[]
Parameters:
clazz - entity class
c1 - criteria 1
c2 - criteria 2
otherCriteria - otherCriteria
Returns:
paged result

findByQuery

public <E> List<E> findByQuery(Class<E> clazz,
                               List<WikittyQuery> criterias)

findByQuery

public <E> E findByQuery(Class<E> clazz,
                         WikittyQuery criteria)

findByQuery

public <E> E[] findByQuery(Class<E> clazz,
                           WikittyQuery c1,
                           WikittyQuery c2,
                           WikittyQuery... otherCriteria)

findAllByQuery

public List<WikittyQueryResult<String>> findAllByQuery(List<WikittyQuery> criteria)

findAllByQuery

public WikittyQueryResult<String> findAllByQuery(WikittyQuery criteria)

findAllByQuery

public WikittyQueryResult<String>[] findAllByQuery(WikittyQuery c1,
                                                   WikittyQuery c2,
                                                   WikittyQuery... otherCriteria)

findByQuery

public List<String> findByQuery(List<WikittyQuery> criteria)

findByQuery

public String findByQuery(WikittyQuery criteria)

findByQuery

public String[] findByQuery(WikittyQuery c1,
                            WikittyQuery c2,
                            WikittyQuery... otherCriteria)

findTreeNode

public WikittyQueryResultTreeNode<Wikitty> findTreeNode(String wikittyId,
                                                        int depth,
                                                        boolean count,
                                                        WikittyQuery filter)
Recupere une portion d'arbre a partir de l'id passer en parametre. L'id doit etre celui d'un WikittyTreeNode. Ce WikittyTreeNode est alors le root de l'arbre retourne. Return Wikitty in result, those Wikitties have WikittyTreeNode extension

Parameters:
wikittyId - root
depth - profondeur de noeud a recuperer
count - vrai si l'on veut le nombre de piece attaches sur le noeud (piece des enfants compris)
filter - filter pour compter les pieces attachees
Returns:
treeNodeResult of wikitty
Since:
3.1

findTreeNode

public <E extends BusinessEntity> WikittyQueryResultTreeNode<E> findTreeNode(Class<E> clazz,
                                                                             String wikittyId,
                                                                             int depth,
                                                                             boolean count,
                                                                             WikittyQuery filter)
Recupere une portion d'arbre a partir de l'id passer en parametre. L'id doit etre celui d'un WikittyTreeNode. Ce WikittyTreeNode est alors le root de l'arbre retourne. Return E in result

Parameters:
clazz - business class wanted to replace id in TreeNodeResult
wikittyId - root
depth - profondeur de noeud a recuperer
count - vrai si l'on veut le nombre de piece attaches sur le noeud (piece des enfants compris)
filter - filter pour compter les pieces attachees
Returns:
Since:
3.1

findAllIdTreeNode

public WikittyQueryResultTreeNode<String> findAllIdTreeNode(String wikittyId,
                                                            int depth,
                                                            boolean count,
                                                            WikittyQuery filter)
Recupere une portion d'arbre a partir de l'id passer en parametre. L'id doit etre celui d'un WikittyTreeNode. Ce WikittyTreeNode est alors le root de l'arbre retourne. Return just wikitty Id in result

Parameters:
wikittyId -
depth -
count -
filter -
Returns:
Since:
3.1

deleteTree

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

Parameters:
treeNodeId - tree node id to delete
Returns:
if at least one node has been deleted

restoreVersion

public Wikitty restoreVersion(String wikittyId,
                              String version)

storeExtension

public WikittyEvent storeExtension(WikittyExtension ext)
Manage Update and creation.

Parameters:
ext - extension to be persisted
Returns:
update response

storeExtension

public WikittyEvent storeExtension(Collection<WikittyExtension> exts)
Manage Update and creation.

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

restoreExtension

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

Parameters:
extensionId - extension id to restore
Returns:
the corresponding object, exception if no such object found.

restoreExtensionLastVersion

public WikittyExtension restoreExtensionLastVersion(String extensionName)
Search extension with name in last version.

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

restoreExtensionAndDependenciesLastVesion

public List<WikittyExtension> restoreExtensionAndDependenciesLastVesion(Collection<String> extensionNames)
Search extension with name in last version.

Parameters:
extensionNames - extension name
Returns:
extension wanted with dependencies extensions at head of list

deleteExtension

public void deleteExtension(String extName)

deleteExtension

public void deleteExtension(Collection<String> extNames)

getAllExtensionIds

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

Returns:
extension id list

getAllExtensionsRequires

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

Parameters:
extensionName - extension name
Returns:
extensions

clear

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


syncSearchEngine

public void syncSearchEngine()
Synchronize search engine with wikitty storage engine, i.e. clear and reindex all object.


getWikitty

public Wikitty getWikitty(BusinessEntity entity)
Method to get the Wikitty encapsulated into a BusinessEntity This method can go to serveur side, if BusinessEntity is not BusinessEntityImpl, this append when use GWT

Parameters:
entity - the BusinessEntity encapsulating the Wikitty
Returns:
the wikitty encapsulated

isMember

public boolean isMember(String groupName)
Check that the logged in user is in a group. A #SecurityException might be thrown at runtime if the #WikittyUser session timed out.

Parameters:
groupName - the name of the group to check
Returns:
true is the logged in user is in the group

getLoggedInUser

public WikittyUser getLoggedInUser()
Get the #WikittyUser that is logged in. A #SecurityException might be thrown at runtime if the #WikittyUser session timed out.

Returns:
the logged in #WikittyUser

castTo

public <E> WikittyQueryResult<E> castTo(Class<E> target,
                                        WikittyQueryResult queryResult)
Convert all result to the wanted type and return new WikittyQueryResult with this new result list. For business object transformation, if some result don't have the right extension (clazz) this extension is automatically added.

Parameters:
queryResult - result to convert
target - to cast into. Can be Wikitty, BusinessEntity, String, Date, Number (returned is BigDecimal), Boolean, byte[]
Returns:
new WikittyQueryResult with element in right class or Exception if conversion is impossible


Copyright © 2009-2012 CodeLutin. All Rights Reserved.