Package com.logicaldoc.core.security.dao
Class HibernateUserDAO
java.lang.Object
com.logicaldoc.core.HibernatePersistentObjectDAO<User>
com.logicaldoc.core.security.dao.HibernateUserDAO
- All Implemented Interfaces:
PersistentObjectDAO<User>
,UserDAO
Hibernate implementation of
UserDAO
- Since:
- 3.0
- Author:
- Marco Meschieri - LogicalDOC
-
Field Summary
Fields inherited from interface com.logicaldoc.core.PersistentObjectDAO
ENTITY
-
Method Summary
Modifier and TypeMethodDescriptionint
Counts the total number of standard usersint
countGuests
(Long tenantId) Counts the total number of guest usersvoid
delete
(long userId, int code) This method deletes an entity and you can give a deletion codevoid
delete
(long userId, UserHistory transaction) This method deletes the user object and insert a new user history entry.findAdminUser
(String tenantName) Retrieve the administrator for the given tenant.findByGroup
(long groupId) Retrieves the users belonging to a given group.findById
(long id) This method finds an entity by IDfindByLikeUsername
(String username) This method finds an User by username.findByName
(String name) This method finds an User by name.findByUsername
(String username) This method finds an User by its username.findByUsernameAndName
(String username, String name) This method finds an User by username and name.findByUsernameIgnoreCase
(String username) This method finds an User by its username.findUserSettings
(long userId, String namePrefix) Retrieves the settings for a user.Depending on the global setting, it invokes findByUsername or findByUsernameIgnoreCasestatic boolean
void
initialize
(User user) Doesn't do anything by defaultboolean
isInactive
(String username) Checks if a user is inactive, that is a user without interactions in the last X days after it has last enabled.boolean
isPasswordExpired
(String username) Is password expired.void
setConfig
(ContextProperties config) void
setGenericDAO
(GenericDAO genericDAO) void
setPasswordHistoryDAO
(PasswordHistoryDAO passwordHistoryDAO) void
setUserHistoryDAO
(UserHistoryDAO userHistoryDAO) void
setUserListenerManager
(UserListenerManager userListenerManager) void
This method persists the entity objectvoid
store
(User user, UserHistory transaction) This method persists the user object and insert a new user history entry.Methods inherited from class com.logicaldoc.core.HibernatePersistentObjectDAO
bulkUpdate, delete, deleteAll, deleteAll, findAll, findAll, findAllIds, findAllIds, findById, findByObjectQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, getSessionFactory, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForRowSet, queryForRowSet, queryForString, setSessionFactory
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.logicaldoc.core.PersistentObjectDAO
bulkUpdate, delete, deleteAll, deleteAll, findAll, findAll, findAllIds, findAllIds, findById, findByObjectQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForRowSet, queryForRowSet, queryForString
-
Method Details
-
ignoreCaseLogin
public static boolean ignoreCaseLogin() -
findByName
Description copied from interface:UserDAO
This method finds an User by name.- Specified by:
findByName
in interfaceUserDAO
- Parameters:
name
- The name of wanted User.- Returns:
- Collection of selected users.
-
findByUsername
Description copied from interface:UserDAO
This method finds an User by its username. The search is case sensitive.- Specified by:
findByUsername
in interfaceUserDAO
- Parameters:
username
- username of wanted User.- Returns:
- Wanted User or null if user doesn't exist.
- Throws:
PersistenceException
- Error in the data layer
-
findByUsernameIgnoreCase
Description copied from interface:UserDAO
This method finds an User by its username. The search is case insensitive.- Specified by:
findByUsernameIgnoreCase
in interfaceUserDAO
- Parameters:
username
- username of wanted User.- Returns:
- Wanted User or null if user doesn't exist.
- Throws:
PersistenceException
- Error in the data layer
-
findByLikeUsername
Description copied from interface:UserDAO
This method finds an User by username.- Specified by:
findByLikeUsername
in interfaceUserDAO
- Parameters:
username
- The username of wanted User.- Returns:
- Collection of selected users.
- See Also:
-
findByUsernameAndName
Description copied from interface:UserDAO
This method finds an User by username and name.- Specified by:
findByUsernameAndName
in interfaceUserDAO
- Parameters:
username
- The username of wanted username
- The name of wanted user- Returns:
- Collection of selected users
-
store
Description copied from interface:PersistentObjectDAO
This method persists the entity object- Specified by:
store
in interfacePersistentObjectDAO<User>
- Overrides:
store
in classHibernatePersistentObjectDAO<User>
- Parameters:
user
- entity to be stored- Throws:
PersistenceException
- raised in case of errors in the databasePasswordAlreadyUsedException
-
store
public void store(User user, UserHistory transaction) throws PasswordAlreadyUsedException, PersistenceException Description copied from interface:UserDAO
This method persists the user object and insert a new user history entry.- Specified by:
store
in interfaceUserDAO
- Parameters:
user
- the user to storetransaction
- entry to log the event- Throws:
PersistenceException
- error at database levelPasswordAlreadyUsedException
-
isPasswordExpired
Description copied from interface:UserDAO
Is password expired.- Specified by:
isPasswordExpired
in interfaceUserDAO
- Parameters:
username
- Username of the User to be validated.- Returns:
- True if the password is expired
-
isInactive
Description copied from interface:UserDAO
Checks if a user is inactive, that is a user without interactions in the last X days after it has last enabled. We look at theUser.getMaxInactivity()
first en then we fallback to the general parameter security.user.maxinactivity- Specified by:
isInactive
in interfaceUserDAO
- Parameters:
username
- identifier of the user- Returns:
- the last interaction time
-
count
Description copied from interface:UserDAO
Counts the total number of standard users -
countGuests
Description copied from interface:UserDAO
Counts the total number of guest users- Specified by:
countGuests
in interfaceUserDAO
- Parameters:
tenantId
- identifier of the tenant- Returns:
- total number of guest users
-
delete
Description copied from interface:PersistentObjectDAO
This method deletes an entity and you can give a deletion code- Specified by:
delete
in interfacePersistentObjectDAO<User>
- Overrides:
delete
in classHibernatePersistentObjectDAO<User>
- Parameters:
userId
- ID of the entity which should be deletedcode
- Deletion code- Throws:
PersistenceException
- raised in case of errors in the database
-
delete
Description copied from interface:UserDAO
This method deletes the user object and insert a new user history entry.- Specified by:
delete
in interfaceUserDAO
- Parameters:
userId
- The id of the user to deletetransaction
- entry to log the event- Throws:
PersistenceException
- error at database level
-
getUserHistoryDAO
-
setUserHistoryDAO
-
setUserListenerManager
-
getUserListenerManager
-
initialize
Description copied from class:HibernatePersistentObjectDAO
Doesn't do anything by default- Specified by:
initialize
in interfacePersistentObjectDAO<User>
- Overrides:
initialize
in classHibernatePersistentObjectDAO<User>
- Parameters:
user
- The entity to be initialised
-
findUserSettings
Description copied from interface:UserDAO
Retrieves the settings for a user. The settings are stored as Generics of type usersetting.- Specified by:
findUserSettings
in interfaceUserDAO
- Parameters:
userId
- Identifier of the usernamePrefix
- Name prefix of the property (optional)- Returns:
- The map setting_name-generic
-
setGenericDAO
-
findAdminUser
Description copied from interface:UserDAO
Retrieve the administrator for the given tenant. The general rule is that the administrator's username is:- admin if the tenant is default
- adminTenantname in all other cases
- Specified by:
findAdminUser
in interfaceUserDAO
- Parameters:
tenantName
- name of the tenant- Returns:
- the user to administrate the tenant
- Throws:
PersistenceException
- Error in the data layer
-
findByGroup
Description copied from interface:UserDAO
Retrieves the users belonging to a given group.- Specified by:
findByGroup
in interfaceUserDAO
- Parameters:
groupId
- Identifier of the group- Returns:
- the set of groups
-
findById
Description copied from interface:PersistentObjectDAO
This method finds an entity by ID- Specified by:
findById
in interfacePersistentObjectDAO<User>
- Overrides:
findById
in classHibernatePersistentObjectDAO<User>
- Parameters:
id
- ID of the entity- Returns:
- Entity with given ID
- Throws:
PersistenceException
- raised in case of errors in the database
-
getUser
Description copied from interface:UserDAO
Depending on the global setting, it invokes findByUsername or findByUsernameIgnoreCase- Specified by:
getUser
in interfaceUserDAO
- Parameters:
username
- The username of the user- Returns:
- The found user
- Throws:
PersistenceException
- Error in the data layer
-
setPasswordHistoryDAO
-
setConfig
-