Class HibernateDeviceDAO

java.lang.Object
com.logicaldoc.core.HibernatePersistentObjectDAO<Device>
com.logicaldoc.core.security.dao.HibernateDeviceDAO
All Implemented Interfaces:
PersistentObjectDAO<Device>, DeviceDAO

public class HibernateDeviceDAO extends HibernatePersistentObjectDAO<Device> implements DeviceDAO
An Hibernate based implementation of DeviceDAO
Since:
8.5.3
Author:
Marco Meschieri - LogicalDOC
  • Method Details

    • findByDeviceId

      public Device findByDeviceId(String deviceId)
      Description copied from interface: DeviceDAO
      Gets the device by it's alternate key: Device.getDeviceId()
      Specified by:
      findByDeviceId in interface DeviceDAO
      Parameters:
      deviceId - identifier of the device
      Returns:
      the found device
    • findTrustedDevices

      public List<Device> findTrustedDevices(long userId)
      Description copied from interface: DeviceDAO
      Retrieves all the devices trusted by a given user
      Specified by:
      findTrustedDevices in interface DeviceDAO
      Parameters:
      userId - the user to consider
      Returns:
      the list of devices ordered by descending last login date
    • findByUserId

      public List<Device> findByUserId(long userId)
      Description copied from interface: DeviceDAO
      Finds the devices of a specific user
      Specified by:
      findByUserId in interface DeviceDAO
      Parameters:
      userId - identifier of the user
      Returns:
      the list of devices ordered by descending last login date
    • trustDevice

      public Device trustDevice(User user, Device requestDevice) throws PersistenceException
      Description copied from interface: DeviceDAO
      Trusts a device for a user
      Specified by:
      trustDevice in interface DeviceDAO
      Parameters:
      user - the current user
      requestDevice - 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. If ttl is 0 or -1, the cancellation is not made.
      Specified by:
      cleanOldDevices in interface DeviceDAO
      Parameters:
      ttl - The maximum number of days over which the device is considered old
    • store

      public void store(Device entity) throws PersistenceException
      Description copied from interface: PersistentObjectDAO
      This method persists the entity object
      Specified by:
      store in interface PersistentObjectDAO<Device>
      Overrides:
      store in class HibernatePersistentObjectDAO<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 interface DeviceDAO
      Parameters:
      username - username of the current user
      request - the current request
      Returns:
      true only if the request's device is trusted by the user
      Throws:
      PersistenceException - Error in the data layer
    • findByDevice

      public Device findByDevice(Device device)
      Description copied from interface: DeviceDAO
      Finds the device that corresponds to the given one
      Specified by:
      findByDevice in interface DeviceDAO
      Parameters:
      device - the device to take as model
      Returns:
      the found device
    • delete

      public void delete(long deviceId, int code) throws PersistenceException
      Description copied from interface: PersistentObjectDAO
      This method deletes an entity and you can give a deletion code
      Specified by:
      delete in interface PersistentObjectDAO<Device>
      Overrides:
      delete in class HibernatePersistentObjectDAO<Device>
      Parameters:
      deviceId - ID of the entity which should be deleted
      code - Deletion code
      Throws:
      PersistenceException - raised in case of errors in the database
    • setUserDAO

      public void setUserDAO(UserDAO userDAO)