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
@Repository("deviceDAO")
public class HibernateDeviceDAO
extends HibernatePersistentObjectDAO<Device>
implements 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 TypeMethodDescriptionvoidcleanOldDevices(int ttl) This method deletes all the devices lastly used before the given days since now.voiddelete(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 userbooleanisTrustedDevice(String username, jakarta.servlet.http.HttpServletRequest request) Checks if the current request's device is trusted by the uservoidsetUserDAO(UserDAO userDAO) voidThis 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, evict, evict, findAll, findAll, findAllIds, findAllIds, findById, findById, findByObjectQuery, findByQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, initialize, isMySQL, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForObject, queryForResultSet, queryForString, queryForString, setSessionFactoryMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.logicaldoc.core.PersistentObjectDAO
bulkUpdate, delete, deleteAll, deleteAll, evict, evict, findAll, findAll, findAllIds, findAllIds, findById, findById, findByObjectQuery, findByQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, initialize, isMySQL, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForObject, queryForResultSet, queryForString, queryForString
-
Method Details
-
findByDeviceId
Description copied from interface:DeviceDAOGets the device by it's alternate key:Device.getDeviceId()- Specified by:
findByDeviceIdin interfaceDeviceDAO- Parameters:
deviceId- identifier of the device- Returns:
- the found device
-
findTrustedDevices
Description copied from interface:DeviceDAORetrieves all the devices trusted by a given user- Specified by:
findTrustedDevicesin interfaceDeviceDAO- Parameters:
userId- the user to consider- Returns:
- the list of devices ordered by descending last login date
-
findByUserId
Description copied from interface:DeviceDAOFinds the devices of a specific user- Specified by:
findByUserIdin interfaceDeviceDAO- Parameters:
userId- identifier of the user- Returns:
- the list of devices ordered by descending last login date
-
trustDevice
Description copied from interface:DeviceDAOTrusts a device for a user- Specified by:
trustDevicein 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:DeviceDAOThis method deletes all the devices lastly used before the given days since now. Ifttlis 0 or -1, the cancellation is not made.- Specified by:
cleanOldDevicesin interfaceDeviceDAO- Parameters:
ttl- The maximum number of days over which the device is considered old
-
store
Description copied from interface:PersistentObjectDAOThis method persists the entity object- Specified by:
storein interfacePersistentObjectDAO<Device>- Overrides:
storein classHibernatePersistentObjectDAO<Device>- Parameters:
entity- entity to be stored- Throws:
PersistenceException- raised in case of errors in the database
-
isTrustedDevice
public boolean isTrustedDevice(String username, jakarta.servlet.http.HttpServletRequest request) throws PersistenceException Description copied from interface:DeviceDAOChecks if the current request's device is trusted by the user- Specified by:
isTrustedDevicein 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:DeviceDAOFinds the device that corresponds to the given one- Specified by:
findByDevicein interfaceDeviceDAO- Parameters:
device- the device to take as model- Returns:
- the found device
-
delete
Description copied from interface:PersistentObjectDAOThis method deletes an entity and you can give a deletion code- Specified by:
deletein interfacePersistentObjectDAO<Device>- Overrides:
deletein 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
-