Package com.logicaldoc.core.security
Class HibernateDeviceDAO
java.lang.Object
com.logicaldoc.core.HibernatePersistentObjectDAO<Device>
com.logicaldoc.core.security.HibernateDeviceDAO
- All Implemented Interfaces:
PersistentObjectDAO<Device>
,DeviceDAO
An Hibernate based implementation of
DeviceDAO
- Since:
- 8.5.3
- Author:
- Marco Meschieri - LogicalDOC
-
Field Summary
Fields inherited from interface com.logicaldoc.core.PersistentObjectDAO
ENTITY
-
Method Summary
Modifier and TypeMethodDescriptionvoid
cleanOldDevices
(int ttl) This method deletes all the devices lastly used before the given days since now.void
delete
(long deviceId, int code) This method deletes an entity and you can give a deletion codefindByDevice
(Device device) Finds the device that corresponds to the given onefindByDeviceId
(String deviceId) Gets the device by it's alternate key:Device.getDeviceId()
findByUserId
(long userId) Finds the devices of a specific userfindTrustedDevices
(long userId) Retrieves all the devices trusted by a given userboolean
isTrustedDevice
(String username, javax.servlet.http.HttpServletRequest request) Checks if the current request's device is trusted by the uservoid
setUserDAO
(UserDAO userDAO) void
This method persists the entity objecttrustDevice
(User user, Device requestDevice) Trusts a device for a userMethods inherited from class com.logicaldoc.core.HibernatePersistentObjectDAO
bulkUpdate, delete, deleteAll, deleteAll, findAll, findAll, findAllIds, findAllIds, findById, findById, findByObjectQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, getSessionFactory, initialize, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, 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, findById, findByObjectQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, initialize, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForRowSet, queryForRowSet, queryForString
-
Method Details
-
findByDeviceId
Description copied from interface:DeviceDAO
Gets the device by it's alternate key:Device.getDeviceId()
- Specified by:
findByDeviceId
in interfaceDeviceDAO
- Parameters:
deviceId
- identifier of the device- Returns:
- the found device
-
findTrustedDevices
Description copied from interface:DeviceDAO
Retrieves all the devices trusted by a given user- Specified by:
findTrustedDevices
in interfaceDeviceDAO
- Parameters:
userId
- the user to consider- Returns:
- the list of devices ordered by descending last login date
-
findByUserId
Description copied from interface:DeviceDAO
Finds the devices of a specific user- Specified by:
findByUserId
in interfaceDeviceDAO
- Parameters:
userId
- identifier of the user- Returns:
- the list of devices ordered by descending last login date
-
trustDevice
Description copied from interface:DeviceDAO
Trusts a device for a user- Specified by:
trustDevice
in interfaceDeviceDAO
- Parameters:
user
- the current userrequestDevice
- the device to trust- Returns:
- the trusted device
- Throws:
PersistenceException
- an error happened in the database
-
cleanOldDevices
public void cleanOldDevices(int ttl) Description copied from interface:DeviceDAO
This method deletes all the devices lastly used before the given days since now. Ifttl
is 0 or -1, the cancellation is not made.- Specified by:
cleanOldDevices
in interfaceDeviceDAO
- Parameters:
ttl
- The maximum number of days over which the device is considered old
-
store
Description copied from interface:PersistentObjectDAO
This method persists the entity object- Specified by:
store
in interfacePersistentObjectDAO<Device>
- Overrides:
store
in classHibernatePersistentObjectDAO<Device>
- Parameters:
entity
- entity to be stored- Throws:
PersistenceException
- raised in case of errors in the database
-
isTrustedDevice
public boolean isTrustedDevice(String username, javax.servlet.http.HttpServletRequest request) throws PersistenceException Description copied from interface:DeviceDAO
Checks if the current request's device is trusted by the user- Specified by:
isTrustedDevice
in interfaceDeviceDAO
- Parameters:
username
- username of the current userrequest
- the current request- Returns:
- true only if the request's device is trusted by the user
- Throws:
PersistenceException
- Error in the data layer
-
findByDevice
Description copied from interface:DeviceDAO
Finds the device that corresponds to the given one- Specified by:
findByDevice
in interfaceDeviceDAO
- Parameters:
device
- the device to take as model- Returns:
- the found device
-
delete
Description copied from interface:PersistentObjectDAO
This method deletes an entity and you can give a deletion code- Specified by:
delete
in interfacePersistentObjectDAO<Device>
- Overrides:
delete
in classHibernatePersistentObjectDAO<Device>
- Parameters:
deviceId
- ID of the entity which should be deletedcode
- Deletion code- Throws:
PersistenceException
- raised in case of errors in the database
-
setUserDAO
-