Class TorqueAbstractUserManager

java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
All Implemented Interfaces:
Serializable, org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.service.Serviceable, org.apache.avalon.framework.thread.ThreadSafe, UserManager
Direct Known Subclasses:
PeerUserManager, TorqueBasicUserManagerImpl, TorqueDynamicUserManagerImpl

public abstract class TorqueAbstractUserManager extends AbstractUserManager
This implementation persists to a database via Torque.
Version:
$Id:$
Author:
Thomas Vandahl
See Also:
  • Constructor Details

    • TorqueAbstractUserManager

      public TorqueAbstractUserManager()
  • Method Details

    • configure

      public void configure(org.apache.avalon.framework.configuration.Configuration conf) throws org.apache.avalon.framework.configuration.ConfigurationException
      Avalon Service lifecycle method
      Specified by:
      configure in interface org.apache.avalon.framework.configuration.Configurable
      Overrides:
      configure in class AbstractEntityManager
      Throws:
      org.apache.avalon.framework.configuration.ConfigurationException
    • doSelectAllUsers

      protected abstract <T extends User> List<T> doSelectAllUsers(Connection con) throws org.apache.torque.TorqueException
      Get all specialized Users
      Parameters:
      con - a database connection
      Returns:
      a List of User instances
      Throws:
      org.apache.torque.TorqueException - if any database error occurs
    • doSelectUsers

      protected abstract <T extends User> List<T> doSelectUsers(Connection con, org.apache.torque.criteria.Criteria criteria) throws org.apache.torque.TorqueException
      Get filtered specialized Users
      Parameters:
      con - a database connection
      criteria - the criteria filter
      Returns:
      a List of User instances
      Throws:
      org.apache.torque.TorqueException - if any database error occurs
    • doSelectByName

      protected abstract <T extends User> T doSelectByName(String name, Connection con) throws org.apache.torque.NoRowsException, org.apache.torque.TooManyRowsException, org.apache.torque.TorqueException
      Get a specialized User by name
      Parameters:
      name - the name of the group
      con - a database connection
      Returns:
      a User instance
      Throws:
      org.apache.torque.NoRowsException - if no such group exists
      org.apache.torque.TooManyRowsException - if multiple groups with the given name exist
      org.apache.torque.TorqueException - if any database error occurs if any other database error occurs
    • doSelectById

      protected abstract <T extends User> T doSelectById(Integer id, Connection con) throws org.apache.torque.NoRowsException, org.apache.torque.TooManyRowsException, org.apache.torque.TorqueException
      Get a specialized User by id
      Parameters:
      id - the id of the group
      con - a database connection
      Returns:
      a User instance
      Throws:
      org.apache.torque.NoRowsException - if no such group exists
      org.apache.torque.TooManyRowsException - if multiple groups with the given id exist
      org.apache.torque.TorqueException - if any database error occurs if any other database error occurs
    • removeUser

      public void removeUser(User user) throws DataBackendException, UnknownEntityException
      Removes an user account from the system.
      Parameters:
      user - the object describing the account to be removed.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
      UnknownEntityException - if the user account is not present.
    • persistNewUser

      protected <T extends User> T persistNewUser(T user) throws DataBackendException
      Creates new user account with specified attributes.
      Specified by:
      persistNewUser in class AbstractUserManager
      Parameters:
      user - the object describing account to be created.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
    • saveUser

      public void saveUser(User user) throws DataBackendException, UnknownEntityException
      Stores User attributes. The User is required to exist in the system.
      Parameters:
      user - The User to be stored.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
      UnknownEntityException - if the role does not exist.
    • checkExists

      public boolean checkExists(String userName) throws DataBackendException
      Check whether a specified user's account exists. The login name is used for looking up the account.
      Parameters:
      userName - The name of the user to be checked.
      Returns:
      true if the specified account exists
      Throws:
      DataBackendException - if there was an error accessing the data backend.
    • getUser

      public <T extends User> T getUser(String userName) throws UnknownEntityException, DataBackendException
      Retrieve a user from persistent storage using username as the key. Additionally retrieves all attached objects from TorqueAbstractSecurityEntity.retrieveAttachedObjects(Connection, Boolean)
      Specified by:
      getUser in interface UserManager
      Overrides:
      getUser in class AbstractUserManager
      Parameters:
      userName - the name of the user.
      Returns:
      an User object.
      Throws:
      UnknownEntityException - if the user's account does not exist in the database.
      DataBackendException - if there is a problem accessing the storage.
    • getAllUsers

      public <T extends User> UserSet<T> getAllUsers() throws DataBackendException
      Retrieves all users defined in the system.
      Returns:
      the names of all users defined in the system.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
    • retrieveUserList

      public <T extends User> UserSet<T> retrieveUserList(Object criteriaO) throws DataBackendException
      Throws:
      DataBackendException
    • getUserById

      public <T extends User> T getUserById(Object id) throws DataBackendException, UnknownEntityException
      Retrieve a User object with specified id.
      Specified by:
      getUserById in interface UserManager
      Overrides:
      getUserById in class AbstractUserManager
      Parameters:
      id - the id of the User.
      Returns:
      an object representing the User with specified id.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
      UnknownEntityException - if the user does not exist.