Interface LDNMessageDao

All Superinterfaces:
GenericDAO<LDNMessageEntity>
All Known Implementing Classes:
LDNMessageDaoImpl

public interface LDNMessageDao extends GenericDAO<LDNMessageEntity>
Database Access Object interface class for the LDNMessage object. The implementation of this class is responsible for all database calls for the LDNMessage object and is autowired by spring
Author:
Mohamed Eskander (mohamed.eskander at 4science.com)
  • Method Details

    • findOldestMessageToProcess

      List<LDNMessageEntity> findOldestMessageToProcess(Context context, int max_attempts) throws SQLException
      load the oldest ldn messages considering their LDNMessageEntity.queueLastStartTime
      Parameters:
      context -
      max_attempts - consider ldn_message entity with queue_attempts <= max_attempts
      Returns:
      ldn message entities to be routed
      Throws:
      SQLException
    • findProcessingTimedoutMessages

      List<LDNMessageEntity> findProcessingTimedoutMessages(Context context, int max_attempts) throws SQLException
      find ldn message entties in processing status and already timed out.
      Parameters:
      context -
      max_attempts - consider ldn_message entity with queue_attempts <= max_attempts
      Returns:
      ldn message entities
      Throws:
      SQLException
    • findAllMessagesByItem

      List<LDNMessageEntity> findAllMessagesByItem(Context context, Item item, String... activities) throws SQLException
      find all ldn messages related to an item
      Parameters:
      context -
      item - item related to the returned ldn messages
      activities - involves only this specific group of activities
      Returns:
      all ldn messages related to the given item
      Throws:
      SQLException
    • findAllRelatedMessagesByItem

      List<LDNMessageEntity> findAllRelatedMessagesByItem(Context context, LDNMessageEntity msg, Item item, String... relatedTypes) throws SQLException
      find all ldn messages related to an item and to a specific ldn message
      Parameters:
      context -
      msg - the referring ldn message
      item - the referring repository item
      relatedTypes - filter for @see org.dspace.app.ldn.LDNMessageEntity#activityStreamType
      Returns:
      all related ldn messages
      Throws:
      SQLException
    • findMessagesToBeReprocessed

      List<LDNMessageEntity> findMessagesToBeReprocessed(Context context) throws SQLException
      Parameters:
      context -
      Returns:
      the list of messages in need to be reprocessed - with queue_status as QUEUE_STATUS_QUEUED_FOR_RETRY
      Throws:
      SQLException