Openfire 3.9.3 Javadoc

org.jivesoftware.openfire.clearspace
Class ClearspaceUserProvider

java.lang.Object
  extended by org.jivesoftware.openfire.clearspace.ClearspaceUserProvider
All Implemented Interfaces:
UserProvider

public class ClearspaceUserProvider
extends Object
implements UserProvider

The ClearspaceUserProvider uses the UserService and ProfileSearchService web service inside of Clearspace to retrieve user information and to search for users from Clearspace.

Author:
Gabriel Guardincerri

Field Summary
protected static String SEARCH_URL_PREFIX
           
protected static String USER_URL_PREFIX
           
 
Constructor Summary
ClearspaceUserProvider()
           
 
Method Summary
 User createUser(String username, String password, String name, String email)
          Creates user using the userService/users POST service.
 void deleteUser(String username)
          Deletes a user using the userService/users DELETE service.
 Collection<User> findUsers(Set<String> fields, String query)
          Search for the user using the userService/search POST method.
 Collection<User> findUsers(Set<String> fields, String query, int startIndex, int numResults)
          Search for the user using the userService/searchBounded POST method.
 Set<String> getSearchFields()
          Clearsapce can search using three fields: username, name and email.
 int getUserCount()
          Gets the user count using the userService/users/count GET service.
 Collection<String> getUsernames()
          Gets all usernames using the userService/userNames GET service.
 Collection<User> getUsers()
          Gets all users using the userService/userNames GET service.
 Collection<User> getUsers(int startIndex, int numResults)
          Gets a bounded list of users using the userService/userNames GET service.
protected  org.dom4j.Element getUserUpdateParams(String username)
          Creates the parameters to send in a update user request based on the information of username
 boolean isEmailRequired()
          In Clearspace email is required
 boolean isNameRequired()
          In Clearspace name is optional.
 boolean isReadOnly()
          Returns true if Clearspace is a read only user provider.
 User loadUser(String username)
          Loads the user using the userService/users GET service.
 void setCreationDate(String username, Date creationDate)
          Updates the creationDate of the user using the userService/update service.
 void setEmail(String username, String email)
          Updates the email of the user using the userService/update service.
 void setModificationDate(String username, Date modificationDate)
          Updates the modificationDate of the user using the userService/update service.
 void setName(String username, String name)
          Updates the name of the user using the userService/update service.
protected  void updateUser(org.dom4j.Element userUpdateParams)
          Updates the user using the userService/users PUT service.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

USER_URL_PREFIX

protected static final String USER_URL_PREFIX
See Also:
Constant Field Values

SEARCH_URL_PREFIX

protected static final String SEARCH_URL_PREFIX
See Also:
Constant Field Values
Constructor Detail

ClearspaceUserProvider

public ClearspaceUserProvider()
Method Detail

loadUser

public User loadUser(String username)
              throws UserNotFoundException
Loads the user using the userService/users GET service. Only loads local users. Throws a UserNotFoundException exception if the user could not be found.

Specified by:
loadUser in interface UserProvider
Parameters:
username - the username of the user to load
Returns:
a user instance with the user information
Throws:
UserNotFoundException - if the user could not be found

createUser

public User createUser(String username,
                       String password,
                       String name,
                       String email)
                throws UserAlreadyExistsException
Creates user using the userService/users POST service. If Clearspace is a read only provider throws an UnsupportedOperationException. If there is already a user with the username throws a UserAlreadyExistsException.

Specified by:
createUser in interface UserProvider
Parameters:
username - the username of the user
password - the password of the user
name - the name of the user (optional)
email - the email of the user
Returns:
an instance of the created user
Throws:
UserAlreadyExistsException - If there is already a user with the username
UnsupportedOperationException - If Clearspace is a read only provider

deleteUser

public void deleteUser(String username)
Deletes a user using the userService/users DELETE service. If the user is not found returns.

Specified by:
deleteUser in interface UserProvider
Parameters:
username - the username of the user to delete

getUserCount

public int getUserCount()
Gets the user count using the userService/users/count GET service.

Specified by:
getUserCount in interface UserProvider
Returns:
the user count

getUsers

public Collection<User> getUsers()
Gets all users using the userService/userNames GET service.

Specified by:
getUsers in interface UserProvider
Returns:
a list of all users

getUsernames

public Collection<String> getUsernames()
Gets all usernames using the userService/userNames GET service.

Specified by:
getUsernames in interface UserProvider
Returns:
a list of all the usernames

getUsers

public Collection<User> getUsers(int startIndex,
                                 int numResults)
Gets a bounded list of users using the userService/userNames GET service.

Specified by:
getUsers in interface UserProvider
Parameters:
startIndex - the start index
numResults - the number of result
Returns:
a bounded list of users

setName

public void setName(String username,
                    String name)
             throws UserNotFoundException
Updates the name of the user using the userService/update service.

Specified by:
setName in interface UserProvider
Parameters:
username - the username of the user
name - the new name of the user
Throws:
UserNotFoundException - if there is no user with that username

setEmail

public void setEmail(String username,
                     String email)
              throws UserNotFoundException
Updates the email of the user using the userService/update service.

Specified by:
setEmail in interface UserProvider
Parameters:
username - the username of the user
email - the new email of the user
Throws:
UserNotFoundException - if the user could not be found

setCreationDate

public void setCreationDate(String username,
                            Date creationDate)
                     throws UserNotFoundException
Updates the creationDate of the user using the userService/update service.

Specified by:
setCreationDate in interface UserProvider
Parameters:
username - the username of the user
creationDate - the new email of the user
Throws:
UserNotFoundException - if the user could not be found

setModificationDate

public void setModificationDate(String username,
                                Date modificationDate)
                         throws UserNotFoundException
Updates the modificationDate of the user using the userService/update service.

Specified by:
setModificationDate in interface UserProvider
Parameters:
username - the username of the user
modificationDate - the new modificationDate of the user
Throws:
UserNotFoundException - if the user could not be found

getUserUpdateParams

protected org.dom4j.Element getUserUpdateParams(String username)
                                         throws UserNotFoundException
Creates the parameters to send in a update user request based on the information of username

Parameters:
username - the username of the user
Returns:
the parameters to send in a update user request
Throws:
UserNotFoundException - if the user could not be found

updateUser

protected void updateUser(org.dom4j.Element userUpdateParams)
                   throws UserNotFoundException
Updates the user using the userService/users PUT service.

Parameters:
userUpdateParams - the request parameters
Throws:
UserNotFoundException - if the user could not be found

getSearchFields

public Set<String> getSearchFields()
                            throws UnsupportedOperationException
Clearsapce can search using three fields: username, name and email.

Specified by:
getSearchFields in interface UserProvider
Returns:
a list of username, name and email
Throws:
UnsupportedOperationException

findUsers

public Collection<User> findUsers(Set<String> fields,
                                  String query)
                           throws UnsupportedOperationException
Search for the user using the userService/search POST method.

Specified by:
findUsers in interface UserProvider
Parameters:
fields - the fields to search on.
query - the query string.
Returns:
a Collection of users that match the search.
Throws:
UnsupportedOperationException - if the provider does not support the operation (this is an optional operation).

findUsers

public Collection<User> findUsers(Set<String> fields,
                                  String query,
                                  int startIndex,
                                  int numResults)
                           throws UnsupportedOperationException
Search for the user using the userService/searchBounded POST method.

Specified by:
findUsers in interface UserProvider
Parameters:
fields - the fields to search on.
query - the query string.
startIndex - the starting index in the search result to return.
numResults - the number of users to return in the search result.
Returns:
a Collection of users that match the search.
Throws:
UnsupportedOperationException - if the provider does not support the operation (this is an optional operation).

isReadOnly

public boolean isReadOnly()
Returns true if Clearspace is a read only user provider.

Specified by:
isReadOnly in interface UserProvider
Returns:
true if Clearspace is a read only user provider

isNameRequired

public boolean isNameRequired()
In Clearspace name is optional.

Specified by:
isNameRequired in interface UserProvider
Returns:
false

isEmailRequired

public boolean isEmailRequired()
In Clearspace email is required

Specified by:
isEmailRequired in interface UserProvider
Returns:
true

Openfire 3.9.3 Javadoc

Copyright © 2003-2008 Jive Software.