Class NotificationThread

  • All Implemented Interfaces:
    java.lang.Runnable

    public class NotificationThread
    extends java.lang.Object
    implements java.lang.Runnable
    Creates and sends customized emails to the appropriate members.
    • Retrieve all groups and all members having requested notification for the period being currently handled.
    • Retrieve all changes between now and now minus period
    • Builds a set containing each member either belonging to a matching group or having the matching period ('matching' means the 'period' attribute value equals the current period)
    • For each member: If the member's attribute 'inheritsFromGroupsNotificationCriteria' is true:
      • Retrieves all groups this member belongs to
      • For each group which has indeed a period that is equal to the current processed period:
        • Retrieves the notification selection criteria of the group and executes the query, whith 'member' as loggedMember attribute of the QueryHandler
        • Puts the result of the query in the publications set associated with this member via a member|publications Map (as these publications are gathered in a set, there is no doublon)
      For each query the user has chosen:
      • Apply the query to the set of changed or created publications
      • Matching publications are selected only if not previously selected
      • The map user|publications is completed
    • When all members have been processed, messages are sent.
    • Constructor Summary

      Constructors 
      Constructor Description
      NotificationThread​(int period)
      Constructor, creates a new notification thread for the specified period.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void run()  
      void start()
      Starts the Notification Thread.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait